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

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


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

4. Р
а
бо
т
а
с данными
64
Преобразование типов
В программировании на Java при работе со значениями следует вни- мательно учитывать типы данных во избежание ошибок компиляции .
Например, если методу , который требует значение типа int, передать переменную типа float, то это приведет к ошибке компилятора . Это означает, что зачастую для того, чтобы обрабатывать данные, их нужно конвертировать из одного типа в другой.
Числовые значения можно легко преобразовывать (приводить) из одного числового типа данных в другой, используя синтаксис:
(
тип-данных ) значение
Необходимо понимать, что при приведении типов данных может про- исходить некоторая потеря точности. Так случается, например, при преобразовании числа с плавающей точкой (float) в целое число (int), поскольку значение после десятичной точки будет отбрасываться. На- пример, приведение значения 9.9 к целочисленному типу выдаст в ре- зультате значение 9.
Значения символьного типа данных (char) могут быть автоматически использованы в качестве значений целочисленного типа (int), потому что каждый из них имеет уникальное целочисленное представление, а именно числовой код ASCII , поддерживаемый компилятором Java.
Например, латинская буква A имеет числовой код 65.
Числовые значения могут быть преобразованы к строковому типу
(String) при помощи метода toString(). Он в качестве аргумента в сво- их скобках принимает числовое значение. Например, преобразование целочисленной переменной num к строковому типу имеет вид Integer.
toString(num)
. Аналогично преобразование переменной плавающего типа num в строковую будет иметь вид Float.toString(num). На самом деле такие преобразования не всегда требуются, поскольку, например, объединение двух переменных в строку, если одна из них имеет стро- ковый тип, происходит автоматически.
С большей вероятностью вам будет нужно преобразовывать величи- ны строкового типа в числа, чтобы потом использовать их в арифме- тических вычислениях. Значение строкового типа может быть преоб- разовано в целочисленное при помощи метода Integer.parseInt().
Данный метод принимает строковую переменную в качестве аргумента в своих скобках. Например, преобразование строковой переменной
msg
в целое число будет иметь вид Integer.parseInt(msg). Аналогично для переменной с плавающей точкой — Float.parseFloat(msg). При преобразовании строковой величины в числовой тип данных строка должна содержать действительное числовое значение, иначе компиля- тор сообщит об ошибке.
На заметку
Все числовые классы имеют метод parse... и toString, позволяющие преобразовы- вать строковые и числовые значения.

65
1. Создайте новую программу с именем Convert, содержащую стан- дартный метод main.
class
Convert
{
public static void main ( String[] args ) { }
}
2. Внутри главного метода объявите и проинициализируйте одну строковую переменную и одну переменную с плавающей точкой.
float daysFloat = 365.25f ;
String weeksString = "52" ;
3. Преобразуйте переменную с плавающей точкой в целочисленную.
int daysInt = (int) daysFloat ;
4. Преобразуйте строковую переменную в целочисленную.
int weeksInt = Integer.parseInt( weeksString ) ;
5. Произведите арифметические действия над преобразованными значениями и выведите результат.
int week = ( daysInt / weeksInt ) ;
System.out.println( "Дней в неделе: " + week ) ;
6. Сохраните программу под именем Convert.java, затем скомпили- руйте и запустите.
JAVA
Convert.java

4. Р
а
бо
т
а
с данными
66
Создание массивов
переменных
Массив — это простая переменная, которая может содержать несколь- ко значений, в отличие от обычной переменной, содержащей един- ственное значение.
Объявление массива включает в себя тип данных с использованием клю- чевых слов, обозначающих типы данных, после которого следуют ква- дратные скобки, обозначающие, что это будет массив. Затем в объявле- нии стоит имя массива в соответствии с договоренностями именования.
Массив можно проинициализировать при объявлении, присвоив зна- чение соответствующего типа данных, записанное в фигурные скобки и разделенное запятыми. Например, объявление целочисленного мас- сива, проинициализированного тремя значениями, может выглядеть следующим образом:
int[ ] numbersArray = { 1, 2, 3 } ;
При этом создается массив длиной, равной количеству элементов, ука- занных в списке . В данном случае массив состоит из трех элементов .
Значения элементов сохраняются в массиве под порядковыми номера- ми (индексами ), по которым можно обратиться к этим элементам. Для обращения к элементам следует написать имя массива и соответствую- щий индекс элемента в квадратных скобках. Элементы индексируются, начиная с нуля. Например, чтобы обратиться к первому элементу из массива, указанного выше, мы запишем numbersArray[0].
Несмотря на то, что значения, хранящиеся в каждом элементе массива, могут быть изменены так же, как обычная переменная, размер массива определяется при объявлении и не может быть изменен впоследствии.
Общее число элементов в массиве можно узнать, если обратиться к свой- ству массива length. Для этого нужно записать через точечную запись
«имя массива.length». Например, numbersArray.length возвратит раз- мер массива, приведенного выше, в данном случае целое число 3.
Массивы могут быть объявлены также и без присвоения начальных значений элементам. Это можно сделать при помощи ключевого слова
new
, создавая пустой «объект» массива указанного размера. Число тре- буемых элементов указывается в присваивании внутри квадратных ско- бок после типа данных. Например, объявление пустого целочисленного массива с тремя элементами может выглядеть следующим об разом:
int[ ] numbersArray = new int[3] ;
Во время создания пустого массива элементам присваиваются значе- ния в зависимости от типов данных: для типов int и float — 0, для
Внимание
Не забывайте, что массив ин- дексируется, начиная с нуля.
Это означает, что index[2] обращается к третьему элементу массива, а не ко второму.

