Главная страница

Презентация по Программированию. Книга Программирование на Java для начинающих


Скачать 4.47 Mb.
НазваниеКнига Программирование на Java для начинающих
АнкорПрезентация по Программированию
Дата03.02.2022
Размер4.47 Mb.
Формат файлаpdf
Имя файла638767.pdf
ТипКнига
#350143
страница8 из 18
1   ...   4   5   6   7   8   9   10   11   ...   18
Совет
Обратите внимание, что оператор do предваряется условной проверкой, чтобы перед тем, как попытаться вывести значение первого элемента, убедиться, что массив не пустой.

4. Р
а
бо
т
а
с данными
74
Изменение значений
элемента
Значение любого элемента массива можно изменить, присвоив новое значение конкретному элементу, используя его индекс. К тому же, для того чтобы эффективно разместить элементы, хранящиеся в другом массиве, можно использовать любой тип цикла. Особенно это полезно при комбинировании данных из множественных массивов в один мас- сив объединенных данных.
1. Создайте новую программу с именем Elements, содержащую стан- дартный метод main.
class
Elements
{
public static void main ( String[] args ) { }
}
2. Добавьте в главный метод проинициализированный целочислен- ный массив, представляющий собой ежемесячные объемы продаж киоска по кварталам года.
int[] kiosk_q1 = { 42000 , 48000 , 50000 } ;
int[] kiosk_q2 = { 52000 , 58000 , 60000 } ;
int[] kiosk_q3 = { 46000 , 49000 , 58000 } ;
int[] kiosk_q4 = { 50000 , 51000 , 61000 } ;
3. Добавьте проинициализированные целочисленные массивы, пред- ставляющие собой ежемесячные продажи за четыре квартала года.
int[] outlet_q1 = { 57000 , 63000 , 60000 } ;
int[] outlet_q2 = { 70000 , 67000 , 73000 } ;
int[] outlet_q3 = { 67000 , 65000 , 62000 } ;
int[] outlet_q4 = { 72000 , 69000 , 75000 } ;
4. Теперь создайте пустой целочисленный массив из 12 элементов, в котором будут объединены все ежемесячные продажи, а также создайте целочисленную переменную, в которой будет записана общая величина объема продаж.
int[] sum = new int[ 12 ] ;
int total = 0 ;
JAVA
Elements.java

75
5. Добавьте цикл
for
, для того чтобы занести в каждый элемент пу- стого массива объединенное значение из других массивов.
for ( int i = 0 ; i < kiosk_q1.length ; i++ )
{
sum[ i ] = kiosk_q1[i] + outlet_q1[i] ;
sum[i+3] = kiosk_q2[i] + outlet_q2[i] ;
sum[i+6] = kiosk_q3[i] + outlet_q3[i] ;
sum[i+9] = kiosk_q4[i] + outlet_q4[i] ;
}
6. Теперь добавьте еще один цикл for для вывода каждого из объеди- ненных ежемесячных объемов продаж, а также вычисления общей суммы.
for ( int i = 0 ; i < sum.length ; i++ )
{
System.out.println(
"Месяц "+ ( i+1 ) + " объем продаж:\t" + sum[i] ) ;
total += sum[i] ;
}
7. Добавьте последний оператор в конец главного метода для вывода общей суммы (годового объема).
System.out.println( "ОБЩИЙ ОБЪЕМ ПРОДАЖ ЗА ГОД\t" + total );
8. Сохраните программу под именем Elements.java, затем скомпили- руйте и запустите.
На заметку
Счетчик увеличивается на единицу для того, чтобы произвести числа месяца от 1 до 12.

