Пріоритет і асоціативність операцій 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Пріоритет і асоціативність операцій



Вищий пріоритет
. () [ ]
++ --! ~
New
* / \%
+ –
<< >> <<< >>>
< > <= >=
==!=
&
^
|
&&
||
?:
= += –= *= /= \%= &= ||= <<= >> = ^=
Нижчий пріоритет

Всі операції виконуються в напрямку зліва направо.

Для перетворення базових типів застосовується операція (type), де

в якості (type) використовується один з сумісних базових типів. При приведенні типів даних меншої довжини до типів більшої довжини

ніяких операцій проводити не потрібно. Слід звернути увагу на те, що операція присвоювання результатів арифметичних операцій для базових типів char, byte, short викликає помилку компіляції, оскільки при обчисленнях проводиться перетворення до типу int, а Java не дозволяє привласнювати змінній значення більш довшого типу, якщо тільки це не константи. Виняток становлять оператори інкремента, декремента та оператори +=, –=, *=, /=.

В іменах змінних не можуть використовуватися символи арифметичних і логічних операторів, а також символ ‘#’. Припустимим є застосування символів ‘ $’ і ‘ _’, в тому числі і в першій позиції імені.

public class TypeByte {

private static int j;

public static void main(String[] args) {

int i = 3; byte b = 1, b1 = 1 + 2;

//b = b1 + 1; //помилка приведення типів

b = (byte)(b1 + 1);//0 show(b);

//b = –b; // помилка приведення типів

b = (byte)–b;//1 show(b);

//b = +b1; // помилка приведення типів

b = (byte)+b1; //2 show(b);

b1*= 2; //3 show(b1); b1++; //4

show(b1);

//b = i; // помилка приведення типів

b = (byte)i; //5 show(b);

b+= i++; //працює!!! //6 show(b);

float f = 1.1f;

b /= f; //працює!!! //7 show(b);

}

static void show(byte b){ System.out.println(j + " res=" + b); j++;

}

}

 

В результаті буде виведено:

0 res=4

1 res=–4

2 res=3

3 res=6

4 res=7

5 res=3

6 res=6

7 res=5

Змінні базових типів, оголошені як члени класу, зберігають нульові значення, відповідні своєму типу. Якщо змінні оголошені як локальні змінні в методі, то перед використанням вони обов'язково мають бути проініціалізовані.

До операторів відноситься також оператор визначення приналежності типу instanceof, оператор [ ] і тернарний оператор?: (if– then–else).

Логічні операції виконуються над значеннями типу boolean (true

або false).

// приклад бітові оператори: Operators.java public class Operators {

Public static void main(String[] args) { System.out.println("5\%1=" + 5\%1 + " 5\%2=" + 5\%2); int b1 = 0xe;//14 или 1110

int b2 = 0x9;//9 или 1001

int i = 0;

System.out.println(b1 + "|" + b2 + " = " + (b1|b2)); System.out.println(b1 + "&" + b2 + " = " + (b1&b2)); System.out.println(b1 + "^" + b2 + " = " + (b1^b2)); System.out.println("~" + b2 + " = " + ~b2); System.out.println(b1 + ">>" + ++i + " = " + (b1>>i)); System.out.println(b1 + "<<" + i + " = " + (b1<<i++)); System.out.println(b1 + ">>>" + i +" = " + (b1>>>i));

}

}

Результатом виконання даного коду буде

5\%1=0 5\%2=1

14|9 = 15

14&9 = 8

14^9 = 7

~9 = –10

14>>1 = 7

14<<1 = 28

14>>>2 = 3

Тернарний оператор "?" використовується у виразах:

booleanexp? value0: value1

Якщо booleanexp = true, обчислюється значення value0 і воно стає результатом виразу, інакше результатом є значення value1.

Оператор instanceof повертає значення true, якщо об'єкт є екземпляром даного класу, наприклад:

Font obj = new Font("Courier", 1, 18);

if (obj instanceof java.awt.Font) {

/*оператори*/

}

