Поточний час:
Сьогодні 22 вересня, пятниця 2017 рік

Стрічка RSS

Введіть ваш Е-mail:

Zura-Blog 2 роки 9 місяців 3 дня

Ваш ip адрес:54.159.64.172

Доброго дня!
Ви обновили сторінку в 14 : 58

Статистика

Кількість публікацій на блозі: 364
Кількість коментарів на блозі: 98
Кількість категорій на блозі: 17
Кількість міток на блозі: 28

Zura – Blog
Яндекс.Метрика UA TOP Bloggers

Cинтаксис мови JAVA

Синтаксис мови програмування JAVA в багато чому запозичений з мови програмування С++. На відміну від мови С++, яка містить в собі структурований синтаксис і обектно–орієнтоване програмування,  JAVA була створена виключно як обектно–орієнтоване програмування. 

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

JAVA подавляє деякі функції класів (наприклад, перегрузку операторів або наслідування) в цілях спрощення мови  і передбачення помилок. JAVA використовує такі самі  методи для коментарів, що і С++.

Існують три різновидності коментарів

⇒ коментарі в одному рядку відмічають двома “//”

⇒ коментарі в декількох рядках відкривається “/*” і закривається “*/”

⇒ коментарі для документування потрібно розпочати з символів “/**” (слеш і дві зірочки), закінчується коментар точно так як і звичайний “*/”

Початкові файли повинні бути названі відповідно до класів, які вони містять, з додаванням суфікса  JAVA, наприклад Hello Word.Java  Файл повинен бути відкомпільований  в байт коді з допомогою компилятора JAVA, який містить компілятор Hello Word.class  Тільки після того він може виконуватись.

Вихідний файл JAVA може містити один клас, або декілька класів, з невеликою кількістю маршрутів загального даступу, а також любу кількість закритих класів.

Клас який не заявлений офіційно, може бути збережений в любому файлі JAVA в формі “java”. Компилятор буде генерувати файл класу, для кожного окремого в початковий файл.

Імя файлу класа — це імя класа з приставкою “class”. Для генерування файла класа анонимні файли будуть трактуватись також, як і імя класів з приставкою “$” так як і з цілим числом.

Ключове слово “public”

Ключове слово “public” — показує що метод може бути викликаний кодом в другому класі, або клас може використовуватись другим класом, поза ієрархією класів. Ієрархія класу повязана з іменем каталога, де знаходиться файл  .java  

Public — це модифікатор доступу, який дозволяє програмісту керувати видимістю любого метода чи любої змінної.

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

Ключове слово “static” 

Ключове слово “static” перед методрм вказує на те, що цей метод статистичний, точніше буде сказати з допомогою даного ключового слова, обявляються методи і змінні  для  роботи  з  класом  в  цілому.

Методи в обяві яких використовують ключове слово “static”, можуть безпосередньо працювати виключно з локальними і статистичними змінними. Тільки статистичний метод може бути визваний без посилання на обєкт.

Метод main

Всі існуючі реалізації JAVA–інтерпритаторів получивши команду інтерпритувати клас, починають свою роботу з виклику методу “main”. JAVA–транслятор може відтворити для виконання програмного коду клас, в якому немає метода “main”, а JAVAінтерпритатор запускати клас без методів “main” не вміє.

Всі параметри які потрібно передати методу, вказують всередині пари круглих дужок в виді списку елементів, розділених символами  “;”  (крапка з комою).

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

Елемент String||args обявляє параметр з іменем args, який являється массивом обєктів – представників класу “String”. Зверніть увагу на квадратні дужки, які стоять після індентифікатора args. Вони говорять про те, що ми маємо справу з масивом, а не з одиночним елементом вказаногог типу.

/*

*

*/

public class HelloWord {

public static void main(String args[]) {

System.out.printIn(“Hello word”);

}

}  

Розглянемо рядок прикладу 

System.out.printIn(“Hello word”); 

В даному рядку виконується метод printIn обєкта out Обєкт out. обявлений в класі OutputStream (OutputStream абстрактний клас, який задає модель вихідних потоків JAVA) і статистично ініціалізується в класс System.

Закриваюча фігурна дужка в наступному рядку закінчується обявлення метода  main, і така ж дужка завершує роботу обявлення класу HelloWord.

Елементи синтаксиса JAVA

Коментарі до кінця рядка  //
Коментарі які не можуть бути вкладеними  /*…*/
Реєстрозалежність  
Регулярний вираз ідентифікатора змінної  [_a-z-Z$][_a-zA-Z0-9$]*
Присвоювання значення змінної  =
Обявлення змінної  TYPE VARIABLE
Обявлення змінної з присвоєнням значення  TYPE VARIABLE = VALUE
Груповання виразу  (…)
Блок  {…}
Рівність  ==

 

