Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лабораторная работа 6. Java переменные и типы данных



Для написания программ на языке Java необходимо знать его синтаксис. С этого урока мы начинаем знакомство с основами языка. В этом лабораторной работе мы рассмотрим:

  • что такое переменные в java и как их объявлять,
  • как правильно именовать переменные,
  • какие существуют типы данных в java:
    • примитивные типы данных,
    • объектные типы данных,
    • отдельно рассмотрим тип String.

Java переменные

В предыдущих уроках мы говорили о том, что класс в Java состоит из атрибутов и методов. Переменные могут быть атрибутами класса, параметрами метода или могут использоваться в программе для краткосрочного хранения данных. В языке Java все переменные должны быть объявлены, перед тем, как они будут использоваться.

Объявление переменных в java

Пример:

int x = 1; int y = 2;

При объявлении переменной, в следующей последовательности указываются:

  • тип данных (в данном примере — int — переменная содержит целое число),
  • имя переменной (в данном примере имена — x и y),
  • начальное значение переменной или, другими словами, инициализация переменной. В данном примере переменным x и y присвоены значения 1 и 2. Однако, это не является обязательным условием при объявлении переменной.

Пример: объявление переменных без инициализации:

int x; int y;

После каждой строки при объявлении переменных необходимо ставить точку с запятой «; ».

Если нужно объявить несколько переменных одного типа, то это также можно сделать одной строкой, указав имена переменных через запятую.

int x, y;

 

 

> Правила именования переменных в java

  1. Имя переменной должно начинаться с буквы (маленькой) и состоять из букв (Unicode) цифр и символа подчеркивания «_». Технически возможно начать имя переменной также с «$» или «_», однако это запрещено соглашением по оформлению кода в Java (Java Code Conventions). Кроме того, символ доллара «$», по соглашению, никогда не используется вообще. В соответствии с соглашением имя переменной должно начинаться именно с маленькой буквы (с заглавной буквы начинаются имена классов). Пробелы при именовании переменных не допускаются.
  2. Имя переменной не должно бытьключевым или зарезервированным словом языка Java.
  3. Имя переменной чувствительно к регистру. newVariable и newvariable — разные имена.
  4. При выборе имени переменных, следует использовать полные слова вместо загадочных аббревиатур. Это сделает ваш код более удобным для чтения и понимания. Во многих случаях это также сделает ваш код самодокументируемым.
  5. Если выбранное вами имя переменной состоит только из одного слова — запишите его маленькими буквами. Если оно состоит из более чем одного слова, то отделяйте каждое последующее слово в имени переменной заглавной буквой. Например: superCounter, myDomesticAnimal
  6. Если переменная сохраняет постоянное значение, то каждое слово следует писать заглавными буквами и отделять при помощи символа подчеркивания. Пример: static final int NUMBER_OF_HOURS_IN_A_DAY = 24

 

Типы данных в java

Каждая переменная и каждое выражение в Java обладает типом и этот тип строго определен.

Примитивные типы данных

В Java существует 8 примитивных типов данных:

  • byte (целые числа, 1 байт)
  • short (целые числа, 2 байта)
  • int (целые числа, 4 байта)
  • long (целые числа, 8 байтов)
  • float (вещественные числа, 4 байта)
  • double (вещественные числа, 8 байтов)
  • char (символ Unicode, 2 байта)
  • boolean (значение истина/ложь, 1 байт)

Эти 8 типов служат основой для всех остальных типов данных. Примитивные типы обладают явным диапазоном допустимых значений.

byte — диапазон допустимых значений от -128 до 127

//объявление переменных типа byte. byte getByte, putByte; // инициализация переменных getByte = 0; putByte = 0;

Переменные типа byte полезны при работе с потоком данных, который поступает из сети или файла.

short - диапазон допустимых значений от -32768 до 32767

//объявление и инициализация переменной типа short. short employeeID = 0;

int — диапазон допустимых значений от -2147483648 до 2147483647

//объявление и инициализация переменной типа int. int max = 2147483647;

Тип int используется чаще при работе с целочисленными данными, нежели byte и short, даже если их диапазона хватает. Это происходит потому, что при указании значений типа byte и short в выражениях, их тип все равно автоматически повышается до int при вычислении.

long — диапазон допустимых значений от -9223372036854775808 до 9223372036854775807

//Использование переменных типа long. long days = getDays(); long seconds; seconds = days * 24 * 60 * 60;

Тип удобен для работы с большими целыми числами.

float — диапазон допустимых значений от ~1, 4*10-45 до ~3, 4*1038

//Объявление и инициализация переменных типа float. float usd = 31.24; float eur = 44.03;