4. Р
а
бо
т
а
с данными
76
Добавление размеров
массива
В массивах можно хранить множественные наборы элементов, при- чем каждый из таких наборов станет иметь собственную размерность.
К отдельным значениям можно будет обращаться с помощью много- мерного массива, используя соответствующие индексы для каждой размерности, например num [1] [3].
Например, чтобы организовать бизнес-ежедневник с записями для каж- дого дня, потребуется массив из 52 элементов (один на неделю), каждый из которых содержит еще один массив из семи элементов (для каждого дня). Объявление такого массива будет выглядеть следующим образом:
int[][] dailyRecord = new int [52] [7] ;
Такой массив массивов обеспечивает элемент для каждого рабочего дня. Значения для каждого дня заносятся в многомерный массив с ука- занием соответствующего индекса для каждого размера. Например, чтобы задать значение для первого дня шестой недели, мы запишем:
dailyRecord [5] [0] = 5000 ;
Каждый массив содержит собственное свойство длины (length), к кото- рому можно обратиться, указав требуемую размерность. Например, для вышеуказанного массива выражение dailyRecord.length возвратит значение 52 — размер первого измерения. Чтобы найти размер второго измерения, выражение dailyRecord[0].length возвратит значение 7.
Двухмерные массивы часто используются для хранения координат, где первая размерность представляет координату по оси X, а вторая коор- дината — по оси Y, например point[3][5].
Трехмерные массивы могут использоваться для хранения коорди- нат XYZ аналогичным способом, но, конечно, запись point[4][8][2] сложнее для восприятия.
При организации многомерных массивов очень удобно пользоваться вложенными циклами — каждый уровень цикла может обращаться к элементам соответствующей размерности.
1. Создайте новую программу с именем Dimensions, содержащую стандартный метод main.
class
Dimensions
{
public static void main ( String[] args ) { }
}
Внимание
Старайтесь избегать размер- ности больше, чем три, — это может вас запутать.
JAVA
Dimensions.java

77
2. В главном методе создайте двухмерный массив для хранения коор- динаты XY.
boolean[][] points = new boolean[5][20] ;
3. Определите одну точку Y на каждой оси X.
points[0][5] = true ;
points[1][6] = true ;
points[2][7] = true ;
points[3][8] = true ;
points[4][9] = true ;
4. Для прохода по первому индексу массива добавьте цикл for, встав- ляя на каждой итерации символ новой строки.
for ( int i = 0 ; i < points.length ; i++ )
{
System.out.print( "\n" ) ;
}
5. Внутри фигурных скобок цикла for добавьте еще один цикл for для итерации по второму индексу массива.
for ( int j = 0 ; j < points[0].length ; j++ ) { }
6. Внутри фигурных скобок второго цикла for добавьте выраже- ние для вывода символов в соответствии с логическим значением элемента .
char mark = ( points[i][j] ) ? 'X' : '-' ;
System.out.print( mark ) ;
7. Сохраните программу под именем Dimensions.java, затем скомпи- лируйте и запустите.
На заметку
Логические переменные имеют по умолчанию значе- ние false.

4. Р
а
бо
т
а
с данными
78
Перехват исключений
В программах на этапе выполнения могут возникать проблемы, при- водящие к ошибкам (исключениям ), которые, в свою очередь, вызы- вают остановку выполнения программы. Очень часто причиной таких исключений является некорректный пользовательский ввод. Следова- тельно, хорошо продуманная программа должна попытаться учесть все возможные варианты, при которых пользователь может вызвать исключение на этапе выполнения.
Части кода, в которых возможно возникновение исключений, заключа- ются в специальные блоки операторов try catch. Такие блоки позво- ляют программе обрабатывать исключения, не приводя к остановкам, а выглядят они следующим образом:
try
{
операторы, где может возникнуть исключение
}
catch( Exception e )
{
операторы, обрабатывающие исключение
}
В скобках, следующих после ключевого слова catch, определяется класс исключения, которое нужно перехватить. Класс Exception является исключением верхнего уровня, он перехватывает все исключения. Ис- пользуя многочисленные операторы catch, можно перехватывать раз- личные классы исключений более низкого уровня.
Наиболее распространенные исключения — это NumberFormat-
Exception
, которое возникает, когда программа находит значение не- корректного типа, а также ArrayIndexOutOfBoundsException, которое возникает при попытке обращения к элементу массива с индексом, выходящим за пределы разрешенного диапазона. Для каждого из этих исключений полезно создавать отдельный ответ для объяснения поль- зователю природы возникшей ошибки.
Блок операторов try catch может быть расширен дополнительным необязательным блоком finally, содержащий код, который будет вы- полняться в любом случае, независимо от того, возникло исключение в программе или нет.
Совет
Метод e.getMessage() воз- вращает дополнительную информацию о перехвачен- ных исключениях.

