Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
• break (без указания метки);
• break (с указанием метки);
• continue (без указания метки);
• continue (с указанием метки);
• return (с возвратом значения);
• return (без возврата значения;)
• throw с указанием объекта Throwable, а также все исключения, вызываемые виртуальной машиной Java.
Выражения могут завершаться нормально и преждевременно (аварийно). В данном случае термин "аварийно" вполне применим, т.к. причиной необычной последовательности выполнения выражения может быть только возникновение исключительной ситуации.
Если в операторе содержится выражение, то в случае его аварийного завершения выполнение оператора тоже будет завершено преждевременно (т.е. нормальный ход выполнения оператора будет нарушен).
В том случае, если в операторе имеется вложенный оператор и его завершение происходит ненормально, то так же ненормально завершается оператор, содержащий вложенный (в некоторых случаях это не так. что будет оговариваться особо).
Блоки и локальные переменные
Блок — это последовательность операторов, объявлений локальных классов или локальных переменных, заключенных в скобки. Область видимости локальных переменных и классов ограничена блоком, в которое они определены.
Операторы в блоке выполняются слева направо, сверху вниз. Если все операторы (выражения) в блоке выполняются нормально, то и весь блок выполняется нормально. Если какой-либо оператор (выражение' завершается ненормально, то и весь блок завершается ненормально.
Нельзя объявлять несколько локальных переменных с одинаковым" именами в пределах видимости блока. Приведенный ниже код вызове1 ошибку времени компиляции.
public class Test {
public Test() { }
public static void main(String[] args) { Test t = new Test() ; intx; 1Ы: {
int x = 0;
System, out. printlnfx = " + x);
}
}
}
В то же время не следует забывать, что локальные переменные перекрывают видимость переменных-членов. Так, следующий пример отработает нормально.
public class Test { static int x = 5; public Test() {}
public static void main(String[] args) { Test t = new Test() ; ntx = 1;
System, out. printlnfx = " + x);
}
}
На консоль будет выведено x = 1.
To же самое правило применимо к параметрам методов.
public class Test { static int x; public Test() { }