ЛР3 Операции над примитивными типами. Библиотеки API. Импорт библиотек. Ввод исходных данных с клавиатуры




ЛР2

Вывод в Консоль

System.out.print(“Счастливое число “ + 7) – НЕ ПЕРЕХОДИТ после печати в новую строку

System.out.println(“Счастливое число “ + 7) – ПЕРЕХОДИТ после печати в новую строку

Управляющая последовательность (Escape sequence)

Заключая большинство печатных символов в одинарные кавычки, можно обращаться с ними как с символьными константами, но для непечатных символов, например возврата каретки, требуется специальное символьное представление. Кроме того, некоторые знаки, например одинарные и двойные кавычки, имеют специальное назначение, и поэтому их нельзя непосредственно указывать в качестве литерала. По этой причине в языке Java предусмотрены специальные управляющие последовательности, начинающиеся с обратного слэша (и нередко называемые константами с обратной косой чертой). Эти последовательности перечислены в табл. 2.2.

Одинарная кавычка \’ будет напечатано ‘

Двойная кавычка \" будет напечатано "

Обратная косая черта \\ будет напечатано \

Возврат каретки \r

Перевод строки \n

Перевод страницы \f

Горизонтальная табуляция \t

Возврат на одну позицию \b

Примеры

System.out.print(“\”Счастливое\” число “ + 7) будет напечатано: ”Счастливое” число 7

System.out.print(“\”Счастливое\”\n число \n” + 7) будет напечатано: ”Счастливое”

число

Встроенные типы данных. Приведение типов

В основу языка Java положено восемь простых типов данных, приведенных в табл. (их также называют элементарными, или примитивными). Термин простые указывает на то, что эти типы данных являются не объектами, а обычными двоичными значениями.

Обычные операции для типа    
& && | ||!     + - * / + - * / %  

Автоматическое преобразование типов осуществляется, если оба типа совместимы и длина целевого типа больше длины исходного типа. В этом случае происходит преобразование с расширением. Вы всегда можете преобразовать любое число типа byte в число типа int.

Например, в коде

byte n = 30;

int b;

b=n;

такая операция произойдёт без вашего участия автоматически - в последней инструкции переменная n сначала будет расширена до int и только потом ее значение будет присвоено переменной b!

Замечание о типе char

Переменная типа char хранит в себе код символа, так что если char b = ‘X‘; то в b будет 88 – код символа Х в коде ASCII

 

Схема автопреобразований выглядит следующим образом.

Сплошные линии обозначают преобразования, выполняемые без потери данных. Штриховые линии говорят о том, что при преобразовании может произойти потеря точности.

Типы целых чисел и чисел с плавающей точкой совместимы частично. Например, число 5 вполне может быть числом с плавающей точкой (5.0).

Совсем не совместимы, например, char и boolean.

Процесс автоматического преобразования типов подчиняется нескольким базовым правилам:

· Типы переменных, входящих в выражение, должны быть совместимыми.

Например, целое число можно преобразовать в формат действительного числа, чего не скажешь о текстовой строке.

· ‰Целевой тип (тип, к которому выполняется приведение) должен быть «шире» исходного типа. Другими словами, преобразование должно выполняться без потери данных.

· Перед выполнением арифметической операции типы byte, short и char расширяются до типа int.

· Если в выражении есть операнды типа long, то расширение осуществляется до типа long.

· Если в выражении есть операнды типа float, то расширение осуществляется до типа float.

· Если в выражении есть операнды типа double, то расширение осуществляется до типа double.

К этим правилам следует добавить не менее важные правила интерпретации литералов. Действительно, как следует рассматривать, например, число (литерал) 2? Как значение типа int, типа long или, например, типа double?

Следующие правила дают ответы на подобные вопросы.

· ‰Литералы, обозначающие целые числа, интерпретируются как значения типа int.

· ‰Литералы, обозначающие действительные числа, интерпретируются как значения типа double.

· Если используется оператор + и один из операндов имеет тип String, то Java все конвертирует в String

 

 

Рассмотрим вариант, когда все-таки нужно преобразовать число типа int в число типа byte. Преобразование автоматически невозможно, поскольку byte меньше int. Но, например, число 99 вполне можно использовать и как int и как byte. В этом случае используется явное приведение типов, то есть преобразование из одного типа в другой (преобразование с сужением).

Выглядит это следующим образом:

 

int a;

byte b;

// какие-то операции с переменной а

b = (byte) a;

Как видите, вы в скобках указываете тип, к которому нужно явно привести переменную.

 

 

Литерал

Литералом называется непосредственное представление в коде значения какого либо типа данных.

Например, в строке кода int f = 234; литералом будет 234

в строке кода int а = 2.344; литералом будет 2.344 (представляет число с плавающей точкой двойной точности)

System.out.print(“Привет”); литералом будет Привет.

 

 


ЛР3 Операции над примитивными типами. Библиотеки API. Импорт библиотек. Ввод исходных данных с клавиатуры

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-15 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: