Глава 3: примитивные типы и операции с ними в Java

77,259 views

Published on

2 Comments
22 Likes
Statistics
Notes
  • Без примеров слайды вообще ни о чем
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Неужели сложно после каждого слайда написать примеры, как это выглядит в коде???
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
77,259
On SlideShare
0
From Embeds
0
Number of Embeds
126
Actions
Shares
0
Downloads
189
Comments
2
Likes
22
Embeds 0
No embeds

No notes for slide

Глава 3: примитивные типы и операции с ними в Java

  1. 1. Глава 3. Примитивные типы данных и операторы для работы с ними● Булевский (логический) тип● Целые типы, переменные, константы● Основные операторы для работы с целочисленными величинами● Вещественные типы и класс Math● Правила явного и автоматического преобразования типа при работе с числовыми величинами● Оболочечные классы. Упаковка (boxing) и распаковка (unboxing)● Приоритет операторов● Типы-перечисления ( enum) Курс подготовлен при поддержке Sun Microsystems Правила использования материалов опубликованы на www.sun.ru
  2. 2. Булевский (логический) тип и логические операторы● Логические операторы:  && -“И”  || - “ИЛИ”  ^ - “Исключающее ИЛИ”  ! - “НЕ”● Логические выражения в Java вычисляются в соответствии с укороченным оцениванием. Принимают значения true или false.● Операторы сравнения применимы к любым величинам a и b одного типа, а также к произвольным числовым величинам a и b, не обязательно имеющим один тип:  == -“равно”  != - “не равно”  < - “меньше”  > - “больше”● Оператор принадлежности instanceof .
  3. 3. Целые типы● byte : -128..127; байтовое целое со знаком● short : - 32768.. 32767; короткое целое● char : u0000..uFFFF=0.. 65535; символ (беззнаковое 16- битное целое)● int : - 2.147483648E9.. 2.147483647E9; целое число (32- битное целое со знаком)● long : -9.22337203685478E18.. 9.22337203685478E18; длинное целое (64- битное целое со знаком)
  4. 4. Целые типы, переменные, константы● Для задания в тексте программы численных литерных констант типа long, выходящих за пределы диапазона чисел типа int, после написания числа следует ставить постфикс – букву L или l.● Константами называются именованные ячейки памяти с неизменяемым содержимым. Объявление констант осуществляется в классе, при этом перед именем типа константы ставится комбинация зарезервированных слов public и final.
  5. 5. Основные операторы для работы с целочисленными величинами I● + Оператор сложения i+j● – Оператор вычитания i-j● * Оператор умножения i*j● / Оператор деления i/j● % Оператор остатка от целочисленного деления i%j
  6. 6. Основные операторы для работы с целочисленными величинами II● = Присваивание v=i● ++ Инкремент (увеличение на 1) v++● -- Декремент (уменьшения на 1) v- -● += v+=i● -= v-=i● *= v*=i● /= v/=i● %= v%=i
  7. 7. Вещественные типы● float 4 байта1.5*E-45..3.4E38 “Одинарная” точность, 7-8 значащих десятичных цифр мантиссы. Тип real*4 стандарта IEEE754● double 8 байт 5E-324..1.7E308 “Двойная” точность, 15..16 значащих цифр мантиссы. Тип real*8 стандарта IEEE754
  8. 8. Функции класса Math● Математические функции, а также константы “пи” (Math.PI) и “е” (Math.E ) заданы в классе Math, находящемся в пакете java.lang .● sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y, x), toRadians(angdeg), toDegrees(angrad)● exp(x), expm1(x), log(x), log10(x), log1p(x), sqrt(x), cbrt(x), hypot(x,y), pow(x, y), sinh(x), cosh(x), tanh(x)
  9. 9. Функции класса Math● abs(m), abs(x), signum(a), signum(x), min(m,n), min(x,y), max(m,n), max(x,y)● ceil(x), floor(x), round(a), round(x), rint(x), ulp(a), ulp(x)● random()● IEEEremainder(x,y)
  10. 10. Правила преобразования типа● Целочисленные вычисления проводятся на аппаратном уровне только с величинами типа int или long. Величины типа byte, short или char сначала преобразуются в int, после чего производится их подстановка в качестве операндов. Если один из операндов типа long, другой целочисленный операнд автоматически преобразуется к этому типу, и действия производятся с числами типа long.● Если один из операндов типа double, а другой float, значение float автоматически преобразуется к типу double, и действия производятся с числами типа double.● Если один из операндов целочисленный, а другой вещественный, сначала идёт преобразование целочисленного операнда к такому же вещественному типу, а потом выполняется оператор.
  11. 11. Оболочечные классы● Каждому примитивному типу сопоставляется оболочечный класс. В общем случае они имеют те же имена, что и примитивные типы, но начинающиеся не со строчной, а с заглавной буквы. Исключение составляют типы int и char, для которых имена оболочечных классов Integer и Character.● Основное назначение оболочечных классов – создание объектов, являющихся оболочками над значениями примитивных типов. Процесс создание такого объекта (“коробки” - box) из значения примитивного типа называется упаковкой (boxing), а обратное преобразование из объекта в величину примитивного типа – распаковкой (unboxing). Упаковка и распаковка для числовых классов осуществляется автоматически.● Константы и методы : Integer.MIN_VALUE, Integer.MAX_VALUE, Float.MIN_VALUE , Float.MAX_VALUE, Double.MIN_VALUE , Double.MAX_VALUE, Integer.parseInt(строка), Long.parseLong(строка), Float.parseFloat(строка), Double.parseDouble(строка) и т.п.
  12. 12. Приоритет операторов● В Java имеется 15 уровней приоритета операторов. В хорошо написанной программе ставятся скобки, повышающие читаемость программы, даже если они не нужны с точки зрения таблицы приоритетов.● 1высший Постфиксные; 2 Унарные; 3 Создания объектов и преобразования типа; 4 Мультипликатив-ные; 5 Аддитивные; 6 Сдвиги битов; 7 Отношения; 8 Эквивалентности; 9 Побитовое И; 10 Побитовое исключающее ИЛИ; 11Побитовое ИЛИ; 12 Логическое И; 13Логическое ИЛИ; 14 Условный; 15низший Присваивания
  13. 13. Перечисления● Иногда требуется использовать элементы, которые не являются ни числами, ни строками, но ведут себя как имена элементов и одновременно обладают порядковыми номерами. Например, названия месяцев или дней недели. В этих случаях используют перечисления.● Пример задания типа: enum Spring { march, apr, may };● Доступ к элементу перечисления осуществляется с квалификацией именем типа-перечисления: ИмяТипа.имяЭлемента . Пример: Spring.March● Задание переменных: Spring spr1=Spring.apr, spr2;

×