В java оператор break находит три применения. Во первых, он завершает последовательность операторов в операторе switch. Bо вторых, eгo можно использовать для выхода из цикла. И, в третьих, eгo можно использовать в качестве "цивилизованной" формы оператора безусловноrо перехода ("goto"). Рассмотрим последние два применения.
Использование оператора break для выхода из цикла.
class BreakLoop {
public static void main (String args [ ] ) {
for(int i=0; i<100; i++) {
if (i == 10) break; // выход из цикла если i равно 10
System.out.println ("i: "+ i); }
Sуstеm.оut.рrintln ("Цикл завершен.");
} }
Использование оператора break в качестве цивилизованной формы оператора goto.
Sуstеm.оut.рrintln("Этот оператор не будет выполняться");
}
Sуstеm.оut.рrint1n("Этот оператор не будет выполняться");
Sуstеm.оut.рrint1n("Этот оператор следует за блоком second.");
} } }
Иногда требуется, чтобы повторение цикла осуществлялось с более раннего оператора его тела. Для выполнения этого действия служит оператор continue. В циклах while и do-while оператор continue вызывает передачу управления непосредственно управляющему условному выражению цикла. В цикли for управление передается вначале итерационной части цикла for, а потом условному выражению.
Демонстрация использования оператора continue :
Class Continue {
Public static void main (String args [ ] ) {
for (int i=0; i<10; i++) {
System.out. println ( i + “ “ ) ;
if (i%2 == 0) continue;
System.out. println ( “ “ ) ;
} } }
Последний из управляющих операторов – return. Его используют для выполнения явного возврата из метода.
Демонстрация использования оператора return:
Class Return {
Public static void main (String args [ ] ) {
Boolean t = true;
System.out. println ( “ До выполнения возврата.“ ) ;
Как объявляются одномерные массивы в языке Java 2? Одномерные массивы, по сути, представляют собой список однотипных переменных. Чтобы создать массив, вначале необходимо создать переменную массива требуемого типа. Общая форма объявления одномерного массива выглядит следующим образом:
тип имя переменной [ ] ;
Где тип — это тип элементов массива, а имя — уникальный (незанятый другими переменными или объектами в этой части программы) идентификатор, начинающийся с буквы.
int a[ ];
Как видно, сначала указывается базовый тип. Затем идет имя переменной, а пара квадратных скобок указывает, что используемый тип является именно массивом. Такжедопустимой записью является:
int[ ] a;
14.
Как можно присвоить начальные данные элементам массива. Переменная_ массива = new тип [размер]; тип определяет тип данных, для которых резервируется память, размер указывает количество элементов в массиве, а переменная массива переменная массива, связанная с массивом. То есть, чтобы использовать операцию new для распределения памяти, потребуется указать тип и количество элементов, для которых нужно зарезервировать память. Индекс начального элемента — 0, следующего за ним — 1 и т. д. Индекс последнего элемента в массиве — на единицу меньше, чем размер массива. Например:
int[] n = new int[5];
for(int i=0; i<5; i++)
{
n[i]=i;
}
15.
Архитектура многомерных массивов. Как объявляются нерегулярные массивы в языке Java 2?
Многомерные массивы – это массивы массивов.
Int mx[ ][ ] = new int[4][ ];
При распределемии памяти необходимо указать величину первого крайнего сверху. Измерение под остальные память можно распределять отдельно.
mx[0] = new int [5];
mx[1] = new int [4];
mx[2] = new int [2];
mx[3] = new int [9];
Для каждого массива количество может быть своим. Такие массивы называют нерегулярными или ступенчатыми. Это полезно при инициализации разряженных массивов (где используются не все элементы) При инициализации можно использовать константу и переменную.
int x = 10;
int i = 0;
int mx[ ][ ]= { {x*i++, x*i++}, {x*i++, x*i++}};
16.
Логические условия. Приведите пример.
Примерами выражений, которые могут быть конвертированы в false являются такие выражения, которые вычисляются в null, 0, пустую строку ("") или undefined.
Вот примеры операции && (логическое И):
a1=true && true // t && t возвращает true a2=true && false // t && f возвращает false a3=false && true // f && t возвращает false a4=false && (3 == 4) // f && f возвращает false a5="Cat" && "Dog" // t && t возвращает Dog a6=false && "Cat" // f && t возвращает false a7="Cat" && false // t && f возвращает false
Примеры операции || (логическое ИЛИ):
o1=true || true // t || t возвращает true o2=false || true // f || t возвращает true o3=true || false // t || f возвращает true o4=false || (3 == 4) // f || f возвращает false o5="Cat" || "Dog" // t || t возвращает Cat o6=false || "Cat" // f || t возвращает Cat o7="Cat" || false // t || f возвращает Cat Примеры операции ! (логическое НЕ):
У логических операторов следующий приоритет: отрицание, конъюнкция, дизъюнкция. Примеры:
boolean a = true; boolean b; b = a || true; // b истинно b = !b; // b ложно System.out.println(b); // выведет false a = a || b; // a истинно boolean c; c = a && (a||b); //с истинно System.out.println(c); // выведет true
В Java логический и числовые типы нельзя преобразовывать друг к другу.
17.
Примеры использования циклов.
Оператор for
Конструкция оператора for: for (Начальное значение переменной; Логическое выражение с переменной(условие выполнения цикла); Действие над переменной, вызываемое при выполнении условия) { Операторы, которые будет выполнять цикл при условии ЛогВыр - true; } Где chislo - переменная, объявленная в цикле (Её нужно обязательно объявлять в цикле), ЛогВыр - логическое выражение. Если оно равно true, цикл выполняется до тех пор, пока не станет false. Если вместо этого, вставить true, цикл будет выполняться вечно, если false, цикл не будет выполнен ни разу. Действие при выполнение условия - что будет предпринимать цикл, при выполнение оператора.
public class Цикл {
public static void main (String args []){
for (int i = 0; i < 4; ++i){
System.out.print ("mkm ");
}
}
}
Данный цикл выведет mkm mkm mkm mkm
Оператор while
Конструкция оператора while: while (Логическое выражение) {Тело цикла;} Где выражение в скобках определяет условие, пока(while) выполняется которое, будет выполнятся выражение в фигурных скобках.
public class Цикл {
public static void main (String args [ ]){
int i = 0;
while (i < 10){
System.out.print (i++);
}
}
}
Данный цикл выведет 0123456789.
Оператор do...while
Конструкция оператора do while: do {Тело цикла;} while (условие выполения) Отличие данного оператора от while только в том, что он является оператором постусловия (сначала выполнит, потом проверит).
public class Цикл {
public static void main (String args [ ]){
int i = 0;
do{
System.out.print (i++);
} while (i < 10)
}
}
Данный цикл выведет 012345678910.
18.
Есть ли в языке Java оператор goto? Как получить функциональность типа Goto в языке Java 2 ? В java нет оператора goto, однако существует версия оператора break с метками, который можно использовать для выхода из вложенного цикла. Как правило, оператор goto состоит из двух частей: собственно оператора и метки, указывающей целевую точку перехода в программе: goto метка. Метка, в зависимости от правил языка, может быть либо числом , либо идентификатором используемого языка программирования. Для меток-идентификаторов метка, как правило, ставится перед оператором, на который должен осуществляться переход, и отделяется от него двоеточием (метка:). Действие оператора перехода состоит в том, что после его исполнения следующими будут исполняться операторы программы, идущие в тексте непосредственно после метки (до следующего оператора перехода, ветвления или цикла)..
19.
Есть ли в Java 2 директивы препроцессора ? Что такое JIT динамическая компиляция ? Преимущества и недостатки. В Java отсутствует препроцессор. JIT-компиляция (англ. Just-in-time compilation, компиляция «на лету»), динамическая компиляция (англ. dynamic translation) — технология увеличения производительности программных систем, использующих байт-код, путём компиляции байт-кода в машинный код непосредственно во время работы программы. Принцип работы существенно отличается от статических компиляторов и для получения высокопроизводительного кода JVM использует другой набор методик компиляции. Существенный недостаток этого метода заключается в том, что время, потраченное на компиляцию метода, можно с таким же успехом потратить на интерпретацию байт-кода. Чтобы получить выигрыш в производительности, необходимо компенсировать время, потраченное на компиляцию, за счет более быстрого исполнения программы, которая теперь имеет вид не байт-кода, а машинных команд. Поэтому скорость компиляции имеет большое значение. При работе с длинными программами динамическая компиляция имеет серьезные преимущества перед статической. Статическая компиляция может оптимизироваться лишь для одного центрального процессора . В то же время динамическая компиляция позволит генерировать при каждом отдельном прогоне программы специализированный код.
20.
Почему в языке Java 2 обычные типы имеют определенный размер ? Язык Java является строго типизированным. Это значит, что каждая переменная и каждое выражение имеет свой определенный тип. Автоматического приведения типов попросту не существует. Всего в Java существует восемь простых типов данных, которые условно можно разделить на четыре группы: • Целые (Integers) – описывает целые числа с учетом знака. Включает в себя byte, short, int, long.
• Числа с плавающей запятой (Floating-point number) – описывает «дробные» числа. Их нельзя считать полноценными дробными, т.к. они имеют определенную погрешность. Это типы: float и double.
• Символьный тип (Characters) – это тип char, который предназначен для описания символов (буквы, цифры, математические знаки, и др.).
• Логический тип (Boolean) – это тип Boolean, описывающий переменные, которые могут принимать значение «правда» (true) или «ложь» (false).