79
1. Создайте новую программу с именем Exceptions, содержащую стандартный метод main.
class
Exceptions
{
public static void main ( String[] args ) { }
}
2. Внутри главного метода напишите оператор try, в котором будет выводиться единственный целочисленный аргумент.
try
{
int num = Integer.parseInt( args[0] ) ;
System.out.println( "Вы ввели: "+ num ) ;
}
3. Добавьте оператор
catch
, чтобы обработать исключение, кото- рое возникнет в том случае, если программа запускается без ар- гумента.
catch( ArrayIndexOutOfBoundsException e )
{ System.out.println( "Требуется целочисленный аргумент." ) ; }
4. Добавьте оператор
catch
для обработки исключения, которое воз- никнет в том случае, когда программа запускается с нечисловым аргументом.
catch( NumberFormatException e )
{ System.out.println( "Неверный формат аргумента." ) ; }
5. Добавьте оператор
finally
в конец программы.
finally
{ System.out.println( "Программа завершила работу.");}
6. Сохраните программу под именем Exceptions.java, затем скомпили- руйте и запустите, пытаясь вызвать исключения.
JAVA
Exceptions.java

4. Р
а
бо
т
а
с данными
80
Заключение

Любые числовые значения можно конвертировать в другие типы числовых данных с помощью приведения типов, а также к строко- вому типу, используя метод toString().
• Значение строкового типа может быть сконвертировано в цело- численное (int) с помощью метода Integer.parseInt(), а так- же в значение плавающего типа (float), используя метод Float.
parseFloat()

Массив — это переменная, которая может содержать множествен- ные значения, которые инициализируются списком внутри фигур- ных скобок.
• Пустой массив может быть создан при помощи ключевого сло- ва new.
• Свойство массива
length
содержит целочисленную величину, рав- ную числу элементов этого массива.

К любому элементу массива можно обращаться по его индексу.
• Главный метод программы создает строковый массив с именем
args
, в котором сохраняются аргументы командной строки.
• Первый аргумент командной строки автоматически сохраняется в элементе args[0].

Множественные аргументы, передаваемые в программу из команд- ной строки, должны быть разделены пробелом.

Циклы являются идеальным способом для того, чтобы прочитать значение, хранящееся в элементах массива.

Данные из нескольких массивов можно комбинировать и форми- ровать из них новый массив объединенных данных.
• Многомерные массивы могут содержать множественные наборы значений элементов, каждый из которых имеет свою размерность.
• Блок операторов
try catch
используется для обработки исключе- ний, возникающих на этапе исполнения.
• Класс Exception перехватывает все исключения, включая
NumberFormatException
и ArrayIndexOutOfBoundsException.
• Блок
try catch
может быть расширен оператором finally, содер- жащим код, который будет выполняться в любом случае.

5
5
Работа с данными
Работа с данными
В этой главе
В этой главе
демонстрируется, как
демонстрируется, как
управлять программными
управлять программными
данными, используя
данными, используя
различные методы из
различные методы из
библиотеки языка Java.
библиотеки языка Java.
• Изучение классов Java
• Изучение классов Java
• Математические
вычисления
• Математические
вычисления
• Округление
чисел
• Округление
чисел
• Генерация случайных чисел
• Генерация случайных чисел
• Управление
строками
• Управление
строками
• Сравнение
строк
• Сравнение
строк
• Поиск
строк
• Поиск
строк
• Обработка
символов
• Обработка
символов
• Заключение
• Заключение