Удобен для использования, когда не требуется особой точности в дробной части числа.

double — диапазон допустимых значений от ~4, 9*10-324 до ~1, 8*10308

//Объявление и инициализация переменных типа float. double pi = 3.14159;

Математические функции такие как sin(), cos(), sqrt() возвращают значение double

char — символьный тип данных представляет собой один 16-битный Unicode символ. Он имеет минимальное значение ‘\ u0000′ (или 0), и максимальное значение ‘\ uffff’ (или 65535 включительно). Символы char можно задавать также при помощи соответствующих чисел. Например символ ‘Ы’ соответствует числу 1067. Рассмотрим на примере:

public static void main(String[] args) { char symb1=1067; char symb2 ='Ы'; System.out.println(" symb1 contains " + symb1); System.out.println(" symb2 contains " + symb2); }

Вывод этой программы будет:

symb1 contains Ыsymb2 contains Ы

Небольшой пример того, как узнать, какому числу соответствует символ. Основан на претиповании данных.

public static void main(String[] args) { char ch = 'J'; int intCh = (int) ch; System.out.println(" J corresponds with " + intCh); }

На выводе программа показывает, что символу 'J' соответствует число 74.

J corresponds with 74

boolean — предназначен для хранения логических значений. Переменные этого типа могут принимать только одно из 2х возможных значений true или false.

//Объявление и инициализация переменной типа boolean. boolean b = true;

 

 

Тип String

Тип String не является примитивным типом данных, однако это один из наиболее используемых типов в Java. String предназначен для хранения строк текста. Несколько примеров использования String

//Создание строки с помощью конструктора String myString = new String(" The weather was fine" ); //Можно также создать строку используя кавычки " " String myString = " The weather was fine";

Для строк определен оператор «+»

public static void main(String[] args) { String s1 = " I have "; String s2 = " apples "; int num = 3; String s = s1 + num + s2; System.out.println(s); }

Вывод программы.

I have 3 apples

 

Объектные типы

В объектные типы входят все классы, интерфейсы, массивы. Описанный выше тип String также относится к объектным типам. Этот тип из стандартной библиотеки Java. Стандартные библиотеки содержат множество типов.

Также существуют классы-оболочки:

  • Byte
  • Short
  • Integer
  • Long
  • Float
  • Double
  • Character
  • Boolean

В отличие от примитивных типов, они пишутся с заглавной буквы. Эти типы соответствуют примитивным типам, однако являются объектовыми. Их классы cодержат методы для преобразования типов, а также другие константы и методы полезные при работе с примитивными типами данных.

В качестве типа также выступает любой созданный нами класс при создании инстанции класса. Вспомним предыдущей лабораторной работе, где мы создали класс Cat, а потом создали переменную ourcat типа Cat при создании экземпляра класса.

Cat ourcat = new Cat();

На этом закончим наше знакомство с переменными и типами в Java.

Итак, в этом лабораторной работе мы узнали какие бывают типы данных, научились объявлять переменные. В следующем лабораторной работе рассмотрим приведение типов.

Лабораторная работа 7. Преобразование типов в Java.

Иногда возникают ситуации, когда имея величину какого-либо определенного типа, необходимо присвоить ее переменной другого типа. С переменными и их типами мы познакомились в предыдущей лабораторной работе, в этом лабораторной работе мы рассмотрим наиболее популярные преобразования типов в Java:

- Преобразование строки в число

- String to byte

- String to short

- String to int

- String to long

- String to float

- String to double

- String to boolean

- Преобразование числа в строку

- int to String

- double to String

- long to String

- float to String

- Преобразование символа char

- char to String

- char to int

- Преобразование чисел

- int to long

- int to float

- long to int

- double to int

Java преобразование строки в число (STRING to NUMBER)

В следующих примерах будет использована конструкция try-catch. Это необходимо для обработки ошибки, в случае, если строка содержит иные символы кроме чисел или число, выходящее за рамки диапазона допустимых значений определенного типа.

Например, строка «somenumber» не может быть переведена в тип int или в любой другой числовой тип. В это случае, при компеляции возникнет ошибка. Чтобы этого избежать, следует обезопаситься с помощью конструкции try-catch.

String to byte

C использованием конструктора