Числові параметри при оголошенні об'єкту класу Font вказують на стиль і розмір шрифту. Результатом дії оператора instanceof буде істина, якщо об'єкт є об'єктом одного з підкласів класу, на приналежність до якого перевіряється даний об'єкт, але не навпаки. Перевірка на приналежність об'єкту до класу Object завжди дасть істину як результат. Результат застосування цього оператора по відношенню до null завжди хибність, тому що null не можна зарахувати до якого–небудь типу. А між тим літерал null можна передавати в методи по посиланню на будь– який об'єктний тип і використовувати як значення, що повертається.

Оператори управління. Оператор if дозволяє альтернативний вибір двох операторів, виконуючи один з них або інший.

if (boolexp) {

/*оператори*/

}

else { //може бути відсутнім

/*оператори*/

}

Цикли в мові Java можна організувати з допомогою операторів:

while (boolexpr) {

/*оператори*/

}

do {

/*оператори*/

} while (boolexp);

for(exp1; boolexp; exp3){

/*оператори*/

}

Оператори циклу виконуються допоки булевий вираз boolexp

знаходиться рівним true.

Оператор switch. Оператор switch передає управління на виконання одного з декількох операторів залежно від значення виразу exp.

switch(exp) {

case exp1:/*оператори, якщо exp==exp1*/

break;

case exp2:/*оператори, якщо exp==exp2*/

break;

default: /* оператори Java */

}

N–ого блоку до тих пір, поки не зустрінеться оператор break.

Розширення можливостей отримали оператор переривання циклу break і оператор переривання ітерації циклу continue, які можна використовувати з міткою, для забезпечення виходу з вкладених циклів, наприклад:

// приклад: вихід за цикл, помічений OUT

public class DemoLabel {

public static void main(String[] a) {

int j = –3;

OUT: while (j < 10) {

if (j == 0)

break OUT;

else { j++; System.out.println(j);

}

}

System.out.println("end");

}

}

Тут оператор break розриває цикл, помічений міткою OUT. При цьому немає необхідності у використанні оператора goto для виходу з вкладених циклів.

Цикл for. В операторі for передбачені місця для всіх чотирьох частин циклу. Нижче приведена загальна форма оператора запису for.

for(ініціалізація; завершення; ітерація) тіло циклу;

Будь–який цикл, записаний за допомогою оператора for, можна записати у вигляді циклу while і навпаки. Якщо початкові умови такі, що при вході в цикл умова завершення вже виконана, то оператори тіла циклу і ітерації не виконуються жодного разу. У канонічній формі циклу for відбувається збільшення цілого значення лічильника з мінімального значення до певної межі.

Змінні можна оголошувати всередині розділу ініціалізації оператора for. Змінна, оголошена всередині оператора for, діє в межах цього оператора.

При роботі з масивами та колекціями з'явилася можливість отримувати доступ до їх елементів без використання індексів або ітераторів. Наприклад,

int[] array = {1, 3, 5, 11};

for(int i: array) System.out.print(" " + i);

Але змінити значення елементів масиву за допомогою такого циклу не можливо.

Завдання

1. Вивчити призначення та написання основних операторів мови java.

2. Розібрати приклади використання основних операторів мови java.

 

Самостійна робота №12

Огляд мови програмування РНР

Довідкові відомості

РНР — це мова серверних скриптів яка вбудовується в HTML.

РНР являється процесором HTML.

Що це означає. Його робота побудована наступним чином, до того як сервер віддасть файл браузеру, його передивляється процесор інтерпретатор. І для того щоб дана дія виконувалась файли повинні мати визначене розширення.РНР тільки тоді вони будуть оброблятись процесором.

Перед відправкою сторінки код РНР продивляється на сервері і браузеру віддається результат в виді HTML–сторінки, яка може сильно відрізнятись від тої яка присутня на сервері.