5. Р
а
бо
т
а
с данными
82
Изучение классов Java
Язык Java содержит обширную библиотеку протестированного кода, который размещен в так называемых пакетах («packages»). Основным пакетом языка Java является пакет java.lang, который по умолчанию имеет доступ к прикладному программному интерфейсу Java (Java
API ). Это означает, что при создании программ всегда доступны свой- ства и методы, предоставляемые пакетом java.lang. Например, функ- циональность стандартного вывода, предоставляемая методом System.
out.println()
, на самом деле вызывает метод класса System, который является частью пакета java.lang.
Содержимое пакета организовано в иерархическом порядке, который позволяет обращаться к любому его элементу, используя точечную за- пись . Например, класс System содержит свойство out (поле), которое, в свою очередь, включает метод println() — к нему можно обратиться как System.out.println().
Для того чтобы изучить подробнее классы в Java, можно обратиться к документации, которая предоставляет информацию о любом до- ступном элементе. Документация доступна во Всемирной паутине по адресу docs.oracle.com/javase/8/docs/api. Также вы можете ее скачать для офлайн-изучения. Объем документации достаточно большой, но познакомиться с ней все равно стоит. Для начала полезно ознакомить- ся со страницей API Overview (Обзор API-функций), которая содержит список всех пакетов с их кратким описанием.
1. Запустите веб-браузер и откройте страницу обзора API-функций по адресу docs.oracle.com/javase/8/docs/api.
На заметку
Вы можете щелкнуть мышью по ссылке Frames, чтобы просматривать докумен- тацию в мультиоконном режиме.

83
2. Просмотрите перечисленные в алфавитном порядке пакеты на вкладке Overview, затем пролистайте вниз, найдите пакет java.
lang
и щелкните по его ссылке.
3. Просмотрите перечисленные в алфавитном порядке классы в раз- деле Class Summary на соответствующей странице, прокрутите страницу вниз и, найдя класс Math, щелкните по его гиперссылке.
4. Просмотрите все методы данного класса, перечисленные в алфа- витном порядке в разделе Method Summary, затем щелкните на любой из гиперссылок, чтобы ознакомиться с синтаксисом кон- кретного метода и его назначением.
5. Щелкните на элементе Package в меню страницы, чтобы возвра- титься к странице пакета java.lang и изучить другие классы.
Совет
Изучите информацию, до- ступную по другим ссылкам в меню, чтобы ознакомиться с документацией ближе.

5. Р
а
бо
т
а
с данными
84
Математические
вычисления
В пакете java.lang существует класс Math, который предоставляет две константы , используемые для математических вычислений. Первая из них — Math.PI — хранит значение числа Pi, а вторая — Math.E — хра- нит основание натурального логарифма. Обе константы имеют тип
double
(двойной точности, с 15 знаками после запятой).
1. Создайте новую программу с именем Pi, содержащую стандартный метод main.
class
Pi
{
public static void main ( String[] args ) { }
}
2. Внутри главного метода объявите и проинициализируйте пере- менную типа float из аргумента командной строки, а также вто- рую переменную типа float, которую нужно получить с помощью приведения типов из константы Math.PI.
float radius = Float.parseFloat( args[0] ) ;
float shortPi = (float) Math.PI ;
3. Проведите математические вычисления, используя приведенные зна- чения и присваивая результаты еще двум переменным типа float.
float circ = shortPi * ( radius + radius ) ;
float area = shortPi * ( radius * radius ) ;
4. Выведите значение константы Math.PI, а также ее эквивалента, при- веденного к типу float, затем выведите результаты вычис лений.
System.out.print(
"Если число Пи рассчитано в диапазоне от " + Math.PI ) ;
System.out.println( " до " + shortPi + "..." ) ;
System.out.println( "Окружность с радиусом " + radius + " см");
System.out.print( "имеет длину " + circ + " см" ) ;
System.out.println( " и площадь " + area + " кв.см" ) ;
5. Сохраните программу под именем Pi.java, затем скомпилируйте и запустите.
Вышеуказанный класс Math предоставляет множество различных мето- дов, полезных для выполнения математических вычислений. Например, используя метод Math.pow(), можно любое заданное число возвести в ука- занную степень. Первым аргументом является число, заданное в скобках, а вторым — показатель степени, в которую нужно возвести.
1   ...   4   5   6   7   8   9   10   11   ...   18


написать администратору сайта