67
типа String — значение null, для типа char\0, а для типа boolean — значение false.
1. Создайте новую программу с именем Array, содержащую стандарт- ный метод main.
class
Array
{
public static void main ( String[] args ) { }
}
2. Внутри главного метода объявите и проинициализируйте строко- вый массив из трех элементов.
String[] str = { "Java ", "Хороший", " Язык" } ;
3. Объявите пустой целочисленный массив с тремя элементами.
int[] num = new int[3] ;
4. Присвойте значения первым двум элементам целочисленного мас- сива.
num[0] = 100 ;
num[1] = 200 ;
5. Присвойте новые значения второму элементу строкового массива.
str[1] = "Лучший" ;
6. Выведите длину каждого массива и содержимое всех элементов.
System.out.println( "Размер строкового массива " + str.length );
System.out.println(
"Размер целочисленного массива "+ num.length);
System.out.println( num[0] + "," +num[1]+ ","+num[2] ) ;
System.out.println( str[0] + str[1] + str[2] ) ;
7. Сохраните программу под именем Array.java, затем скомпилируйте и запустите.
JAVA
Array.java
На заметку
Строковые переменные должны быть заключены в кавычки.

4. Р
а
бо
т
а
с данными
68
Передача аргументов
Код на Java, объявляющий стандартный метод main, включает внутри своих скобок аргумент, который создает строковый массив с именем
args
:
public static void main( String[] args ) { }
Основное назначение массива args[] — передавать значения (аргу- менты) в программу при ее вызове. Значения, которые нужно передать в программу, добавляются в командную строку при вызове программы после ее имени. Например, команда, которая передаст строку Java ко- манде с именем Run, будет выглядеть так: Run Java.
Одно значение, переданное в программу, автоматически помещается в первый элемент массива args[]. Тем самым, к нему можно обратить- ся в виде args[0].
Важно знать, что массив args[] содержит строковый тип данных, поэтому любое числовое значение, переданное в программу, будет со- храняться как строковое представление этого числа. Это означает, что программа не сможет использовать данное значение в арифметической операции до тех пор, пока его не преобразовать к числовому типу дан- ных, например int. Например, Run 4 передает число 4 в программу, которая сохраняется как строковое значение "4", а не как целочис- ленное 4. Следовательно, результат выполнения выражения args[0]+3 выдаст объединенную строку "43", а не сумму 7. Но с помощью пре- образования, используя метод Integer.parseInt(), можно получить требуемый результат, если вам нужна сумма.
Строку, содержащую пробелы, можно передавать в программу как одно строковое значение, заключив всю эту строку в двойные кавычки.
Например, Run "Java In Easy Steps".
Передача аргументов в программу может, например, использоваться для того, чтобы указывать опции запуска конкретной программы. Оп- ция передается в программу в виде строкового значения args[0] и мо- жет быть впоследствии оценена с помощью метода String.equals().
Например, args[0].equals("b") сравнивает аргумент со строковым значением "b".

69
1. Создайте новую программу с именем Option, содержащую стан- дартный метод main.
class
Option
{
public static void main ( String[] args ) { }
}
2. Внутри главного метода напишите оператор if, в котором произ- ведите поиск аргумента с именем "-en".
if ( args[0].equals( "-en" ) )
{
System.out.println( "Опция для Английского языка" ) ;
}
3. Добавьте альтернативную ветку else к оператору if для поиска ар- гумента "-es".
else if ( args[0].equals( "-es" ) )
{
System.out.println( "Опция для Испанского языка" ) ;
}
4. Добавьте еще одну альтернативную ветку else для вывода ответа по умолчанию.
else System.out.println( "Неизвестная опция" ) ;
5. Сохраните программу под именем Option.java, затем скомпилируй- те и запустите.
JAVA
Option.java