try { Byte b1 = new Byte(" 10" ); System.out.println(b1); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

С использованием метода valueOf класса Byte

String str1 = " 111"; try { Byte b2 = Byte.valueOf(str1); System.out.println(b2); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

С использованием метода parseByte класса Byte

byte b = 0; String str2 = " 100"; try { b = Byte.parseByte(str2); System.out.println(b); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

Перевод строки в массив байтов и обратно из массива байтов в строку

String str3 = " 20150"; byte[] b3 = str3.getBytes(); System.out.println(b3); //массив байтов переводим обратно в строку try { String s = new String(b3, " cp1251" ); System.out.println(s); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }

String to short

C использованием конструктора

try { Short s1 = new Short(" 68" ); System.out.println(s1); }catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода valueOf класса Short

String str1 = " 59"; try { Short s2 = Short.valueOf(str1); System.out.println(s2); }catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода parseShort класса Short

short s3 = 0; String str2 = " 100"; try { s3 = Short.parseShort(str2); System.out.println(s3); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

String to int

C использованием конструктора

try { Integer i1 = new Integer(" 20349" ); System.out.println(i1); }catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода valueOf класса Integer

String str1 = " 1451"; try { Integer i2 = Integer.valueOf(str1); System.out.println(i2); }catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода parseInt класса Integer

int i3 = 0; String str2 = " 102944"; try { i3 = Integer.parseInt(str2); System.out.println(i3); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

String to long

C использованием конструктора

try { Long l1 = new Long(" 11111111" ); System.out.println(l1); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода valueOf класса Long

String str1 = " 222222222"; try { Long l2 = Long.valueOf(str1); System.out.println(l2); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода parseLong класса Long

long l3 = 0; String str2 = " 333333333"; try { l3 = Long.parseLong(str2); System.out.println(l3); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

String to float

С использованием конструктора

try { Float f1 = new Float(" 123.5" ); System.out.println(f1); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода valueOf класса Float

String str1 = " 3.1415"; try { Float f2 = Float.valueOf(str1); System.out.println(f2); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода parseFloat класса Float

float f3 = 0; String str2 = " 36.6"; try { f3 = Float.parseFloat(str2); System.out.println(f3); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

String to double

С использованием конструктора

try { Double d1 = new Double(" 4.4e10" ); System.out.println(d1); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода valueOf класса Double

String str1 = " 564.6e10"; try { Double d2 = Double.valueOf(str1); System.out.println(d2); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

C использованием метода parseDouble класса Double

double d3 = 0; String str2 = " 13.7e10"; try { d3 = Double.parseDouble(str2); System.out.println(d3); } catch (NumberFormatException e) { System.err.println(" Неверный формат строки! " ); }

String to boolean

Преобразование строки в логический тип 2мя способами. Обратите внимание, что строка не соответствующая true, будет преобразована в логическое значение false.

String s1 = " True"; String s2 = " yes"; boolean bool1, bool2, boolean1, boolean2; //с использованием метода parseBoolean bool1 = Boolean.parseBoolean(s1); bool2 = Boolean.parseBoolean(s2); System.out.println( bool1 ); System.out.println( bool2 ); //c использованием метода valueOf boolean1 = Boolean.valueOf(s1); boolean2 = Boolean.valueOf(s2); System.out.println( boolean1 ); System.out.println( boolean2 );

Java преобразование числа в строку (NUMBER to STRING)

Int to String

int i = 35; String str = Integer.toString(i); System.out.println(str);

Double to String

double i = 32.4e10; String str = Double.toString(i); System.out.println(str);

Long to String

long i = 3422222; String str = Long.toString(i); System.out.println(str);

Float to String

float i = 3.46f; String str = Float.toString(i); System.out.println(str);

Преобразования символа char

Char to String

char ch = 'S'; // c использованием класса Character String charToString = Character.toString(ch); System.out.println(charToString); // с использованием операции добавления класса String String str = " " + ch; System.out.println(str); //с использованием массива String fromChar = new String(new char[] { ch }); System.out.println(fromChar); // с использованием метода valueOf класса String String valueOfchar = String.valueOf(ch); System.out.println(valueOfchar);

Char to int

char ch = '9'; // c использованием метода getNumericValue // класса Character int i1 = Character.getNumericValue(ch); System.out.println(i1); // c использованием метода digit класса Character int i2 = Character.digit(ch, 10); System.out.println(i2);

Преобразования чисел

Int to long

int i = 2015; long l = (long) (i); System.out.println(l);

Int to float

int i = 2015; float f = (float) (i); System.out.println(f);

Long to int

long l = 214748364; int i = (int) l; System.out.println(i);

Double to int

double d = 3.14; int i = (int) d; System.out.println(i);

обратите внимание на то, что после преобразования double в int отбрасывается дробная часть и остается только целое число. Так, в нашем примере, на консоль будет выведено число 3.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-03-17; Просмотров: 1866; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.046 с.)
Главная | Случайная страница | Обратная связь