
1_Особенности построения программ на java.pptx
- Количество слайдов: 8
ОСОБЕННОСТИ ПОСТРОЕНИЯ ПРОГРАММ НА JAVA
HELLO, WORLD! package hello; class Hello. World { public static void main(String [] args) { System. out. println("Hello, world!"); } } Файл: . . /hello/Hello. World. java Компиляция: javac hello/Hello. World. java Запуск: java hello. Hello. World
СТРУКТУРА ПРОГРАММЫ [package <name>] [modifiers] class <classname> { [modifiers] <typename> <varname> [= <initvalue>]; [modifiers] <rettype> <methname> (<args>) { //. . body } }
УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ Цикл с предусловием Оператор выбора while (<cond>) { //body switch (<expr>) { case <val 1> : <op 1> } break; case <val 2> : <op 2> Цикл с постусловием break; do { …. //body default : <op> } while (<cond>) } Цикл for Результат? for ([init]; [cond]; [step]) { //body switch(5) { default: System. out. print(0); } case 1: System. out. print(1); case 4: System. out. print(4); break; foreach for (<type> <varname> : <iterable>) { case 2: System. out. print(2); } //body } fall through
ОПЕРАТОРЫ ПЕРЕХОДА continue: break: - break from switch - break from cycle - - переход на следующую итерацию: goto break for (int i=0; i<5; i++) { if (I % 2 == 0) continue Выход из глубоко вложенных циклов: System. out. println(i) } return: - label 1: { оператор явного выхода из метода for (int i=0; i<10; i++) { if (i > 5) //somecode break label 1 } return; System. out. println(i); } unreachable code
АВТОМАТИЧЕСКОЕ ПРИВЕДЕНИЕ ТИПОВ Автоматическое продвижение типов - “Младший” тип продвигается (повышается) до “старшего” - Возможны ошибки компиляциипереполнения byte a = 40; a = a * 2 //ОШИБКА! Значение типа int не может быть //присвоено переменной типа byte !
МАССИВЫ <type> <varname> []; <type> [] <varname> = new <type>[<count>]; int [] arr 1 = new int[5]; int [][] arr 2 = new int [5][10]; int [][] arr = new int [4][]; arr[0] = new int[1]; arr[1] = new int[2]; arr[2] = new int[3]; arr[3] = new int[4];
УПРАВЛЕНИЕ ПАМЯТЬЮ - Переменные хранят ссылки на объекты, массивы - Память выделяется с помощью оператора new - Управление памятью автоматизировано, ей занимается сборщик мусора (garbage collector) - Метод finalize (аналог деструктора) высвобождается перед удалением объекта: - Вызывается непосредственно ПЕРЕД УДАЛЕНИЕМ ИЗ КУЧИ - Время вызова не определено - Ставит логику приложения в зависимость от сборщика мусора - Не рекомендуется использовать как аналог деструктора - Используется для работы с Weak. Reference и прочей экзотикой - Сигнатура: protected void finalize () -
1_Особенности построения программ на java.pptx