Нерівність !=
Порівняння  <><=>=
Виклик функції  f(a,b,…)
Виклик функції без параметрів  f()
Послідовність  ;
Якщо—то  if(condition)…
Якщо—то—інакше  if(condition)…else або condition? … : …
Бескінцевий цикл  while (true)…
Цикл з передумовою  while (condition)…
Цикл з післяумовою  do … while (!condition)

 

Цикл for–next для діапазона цілих чисел з інкрементом на 1 for (int i =1; i<=10; i++)…
Цикл for–next для діапазона цілих чисел з інкрементом на 1 for (int i =10; i>0; i–)…

Прості типи даних

Тип Вміст Замовчування Розмір Діапазон
boolen tru/false false 1 біт false … true
char символ Unicode \u0000 16 біт \u0000…\uFFFF
byte ціле зі знаком 0 8 біт — 128…127
short ціле зі знаком 0 16 біт — 32768 … 32767
int ціле зі знаком 0 32 біт — 2147483648 … 2147483647
long ціле зі знаком 0 64 біт — 9223372036854775808…9223372036854775807
float числа з плаваючою точкою в форматі ІЕЕЕ 754 0.0 32 біт +/—3.40282347Е+38…+/—1,40239846Е—45
double числа з плаваючою точкою в форматі ІЕЕЕ 754 0.0 64біт +/—1.7976933486231570Е+38…+/—4.94065645841246544Е—324

Арифметичні оператори

Оператор Результат Оператор Результат
+ додавання += додавання з присвоюванням
віднімання(також унарний мінус) —= віднімання з присвоюванням
* множення *= множення з присвоюванням
/ ділення /= ділення з присвоюванням
% ділення по модулю %= ділення по модулю з присвоюванням
++ інкремент ——  декремент

Відносні оператори

Оператор Результат Оператор Результат
= = рівно < меньше
!= не рівно >= більше або рівно
> більше <= меньше або рівно

Аплети

Java — аплети це програми, які вбудовані в інші додатки, як правило, веб – сторінки, відображені інтернет – браузером.

Приклад

Приклад кода аплета

//Hello.java

import javax.swing.JAplet;

 import java.awt.Graphics;

public class Hello extends JApplet {

public void paintComponent(Graphics g) {

g.drawString(“Hello, world!”. 65. 95);

}

}

В даному прикладі команда “import” заставляє компілятор Java включити javax.swing.JAplet і класи “java.awt.Graphics” в компіляцію. Команда “import” дозволяє також цим класам посилатись на початковий код, використовуючи просте імя класу (наприклад JAplet) замість повного імені класу (наприклад javax.swing.JAplet).

Класс “Hello”

Класс “Hello” розширює (підклас) клас “Japlet (Java Applet)”  клас “Japplet” забезпечує реалізацію головного додатку для відображення і керуванням циклом апплету.

Клас “Japplet Jcomponent (Java Grafic Component) який предявляє апплет з можливістю відображати графічний інтерфейс користувача (GUI) і реагувати на окремі події, відмічені користувачем.

Класс “Hello” визначає метод paint Component (Graphics), наслідований від суперкласу “Container” для представлення коду, який відображає аплет. Метод paint розглядає обєкт з графічним вмістом для відображення аплета.

Метод paint Component використовується для фонового малюнка, метод draw String (String.int. int) для відображення “Hello, world!” в крайньому пікселі в лівому верхньому куті екрана.

Приклад коду

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”

“http://www.w3.org/TR/html4/strict.dtd”>

<!–Hello.html–>

<html>

<head>

<title>Hello Word Applet </title>

</head>

<body>

<applet code=”Hello” width=”200″ height=”200″>

</aplet>

</body>

</html>

Апплет розташований в документі HTML, використовує елемент HTML <applet>. Тег апплета має три атрибута: код=”Hello”. який вказує імя класу Japplet width=”200″ height = “200”, який фіксує ширину і висоту апплета в пікселях.

Апплети можуть бути також вбудовані в HTML, використовую обєкти або елементи типу embed хоча підтримка цих елементів  веб–браузером противоречлива.

Сервлет

Технологія Java Servlet надає програмістом простий і послідовний механізм для розширення функціональності веб–сервера, так ж як і доступ до існуючим компютерним системам.

Сервлети — це компоненти server–side Java EE ( Java –програм, виконуємих на серверній стороні), які генерують відповіді (як правило, для сторінок HTML) на запити (частіше за все запити HTTP) клієнтів.

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

Приклад скрипта

//Hello.java

import java.io.*;

import javax.servlet.*;

