Java е обектно-ориентиран език за програмиране, базиран на класове. Езикът е проектиран да има възможно най-малко реализации на зависимости. Намерението да се използва този език е да се облекчи разработчиците да пишат кодове за всяка платформа. Терминът WORA, пиши веднъж и изпълнявай навсякъде често се свързва с този език. Това означава, че всеки път, когато компилираме Java код, получаваме байтов код (.class файл) и той може да бъде изпълнен (без да го компилираме отново) на различни платформи, при условие че поддържат Java. През 1995 г. е разработен езикът Java. Използва се главно за разработване на уеб, настолни и мобилни устройства. Езикът Java е известен със своите функции за устойчивост, сигурност и простота. Това е проектирано да има възможно най-малко зависимости при изпълнението.
История
Езикът Java има много интересна история. Patrick Naughton, Mike Sheridan и Jame Gosling, известни като Green team, започнаха разработването на Java през 1991 г. Тези хора бяха инженерите на Sun Microsystems . През 1996 г. първата публична реализация беше пусната като Java 1.0. Компилаторът на Java 1.0 беше пренаписан от Артър Ван Хоф, за да отговаря стриктно на неговата спецификация. С въвеждането на Java 2, новите версии имат множество различни конфигурации, които са създадени за различните платформи. Заслужава да се отбележи, че Джеймс Гослинг е известен също като бащата на Java.
Със стандартния орган на ISO се обърна Sun Microsystems през 1997 г., за да формализира Java, но процесът скоро беше оттеглен. В даден момент Sun Microsystems предостави по-голямата част от внедряването на Java без никакви разходи, въпреки че имаше статут на патентован софтуер.
Приложни програми
Внедряването на приложна програма в Java приложение включва следните стъпки.
- Създаване на програма (писане на код)
- Компилацията на програмата.
- Изпълнение на компилирания код.
Тук си струва да се отбележи, че JDK (Java Development Kit) трябва да бъде инсталиран правилно в системата и пътят също трябва да бъде зададен.
Програмата Създаване
Java програмата може да бъде написана с помощта на текстов редактор (Notepad++ или NotePad или други редактори също ще свършат работа.) или IDE (Eclipse, NetBeans и т.н.).
Име на файл: TestClass.java
public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } }
Напишете горния код и запазете файла с името TestClass. Файлът трябва да има .java разширение.
Програмата Компилация
Отворете командния ред и въведете javac TestClass.java . javac е командата, която кара Java компилатора да влезе в действие, за да компилира Java програмата. След командата трябва да поставим името на файла, който трябва да се компилира. В нашия случай е така TestClass.java . След като въведете, натиснете бутона за въвеждане. Ако всичко върви добре, ще бъде генериран файл TestClass.class, който съдържа байт кода. Ако има някаква грешка в програмата, компилаторът ще я посочи и TestClass.class няма да бъдат създадени.
Изпълнение / Изпълнение на програмата
gimp как да премахнете отметката
След като файлът .class бъде създаден, въведете java TestClass за да стартирате програмата. Резултатът от програмата ще бъде показан на конзолата, която е спомената по-долу.
Изход:
Hello World is my first Java Program.
Името Java
Първоначално името дъб е дадено на езика. Екипът обаче реши, че трябва да се даде ново име на езика и бяха предложени думи като DNA, revolutionary, Jolt, Dynamic, Silk и др. Всички тези имена бяха забавни за изговаряне и лесни за изричане. Но това, което липсваше, беше същността на езика в предложените имена, които екипът искаше да има. Според Джеймс Гослинг, Java и Silk бяха две от най-популярните опции и тъй като Java имаше уникално име, повечето хора го предпочетоха.
Ява също е име на остров в Индонезия, където се е произвеждало кафе (наречено Java Coffee). Името Java е избрано от Джеймс Гослинг, защото пие кафе близо до офиса си. Читателите трябва да отбележат, че Java не е акроним. Това е просто име.
Терминологиите в Java
JVM (виртуална машина на Java): JVM е спецификацията, която улеснява средата за изпълнение, в която се извършва изпълнението на байт кода на Java. Всеки път, когато някой използва командата Java, се създава екземпляр на JVM . JVM улеснява дефинирането на областта на паметта, набора от регистри, файловия формат на класа и докладването на фатални грешки. Имайте предвид, че JVM зависи от платформата.
Байтов код: Вече беше обсъдено в уводната част, че Java компилаторът компилира Java кода, за да генерира .class файла или байт кода. Човек трябва да използва javac команда за извикване на Java компилатора.
Java Development Kit (JDK): Това е пълният комплект за разработка на Java, който обхваща всичко, включително JRE (Java Runtime Environment), компилатор, Java документи, програми за отстраняване на грешки и т.н. JDK трябва да бъде инсталиран на компютъра за създаване, компилиране и изпълнение на Java програма.
Java Runtime Environment (JRE): JRE е част от JDK. Ако системата има инсталиран само JRE, тогава потребителят може да стартира само програмата. С други думи, само java команда работи. Компилирането на Java програма няма да бъде възможно (the javac командата няма да работи).
Събирач на боклук: Програмистите не могат да изтриват обекти в Java. За да направи това, JVM има програма, известна като Garbage Collector. Събирачите на боклук припомнят или изтриват нереферирани обекти. Garbage Collector улеснява живота на разработчика/програмиста, тъй като не трябва да се тревожи за управлението на паметта.
Classpath: Както подсказва името, classpath е пътят, където Java компилаторът и Java runtime търсят .class файла за зареждане. Много вградени библиотеки се предоставят от JDK. Въпреки това, ако някой иска да използва външните библиотеки, той трябва да бъде добавен към classpath.
Отличителни характеристики на Java
Независимо от платформата: Вместо директно генериране на .exe файла, Java компилаторът преобразува Java кода в байт код и този байт код може да се изпълнява на различни платформи без проблем, което прави Java независим от платформата език. Имайте предвид, че за да изпълни байт кода, JVM трябва да бъде инсталиран в системата, което зависи от платформата.
Обектно-ориентиран език за програмиране: Концепцията за обектно-ориентираното програмиране се основава на концепцията за обекти и класове. Освен това има няколко качества, които присъстват в обектно-ориентираното програмиране. Някои от тях са споменати по-долу.
- Абстракция
- Наследство
- Полиморфизъм
- Капсулиране
Езикът Java също широко използва концепциите за класове и обекти. Освен това всички тези функции, споменати по-горе, са налични в Java, което прави Java обектно-ориентиран език за програмиране. Обърнете внимание, че Java е обектно-ориентиран език за програмиране, но не е 100% обектно-ориентиран.
просто: Java се счита за прост език, защото няма концепцията за указатели, множество наследявания, изрично разпределение на паметта или претоварване на оператори.
Здрав:
Езикът Java е много стабилен. Значението на здрав е надежден. Езикът Java е разработен по такъв начин, че много проверки за грешки се извършват възможно най-рано. Именно поради тази причина този език може да идентифицира онези грешки, които са трудни за идентифициране в други езици за програмиране. Обработка на изключения, събиране на боклук и разпределяне на памет са функциите, които правят Java стабилна.
Сигурно: Има няколко грешки като препълване на буфера или повреда на стека, които не могат да се използват в езика Java. Знаем, че езикът Java няма указатели. Следователно не е възможно да имате достъп до масиви извън границите. Ако някой се опита да го направи, се повдига изключение ArrayIndexOutofBound. Също така, изпълнението на Java програмите се случва в среда, която е напълно независима от операционната система, което прави този език още по-сигурен.
Разпространено: Разпределените приложения могат да бъдат създадени с помощта на езика Java. Enterprise Java beans и Remote Method Invocation се използват за създаване на разпределени приложения. Разпространението на Java програми може лесно да се случи между една или повече системи, които са свързани помежду си чрез интернет.
Многопоточност: Езикът Java поддържа многопоточност. Функцията за многопоточност поддържа изпълнението на две или повече части от програмата едновременно. По този начин използването на процесора е максимално.
Преносимост: Знаем, че Java е платформено независим език. По този начин байт кодът, генериран в една система, може да бъде взет от всяка друга платформа за изпълнение, което прави Java преносима.
Изпълнение на високо ниво: Архитектурата на Java е създадена по такъв начин, че намалява времето за изпълнение. На някои места Java използва JIT (Just In Time) компилатор, когато кодът се компилира на базата на заявка, където компилаторът компилира само тези методи, които са извикани и по този начин прави по-бързо изпълнение на приложенията.
Динамична гъвкавост: Езикът Java следва парадигмата на обектно-ориентираното програмиране, която ни дава свободата да добавяме нови методи и класове към съществуващите класове. Езикът Java също поддържа функции, споменати в езиците C/C++ и които обикновено се наричат родни методи.
Изпълнение на Sandbox: Известен факт е, че Java програмите се изпълняват в различна среда, което дава свобода на потребителите да изпълняват свои собствени приложения, без да засягат основната система, използвайки верификатора на байт код. Верификаторът на байт код също дава допълнителна сигурност, тъй като проверява кода за нарушение на достъпа.
Пишете веднъж, изпълнявайте навсякъде: Java кодът се компилира от компилатора, за да получи .class файла или байтовия код, който е напълно независим от каквато и да е машинна архитектура.
Компилиран и интерпретиран език: Повечето езици са или интерпретиран език, или компилиран език. Въпреки това, в случая на езика Java, той се компилира, както и интерпретираният език. Java кодът се компилира, за да получи байт кода, а байт кодът се интерпретира от софтуерно базирания интерпретатор.
Няколко програми на Java
Няколко основни Java програми са споменати по-долу.
Програма - 1
Име на файл: DemoClass.java
// Importing different classes import java.io.*; // Main class public class DemoClass { // main method public static void main(String argvs[]) { System.out.println('Welcome to javaTpoint.'); } }
Изход:
Welcome to javaTpoint.
Програма - 2
подрязване на javascript
Име на файл: AddMul.java
// Computing the sum and product of the two numbers public class AddMul { // main method public static void main(String argvs[]) { int a1; int a2; int add = 0; int prod = 0; a1 = 12; a2 = 14; add = a1 + a2; // addition prod = a1 * a2; // multiplication System.out.println('Sum = ' + add); System.out.println('Product = ' + prod); } }
Изход:
Sum = 26 Product = 168
Програма - 3
Име на файл: ComputeAv.java
// A Java program to allow the user to input two numbers from the user and compute its average. import java.util.*; public class ComputeAv { // main method public static void main(String argvs[]) { double a1; double b1; double sum1 = 0; double avg1 = 0; Scanner scnr = new Scanner(System.in); System.out.println('Input the First Number: '); a1 = scnr.nextDouble(); System.out.println('Input the Second Number: '); b1 = scnr.nextDouble(); sum1 = a1 + b1; // computing the sum avg1 = sum1 / 2; // computing the average System.out.println('Average = ' + avg1); } }
Изход:
Input the First Number: 4 Input the Second Number: 5 Average = 4.5
Програма - 4
Име на файл: Фаренхайт по Целзий.java
// A Java program that converts Celsius to Fahrenheit using formula // Fahrenheit = ((Celsius / 5) x 9 ) + 32 // import statement for taking input import java.util.Scanner; public class FahrenheitCelsius { // main method public static void main(String argvs[]) { double cel, far; Scanner scnr = new Scanner(System.in); System.out.println('Input the temperature in Celsius: '); cel = scnr.nextDouble(); far = ((cel / 5.0) * 9.0) + 32; System.out.println('Temperature in Fahrenheit is: ' + far); } }
Изход:
Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0
Програма - 5
Име на файл: TriangleArea.java
// A Java program for computing the triangle's area using its three sides // using heron's formula. import java.util.Scanner; public class TriangleArea { // main method public static void main(String[] argvs) { int s1, s2, s3; double halfPeri, ar; Scanner scnr = new Scanner(System.in); System.out.print('Enter the value of triangle's three sides:'); // taking user inputs s1 = scnr.nextInt(); s2 = scnr.nextInt(); s3 = scnr.nextInt(); // computing half perimeter halfPeri = (s1 + s2 + s3) / 2; // computing area of the triangle ar = Math.sqrt(halfPeri * (halfPeri - s1) * (halfPeri - s2) * (halfPeri - s3)); System.err.println('Triangles Area: ' + ar); } }
Изход:
филмова актриса река
Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016
Описание на различни ключови думи, използвани в горните програми
//: Използва се за поставяне на коментари в кода, за да бъде по-четим за читателите. Компилаторът игнорира напълно коментарите, докато компилира програмата. За многоредов коментар използваме: /* … */
метод main(): Най-важният метод на програмата, където започва изпълнението. Следователно цялата логика трябва да се намира в основния метод. Ако методът main() не съдържа логиката, тогава тя ще бъде там в някой друг метод, но този метод трябва да бъде извикан от метода main() директно или индиректно.
клас: Ключовата дума клас се използва за деклариране на клас в езика Java.
празен: това означава, че функцията или методът няма да връща нищо.
System.out.println(): Използва се за отпечатване на отчети, шаблони и т.н. на конзолата.
Низ argvs []: Това е аргумент от командния ред, който се използва за приемане на входни данни.
публичен: Това е ключова дума за спецификатор на достъп. Когато се приложи към метод, този метод е видим за всички. Други ключови думи за спецификация на достъп са частни, защитени и по подразбиране.
импортиране на java.io.*: Това означава, че всички класове присъстват в пакета java.io се внася. Пакетът java.io улеснява изходните и входните потоци за писане и четене на данни във файлове. * означава всички. Ако искате да импортирате само определен клас, тогава заменете * с името на класа.
System.in: Това е входният поток, който се използва за четене на знаци от устройството за въвеждане, което обикновено е клавиатура в нашия случай.
static void main(): Ключовата дума static казва, че методът може да бъде достъпен, без да се прави инстанция на класа.
System.out: Тъй като System.in се използва за четене на символите, System.out се използва за даване на резултата от програмата на изходно устройство като екрана на компютъра.
двойно, int: Различните типове данни, int за целите числа, double за double. Други типове данни са char, boolean, float и др.
println(): Методът показва текстовете на конзолата. Методът отпечатва текста на екрана и след това преминава към следващия ред. За следващия ред се използва ln. Ако не искаме курсорът да се премести на следващия ред, използваме метода print().