4. Р
а
бо
т
а
с данными
70
Передача множественных
аргументов
С помощью командной строки в программу можно передать несколько аргументов, которые следуют после имени программы и пробела. Ар- гументы должны отделяться, по крайней мере, одним пробелом, а их значения помещаются в элементы массива args[]. После этого к каж- дому из значений можно обращаться по индексу, равно как и к любому другому элементу массива, — args[0] для первого аргумента, args[1] для второго аргумента и так далее.
Чтобы убедиться, что пользователь ввел необходимое количество аргу- ментов, программе нужно проверить свойство length массива args[].
Если проверка не дала необходимого результата, можно использовать ключевое слово return для выхода из главного метода, тем самым про- изведя выход из программы.
1. Создайте новую программу с именем Args, содержащую стандарт- ный метод main.
class
Args
{
public static void main ( String[] args ) { }
}
2. Внутри главного метода введите условный оператор if для провер- ки количества введенных аргументов и вывода соответствующего сообщения, а также выхода из программы в случае, если количе- ство аргументов не соответствует требуемому — в данном случае трем.
if ( args.length != 3 )
{
System.out.println( "Неверное число аргументов" ) ;
return
;
}
3. После оператора
if
создайте две целочисленные переменные и про- инициализируйте их значениями первого и третьего аргументов соответственно.
int num1 = Integer.parseInt( args[0] ) ;
int num2 = Integer.parseInt( args[2] ) ;
JAVA
Args.java

71
4. Добавьте строковую переменную, проинициализировав ее значе- нием объединения всех трех аргументов.
String msg = args[0] + args[1] + args[2] + "=" ;
5. Добавьте оператор
if else
, выполняющий арифметические дей- ствия над аргументами и объединяющий результат в переменной строкового типа.
if ( args[1].equals("+") ) msg += (num1 + num2);
else if ( args[1].equals("-") ) msg += (num1 - num2);
else if ( args[1].equals("x") ) msg += (num1 * num2);
else if ( args[1].equals("/") ) msg += (num1 / num2);
else msg = "Неправильный оператор" ;
6. Добавьте следующую строку в конец главного метода для вывода получившейся строки.
System.out.println( msg ) ;
7. Сохраните программу под именем Args.java, затем скомпилируйте и запустите с тремя аргументами — целым числом, любым сим- волом арифметической операции (+, -, х и /) и еще одним целым числом .
8. Перезапустите программу с некорректным вторым аргументом и с неверным числом аргументов.
Совет
Ключевое слово return ис- пользуется для выхода из текущего метода. Оно также может возвращать значение в точку, где метод был вы- зван (см. главу 6).
Совет
Программа сообщит об ошибке, если введены не числовые значения. Подроб- нее об обработке ошибок см. в конце этой главы.

4. Р
а
бо
т
а
с данными
72
Обход элементов в цикле
Для того чтобы прочитать все значения, хранящиеся в элементах мас- сива, можно использовать любые типы циклов . Счетчик цикла должен начинаться с индекса первого элемента массива и возрастать до индекса последнего элемента. Заметьте, что индекс последнего элемента в мас- сиве всегда будет на единицу меньше, чем длина массива, поскольку индексы начинаются с нуля.
Весьма полезным считается использованием свойства массива length
(длина) для условной проверки, определяющей, когда цикл должен за- вершить свою работу. Это значит, что цикл будет продолжаться до тех пор, пока счетчик не превысит значение индекса последнего элемента.
1. Создайте новую программу с именем Loops, содержащую стандарт- ный метод main.
class
Loops
{
public static void main ( String[] args ) { }
}
2. Внутри главного метода напишите условный оператор, выполняю- щий проверку того, введены ли какие-либо аргументы из команд- ной строки в массив args[].
if ( args.length > 0 ) { }
3. Добавьте внутри фигурных скобок условного оператора цикл for для вывода значений, хранящихся в каждом элементе.
for ( int i = 0 ; i < args.length ; i++ )
{
System.out.println( "args[" +i+ "] - | "+ args[i] ) ;
}
4. Сохраните программу под именем Loops.java, затем скомпилируй- те и запустите с аргументами Java In Easy Steps.
JAVA
Loops.java

73
5. Отредактируйте файл Loops.java, добавив строковый массив, а также цикл while для вывода значений, хранящихся в каждом элементе .
String[] htm = { "HTML5", "in", "easy", "steps" } ;
int j = 0 ;
while ( j < htm.length )
{
System.out.println( "htm[" +j+ "] - | " + htm[j] ) ;
j++
;
}
6. Сохраните изменения, затем заново скомпилируйте и запустите программу.
7. Отредактируйте файл Loops.java, добавив еще один строковый массив, а также цикл do while для вывода значений, хранящихся в каждом элементе.
String[] xml = { "XML", "in", "easy", "steps" } ;
int k = 0 ;
if ( xml.length > 0 ) do
{
System.out.println( "\t\txml["+k+"] - | "+xml[k] ) ;
k++
;
} while ( k < xml.length ) ;
8. Сохраните изменения, затем заново скомпилируйте и запустите программу.
1   2   3   4   5   6   7   8   9   10   ...   18


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