public class Hello extends GenericServlet {

public void servise(ServletRequest request. ServletResponse response)

throws ServletException, IOException {

response.setContentType(“text/html”);

final PrintWriter pw = response.getWriter();

pw.println(“Hello, world!”); pw.close();

}

}

В прикладі, команда “import” направляє компілятор Java для того, щоб включити все загальні класи і інтерфейси із пакетів java.io і java.servlet в компіляцію.

Крім того в даному прикладі клас “Hello” розширює клас “GenericServlet” клас “GenericServlet” зберігає інтерфейс для сервера, який надає запити сервлету і здійснює контроль за життєвим циклом сервлета.

Потім клас “Hello” визначає метод обслуговування (ServerRequesr, ServetResponse) визначає інтерфейс Servet для надання запрошуваного коду. Метод servise() просуває обєкт ServerRequesе, який містить запит клієнта і обєкт ServetResponse, використовуваний для відповіді клієнту.

Метод SetContentType (String) в обєкті відповіді повинен встановити тип вмісту МІМЕ для даних, отриманих text/html.

Метод GetWriter() повертає обєкт PrintWriter який використовується для запису даних, які будуть відправлені клієнту.

Метод Println(String) пише рядак з відповідю “Hello Word!” і потім метод close() використовується для закриття печатних рядків, які реалізують дані, записані для повернення клієнту.

JAVA SERVER PAGES (JSP) являється компонентом server–side Java EE представляющим собою технологію, яка дозволяє веб розробникам легко створювати вміст, який має як статистичні так і динамічні компоненти.

По суті сторінки JSP являються текстовими документами, які містять текст двух типів:

статистичні вихідні дані які можуть бути оформлені в одному із текстових форматів HTML, SVG, WML або XML і JSP елементи, які будують динамічні сторінки. 

JSP включають код JAVA в сторінку HTML з  допомогою двох спеціальних розділювачів <% і %> JSP компилюються сервлетом JAVA, додатком JAVA по суті при першому звернені до нього. В підсумку сервет генерує відповідь.

Swing — це toolkit widget JAVA, практична бібліотека для графічного використання JAVA, яка доступна в графічному інтерфейсі програміста.

Приклад Swing в якому створюється вікно з текстом “Hello Word” всередині.

//Hello Word ()Java SE 5)

import java.awt.BorderLayout;

import java.swing.*;

public class Hello extends JFrame {

public Hello() {

super(“hello”); setDefaultCloseOperation(WindowConstant.EXIT_ON_CLOSE);

setLayout(new BorderLayout());

add(new JLabel(“Hello, world”));

pack();

} public static void main(String[] args) {

new Hello() setVisible(true);

}

}

В даному прикладі перша команда import  направляє компілятор JAVA для включення класа “BorderLayout” із пакета java.awt в компіляцію.

Друга команда import включає всі відкриті класи в інтерфейси із пакета  java.swing. Класс “Hello” розширює клас “Jframe”.

Клас “Jframe” реалізує вікно з заголовком і close control. КОНСТРУКТОР HELLO () ініціалізує контекст, який використовується як заголовок вікна.

Потім викликається метод setDefaultCloseOperation(int) наслідуваний від “Jframe” для завдання операції по замовчуванню, при виборі для елементу close в рядку заголовку стану WindowConstant.EXIT_ON_CLOSE, що призводить до видалення “Jframe” при закритті вікна. В результаті JVM може зупинитись і завершити програму.

Потім створюється елемент JLabel для рядка “Hello Word” і викликається метод add(Component) наслідуваний від суперкласу контейнера для додавання мітки вікну.

Метод Pack() наслідуваний від суперкласу Window використовується для встановлення розмірів вікна і для вкладення вмісту.

Метод Main() викликається JVM при запуску програми. Він створює нове вікно Hello, і викликає його для відображення шляхом виклику метода setVisible(boolen) наслідуваний від компонента суперкласу з параметром boolen true.


user_97

Ви також можте ознайомитись з іншими матеріалами по мові програмування Java, які  розміщені на головній сторінці за назвою публікації “Проблеми продуктивності і використання памяті Java” на якій викладений цікавий матеріал як мова програмування Java використовуючи автоматичний збір “мусора” (garbage collection) бере на себе обовязки звільнення памяті від обєктів, які більше не використовуються.

а також можна дізнатись історію виникнення мови програмування Java, в публікації “Що таке Java, історія виникнення мови програмування  Java”.

Посилання на публікацію:

2 Responses to JAVA

  • astrid says:

    Ми є групою добровольців і почати створювати нову схему в нашій спільноті.
    Ваш сайт дає нам цінну інформацію для роботи. Ви робити вражаючу роботу вся наша громада
    вдячна Вам

    [Відповісти]

    Ruslan Reply:

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

    [Відповісти]

Leave a Reply

Your email address will not be published. Required fields are marked *