- Главная
- Информатика
- Java. Переменные и значения. (Лекция1)
Содержание
- 2. Типы, значения, объекты, ссылки. Значения (объекты): Занимают область памяти; Имеют тип. Переменные (именованные участки памяти небольшого
- 3. Переменные, присваивания. Некоторые значения или объекты доступны всегда непосредственно. Они не меняются с течением времени (константы).
- 4. Типы данных. Иерархия типов. Типы примитивные объектные целые вещественные символьные логические byte short int long float
- 5. Простые программы. Операции, присваивание, управление. С помощью операций можно получить новые значения из имеющихся или изменить
- 6. Исполнение операций. Объектно-ориентированная и процедурная парадигмы. Процедурная парадигма: операции и функции выполняются над пассивными операндами, в
- 7. Присваивание. Преобразование типов. Присваивание возможно только тогда, когда тип переменной совпадает с типом присваиваемого значения. int
- 9. Скачать презентацию
Слайд 2Типы, значения, объекты, ссылки.
Значения (объекты):
Занимают область памяти;
Имеют тип.
Переменные (именованные участки
Типы, значения, объекты, ссылки.
Значения (объекты):
Занимают область памяти;
Имеют тип.
Переменные (именованные участки
Занимают область памяти размером от 1 до 8 байтов;
Имеют имя и тип;
Могут содержать значение или ссылку на объект (в зависимости от типа).
25
byte school
String text
Мой дядя...
Plane airbus
Long: 15º25'12” E
Lat: 4º12'50” N
Alt: 15,380 ft
Слайд 3Переменные, присваивания.
Некоторые значения или объекты доступны всегда непосредственно. Они не меняются с
Переменные, присваивания.
Некоторые значения или объекты доступны всегда непосредственно. Они не меняются с
Для того, чтобы работать со значениями, надо:
1) “описать” переменную, задав ее тип;
2) “присвоить” ей значение.
byte school; // Описание переменной типа byte с именем school.
String text; // Описание переменной типа String с именем text.
Plane airbus; // Описание переменной типа Plane с именем airbus.
school = 25; // Присваивание константы-числа.
text = “Мой дядя...”; // Присваивание константы-строки.
airbus = new Plane(); // Присваивание “вновь созданного” объекта типа Plane.
byte school = 25; // Описание, совмещенное с присваиванием.
String text = “Мой дядя...”; // Описание, совмещенное с присваиванием.
Plane airbus = new Plane(); // Описание, совмещенное с присваиванием.
Слайд 4Типы данных. Иерархия типов.
Типы
примитивные
объектные
целые
вещественные
символьные
логические
byte
short
int
long
float
double
char
boolean
массивы
“простые” типы
строки
String
Огромное
разнообразие
прочих типов
Типы данных. Иерархия типов.
Типы
примитивные
объектные
целые
вещественные
символьные
логические
byte
short
int
long
float
double
char
boolean
массивы
“простые” типы
строки
String
Огромное
разнообразие
прочих типов
Слайд 5Простые программы.
Операции, присваивание, управление.
С помощью операций можно получить новые значения из имеющихся
Простые программы.
Операции, присваивание, управление.
С помощью операций можно получить новые значения из имеющихся
имеющихся объектов.
С помощью присваиваний можно запомнить полученные значения для того, чтобы использовать
их в дальнейшем.
С помощью управления можно задавать последовательность исполнения операций
и присваиваний.
class TestProgram {
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
n = 25 – n;
System.out.format("Получили число %d\n", n);
}
}
Операция Integer.parseInt задана в виде функции и преобразует строку в целое число.
Операция “-” задана в виде бинарного оператора и вычисляет новое значение по заданным.
Операция System.out.format задана в виде метода объекта System.out, формирует строку
из заданных значений и других строк и выводит результат на консоль.
В переменной n последовательно запоминаются два разных значения.
Последовательное расположение операторов (“предложений”) программы задает линейное
последовательное выполнение всех действий.
Слайд 6Исполнение операций. Объектно-ориентированная и процедурная парадигмы.
Процедурная парадигма: операции и функции выполняются над
Исполнение операций. Объектно-ориентированная и процедурная парадигмы.
Процедурная парадигма: операции и функции выполняются над
в результате выполнения операции может появиться новый или измениться старый объект.
int n = Integer.parseInt("25");
n = 25 + n;
n += 25;
double sqrt2 = Math.sqrt(2.0);
Объектно-ориентированная парадигма: функции (методы) выполняются активным объектом,
в результате исполнения метода может появиться новый или измениться существующий объект.
String s = "Hello, world".substring(3, 5); // s = "lo";
System.out.println("Hello, world!"); // вывод строки на консоль.
Вызов методов записывается в “точечной нотации”. Однако, это лишь соглашение.
// Так писать НЕЛЬЗЯ, хотя по сути именно это и происходит в программе.
String s = String.substring("Hello, world", 3, 5);
System.println(System.out, "Hello, world!");
// Так писать тоже НЕЛЬЗЯ, но это хорошо соответствует ОО-стилю.
n = 25.add(n);
double sqrt2 = 2.0.sqrt();
Слайд 7Присваивание. Преобразование типов.
Присваивание возможно только тогда, когда тип переменной совпадает с типом
присваиваемого
Присваивание. Преобразование типов.
Присваивание возможно только тогда, когда тип переменной совпадает с типом
присваиваемого
int n = "25"; // НЕДОПУСТИМО!
n = Integer.parseInt("25"); // Возможно.
String s = 12; // НЕДОПУСТИМО!
s = String.valueOf(12);
s = "" + 12; // В операции соединения строк происходит автоматическое
// преобразование любого значения в строку.
Однако, возможно автоматическое “расширение” присваиваемого значения.
int i = 'a';
short s = 75; // Константа 75 находится в допустимом диапазоне.
long lng = 10987654321L; // Integer.MAX_VALUE = 2147483647;
// Long.MAX_VALUE = 9223372036854775807L;
lng = s; // Автоматическое преобразование из short в long.
i = s + 12; // Результат в операциях с целыми – всегда целый.
float f = lng + 1;
char b = 'a' + 1; // НЕВОЗМОЖНО! Надо: char b = (char)('a' + 1);
s = s + 12; // НЕВОЗМОЖНО! Результат получается типа int.
// Надо: s += 12; или s = (short)(s + 12);
long lng = 10987654321L; // Integer.MAX_VALUE = 2147483647;
// Long.MAX_VALUE = 9223372036854775807L;
i = f; // НЕВОЗМОЖНО! Надо: i = (int)f.
i = lng - 12; // НЕВОЗМОЖНО! Результат вычитания будет типа long.
int err = (int)10987654321L; // Синтаксически допустимо, однако
// результат преобразования будет “странным”.