Звичайні сторінки з розширенням.HTML веб сервер відправляє браузеру без якої небуть обробки. Скрипти РНР точніше програму написану на РНР ви вбудовуєте в готову HTML–сторінку, використовуючи відкриваючий і закриваючий тег.<?PHP і?> на відміну від інших програм написаних на інших мовах типу Perl і.т.д.

РНР називають мовою серверних скриптів на відміну від JavaScript Vbscript. Які являються мовою клієнтських скриптів. Це означає що РНР–скрипт виконується на сервері, а клієнту передається результат його роботи, тоді як JavaScript повністю передається на клієнтську машину і там виконується браузером.

1— РНР це часто використовувана мова скриптів, яка була розроблена спочатку для веб–програмістів, і призначена для створення динамічних сторінок.

2 — Коли РНР аналізує файл, тоді їде читання вмісту до тих пір поки не зустрінеться один із спеціальних операторів (тег відкриття <?PHP), який буде інтерпретувати текст як код РНР. Потім йде виконання коду до тих пір поки не зустрінеться спеціальний оператор (тег закриття?>) Після чого продовжується читання коду. Таким чином РНР можна ввести в любий момент в любий код HTML.

3 — Обовязковим правилом створення коду РНР являється,

рядок повинен обовязково закриватись “;”

назва функції не чутливі до регістру (не має значення сіж використанням великих чи маленьких букв)

імена змінних чутливі до регістру (є різниця між використанням великих і маленьких букв)

дужки використовуються двойні ” ” або одинарні ‘ ‘ (використання таких варіантів ” ‘ або ‘ ” буде помилкою)

код РНР обмежений одним з наступних ноборів тегу відкриття і закриття

<?PHP текст закриття?> – рекомендована конструкція <? script language=”php”?>текст скрипта</script>

<?текст скрипта?> – застосування вимагає настройки РНР сервера.

4 — В РНР існує три способи за допомогою яких можна вставити коментарі, які не будуть відображатись в браузері, з метою додати необхідну інформацію програмісту. Все що слідує після символів # або // вважається коментарем.

5 — Змінні в РНР являють собою контейнер даних, який має імя і якому може бути присвоєно значення, яке може мінятись декілька разів і може бути збережено в базі даних.

Імя даних змінної починається з символа $ а потім з маленької (a – z) або з великої (A – Z) або з символа “_”. Імя змінної не може починатись з цифри, і імя змінної не містиь пробіли.

6 — Збільшення числа на одиницю називається інкремента, а зменшення на одиницю декремента.

7 — Кожен РНР скрипт являє собою набур конструкцій. Конструкцією може бути присвоювання, виклик функції, цикл (повтор кода), порівняння а також конструкція яка нічого не робить (Пустий оператор). Конструкція завершується крапкою з комою.

Крім того конструкції обєднуються в блоки заключенням їх в фігурні дужки. Блок конструкцій — це також конструкція.

В програмуванні РНР–конструкції дозволяють визначити умову а потім запустити деякі операції в залежності від запиту. if. else. elseif. switch.

8 — одною із важливих функцій РНР являється видобування даних із форм HTML і їх обробка. Елементи з якими ви будете працювати, коли будете робити видобування такі атрибути action і меьоди post і get

9 — функція це частина програмного коду, названа унікальним іменем (з точністю до регістру букв), основне призначення функції це вирішення визначеного завдання.

Виклик функції проходить по імені в різних місцях програми, що дозволяє багаторазово виконувати фрагмент з вказаним іменем. Звісно що позитивний ефект такого рішення, в тому що блок коду пишеться тільки раз, а потім міняється за необхідністю.

10 — Клас являється основним поняттям обєктно–орієнтованого програмування. Класс це опис методів і властивостей. Клас не створюється і не використовується в програмі.

Обєкт — це змінна, яка має властивості і методи, описані в класі, від якого він створюється. Можна створити декілька обєк5тів від одного класу.

Властивість — це та сама змінна тільки всередині обєкта.

Метод — це та сама функція, тільки всередині обєкта.

 

Самостійна робота №13



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 345; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.13.201 (0.027 с.)