Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпори JAVA.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
178.34 Кб
Скачать

35. Блоки і локальні змінні.

Блок це послідовність операторів , оголошень локальних класів або локальних змінних ув'язнених у дужки. Область видимості локальних змінних і класів обмежена блоком , в якому вони визначені. При зверненні до локальних змінних не може бути використаний кваліфікатор this

або ім'я класу . Оператори в блоці виконуються зліва направо , зверху вниз. Якщо всі оператори

( вираження ) у блоці виконуються нормально , то весь блок виконується нормально . Якщо

який - або оператор (вираз ) завершується ненормально , то весь блок завершується

ненормально . Не можна оголошувати кілька локальних змінних в межах видимості блоку.

У той же час не слід забувати , що локальні змінні перекривають видимість змінних - членів . Наприклад , цей приклад відпрацює нормально .

public class Test { static int x = 5 ; public Test () { } public static void main (String [] args ) { Test t =

new Test (); int x = 1 ; System.out.println ( " X =" + x ) ;} }

І на консоль буде виведено X = 1 . Перекриття локальними змінними області видимості глобальних змінних є , частою , але важко виявленої помилкою.

36. Порожній оператор.

; є порожнім оператором. Дана конструкція цілком застосовна там, де не передбачається виконання ніяких дій. Передчасне завершення порожнього оператора неможливо.

37. Мітки.

Будь-який оператор або блок може мати мітку . Мітку можна вказувати як параметр для операторів break та continue . Область видимості мітки обмежується оператором або блоком , до якого вона належить .

У разі якщо є декілька вкладених блоків та операторів , то мітки зовнішніх блоків будуть видимі у внутрішніх .

public class Test {

static int x = 5;

static {

}

public Test() {

}

public static void main(String[] args) {

Test t = new Test();

int L2 = 0;

Test: for(int i = 0; i< 10;i++) {

test: for(int j = 0; j< 10;j++) {

if( i*j > 50) break Test;}}}

private void test(){

;}}

У цьому прикладі можна побачити , що мітки використовують простір імен відмінне від простору імен змінних , методів і класів.

Традиційно використання міток не рекомендується , особливо в об'єктно-

орієнтованих мовах , оскільки серйозно ускладнює розуміння порядку виконання коду , а значить і його тестування і налагодження . Для Java цю заборону можна вважати не настільки строгим , оскільки найнебезпечніший метод goto відсутня. У деяких ситуаціях (як в розглянутому прикладі з вкладеними циклами ) мітки необхідні, але , звичайно , їх застосування слід обмежувати лише найнеобхіднішими випадками .

38. Синтаксис оператора if.

Оператор if дозволяє програмі залежно від умов виконати оператор або групу операторів , грунтуючись на значенні булевої змінної або виразу. Оператор if являетя основним оператором вибору в Java і дозволяє вибірково змінювати хід виконання програми - і це одна з основних відмінностей між програмуванням і простим обчисленням .Оператор if починається з ключового слова if . Ключове слово if має супроводжуватися булевим виразом , укладеним в дужки . Найпростіша форма виглядає так:

if (умова) оператор; / / якщо умова істинно, то виконується оператор

Тут умова - це булево вираз, має значення true або false . Якщо умова істинно , то оператор або група операторів виконується , якщо хибне, то оператор не виконується. Дуже часто булево вираз в операторі if містить яке-небудь порівняння , але можна використовувати булеву змінну або константу

if ( isRaining )

Оператор if триває укладеним у фігурні дужки фрагментом , який називають блоком операторів. Якщо використовується тільки один оператор , то фігурні дужки можна опустити.

Існує ще і другий варіант оператора if з використанням ключового слова else :

if (умова) оператор ; / / якщо умова істинно , то виконується перший оператор

else оператор ; / / якщо умова помилкова , то виконується оператор після else

У цьому випадку при виконанні умови оператора if ініціюється тільки один оператор , якщо умова не виконується , то також ініціюється тільки один оператор , який відноситься до else . Також можна використовувати блоки операторів , тоді синтаксис буде виглядати так:

if (умова)

{оператор1; оператор2 ;}

else

{оператор1 ;оператор2 ;}

Обидві частини оператора if і else не можуть виконуватися одночасно. А умовний вираз , керуюче оператором if має повертати булево значення .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]