Јава је објектно оријентисан програмски језик заснован на класама. Језик је дизајниран тако да има што је могуће мање имплементација зависности. Намера коришћења овог језика је да се програмерима олакша писање кодова за сваку платформу. Израз ВОРА, пиши једном и трчи свуда често се повезује са овим језиком. То значи да кад год компајлирамо Јава код, добијамо бајт код (.цласс фајл) и он се може извршити (без поновног компајлирања) на различитим платформама под условом да подржавају Јаву. Године 1995. развијен је језик Јава. Углавном се користи за развој веба, десктопа и мобилних уређаја. Јава језик је познат по својој робусности, сигурности и једноставности. То је дизајнирано да има што мање зависности од имплементације.
Историја
Јава језик има веома занимљиву историју. Патрицк Наугхтон, Мике Схеридан и Јаме Гослинг, познати као Греен тим, започели су развој Јаве 1991. Ови људи су били инжењери у Сун Мицросистемс . Године 1996. објављена је прва јавна имплементација као Јава 1.0. Артур Ван Хоф је поново написао компајлер Јаве 1.0 да би био у складу са његовом спецификацијом. Са увођењем Јаве 2, нове верзије имају више различитих конфигурација које су направљене за различите платформе. Вреди напоменути да је Џејмс Гослинг познат и као отац Јаве.
Сун Мицросистемс је 1997. године приступио ИСО стандардном телу да формализује Јаву, али је процес убрзо повучен. У једном тренутку, Сун Мицросистемс је обезбедио већину своје имплементације Јаве на располагању без икаквих трошкова, упркос томе што је имао статус власничког софтвера.
Апликациони програми
Имплементација апликативног програма у Јава апликацији укључује следеће кораке.
- Креирање програма (писање кода)
- Компилација програма.
- Извршавање компајлираног кода.
Овде је вредно напоменути да ЈДК (Јава Девелопмент Кит) треба да буде правилно инсталиран на систему, као и да се одреди путања.
Програм Креирање
Јава програм се може написати помоћу уређивача текста (Нотепад++ или НотеПад или други уређивачи ће такође обавити посао) или ИДЕ (Ецлипсе, НетБеанс, итд.).
Назив документа: ТестЦласс.јава
public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } }
Напишите горњи код и сачувајте датотеку са именом ТестЦласс. Датотека треба да има .јава проширење.
Програм компилација
Отворите командну линију и откуцајте јавац ТестЦласс.јава . јавац је команда која чини да Јава компајлер ступи у акцију да компајлира Јава програм. Након наредбе морамо ставити име датотеке коју треба компајлирати. У нашем случају јесте ТестЦласс.јава . Након уноса, притисните дугме ентер. Ако све прође како треба, биће генерисана датотека ТестЦласс.цласс која садржи бајт код. Ако постоји нека грешка у програму, компајлер ће указати на то, и ТестЦласс.цласс неће бити створена.
Диана Мари Блацкер
Покретање / Извршавање програма
Након што је датотека .цласс креирана, откуцајте јава ТестЦласс да покренете програм. Излаз програма ће бити приказан на конзоли, која је поменута у наставку.
Излаз:
Hello World is my first Java Program.
Име Јава
У почетку, назив храст је дат језику. Међутим, тим је одлучио да језику треба дати ново име, а предложене су речи попут, ДНК, револуционар, Јолт, Динамиц, Силк, итд. Сва ова имена је било забавно изговорити и лако их је спеловати. Али оно што је недостајало је суштина језика у предложеним називима, коју је тим желео да има. Према Џејмсу Гослингу, Јава и Силк су биле две најпопуларније опције, а пошто је Јава имала јединствено име, већина људи га је преферирала.
Јава је такође име острва у Индонезији где се производила кафа (названа Јава Цоффее). Име Јава изабрао је Џејмс Гослинг јер је пио кафу у близини своје канцеларије. Читаоци треба да примете да Јава није акроним. То је само име.
Терминологије у Јави
ЈВМ (Јава виртуелна машина): ЈВМ је спецификација која олакшава окружење у којем се извршава Јава бајткод. Кад год неко користи команду јава, створена је инстанца ЈВМ-а . ЈВМ олакшава дефинисање меморијске области, скупа регистара, формата датотеке класе и извештавања о фаталним грешкама. Имајте на уму да ЈВМ зависи од платформе.
бајт код: Већ је било речи у уводном делу о томе да Јава компајлер компајлира Јава код да генерише .цласс фајл или бајт код. Човек мора да користи јавац команду за позивање Јава компајлера.
Јава развојни комплет (ЈДК): То је комплетан Јава Девелопмент Кит који обухвата све, укључујући ЈРЕ (Јава Рунтиме Енвиронмент), компајлер, јава документе, програме за отклањање грешака, итд. ЈДК мора бити инсталиран на рачунару за креирање, компилацију и извршавање Јава програма.
Јава Рунтиме Енвиронмент (ЈРЕ): ЈРЕ је део ЈДК. Ако систем има инсталиран само ЈРЕ, корисник може само да покрене програм. Другим речима, само јава командни радови. Компилација Јава програма неће бити могућа ( јавац команда неће радити).
Ђубретар: Програмери не могу да бришу објекте у Јави. Да би то урадио, ЈВМ има програм познат као Гарбаге Цоллецтор. Сакупљачи смећа памте или бришу нереференциране објекте. Гарбаге Цоллецтор олакшава живот програмеру/програмеру јер не морају да брину о управљању меморијом.
Путања до разреда: Као што име каже, пут до класе је путања на којој Јава компајлер и Јава рунтиме претражују .цласс датотеку за учитавање. ЈДК обезбеђује многе уграђене библиотеке. Међутим, ако неко жели да користи екстерне библиотеке, треба их додати у путању класе.
Истакнуте карактеристике Јаве
Независно од платформе: Уместо да директно генерише .еке датотеку, Јава компајлер конвертује Јава код у бајт код, а овај бајт код може да се изврши на различитим платформама без икаквих проблема, што Јава чини језиком независним од платформе. Имајте на уму да да би се извршио бајт код, ЈВМ мора бити инсталиран на систему, који зависи од платформе.
Објектно оријентисани програмски језик: Концепт објектно оријентисаног програмирања заснива се на концепту објеката и класа. Такође, постоји неколико квалитета који су присутни у објектно оријентисаном програмирању. Неки од њих су наведени у наставку.
- Одвајање
- Наслеђе
- Полиморфизам
- Енкапсулација
Јава језик такође у великој мери користи концепте класа и објеката. Такође, све ове горе поменуте карактеристике постоје у Јави, што Јаву чини објектно оријентисаним програмским језиком. Имајте на уму да је Јава објектно оријентисан програмски језик, али није 100% објектно оријентисан.
једноставно: Јава се сматра једноставним језиком јер нема концепт показивача, вишеструког наслеђа, експлицитне алокације меморије или преоптерећења оператора.
Робустан:
Јава језик је веома робустан. Значење робусног је поуздано. Јава језик је развијен на такав начин да се много провера грешака ради што је раније могуће. Управо из тог разлога овај језик може да идентификује оне грешке које је тешко идентификовати у другим програмским језицима. Руковање изузецима, прикупљање смећа и додела меморије су карактеристике које чине Јаву робусном.
безбедно: Постоји неколико грешака као што су преливање бафера или оштећење стека које није могуће искористити у језику Јава. Знамо да језик Јава нема показиваче. Због тога није могуће имати приступ низовима ван граница. Ако неко покуша да то уради, покреће се изузетак АрраиИндекОутофБоунд. Такође, извршавање Јава програма се дешава у окружењу које је потпуно независно од оперативног система, што овај језик чини још сигурнијим.
Дистрибуирано: Дистрибуиране апликације се могу креирати уз помоћ језика Јава. Ентерприсе Јава беанс и Ремоте Метход Инвоцатион се користе за креирање дистрибуираних апликација. Дистрибуција Јава програма може се лако десити између једног или више система који су међусобно повезани путем интернета.
Вишенитно: Јава језик подржава мултитхреадинг. Функција вишенитног рада подржава извршавање два или више делова програма истовремено. Дакле, коришћење ЦПУ-а је максимално.
Преносивост: Знамо да је Јава језик независан од платформе. Дакле, бајт код генерисан на једном систему може се преузети на било којој другој платформи за извршење, што Јаву чини преносивом.
Перформансе високог нивоа: Архитектура Јаве је креирана на такав начин да смањује трошкове извршавања. На неким местима, Јава користи ЈИТ (Јуст Ин Тиме) компајлер када се код компајлира на основу захтева, где компајлер компајлира само оне методе које се позивају и на тај начин чини брже извршавање апликација.
Динамичка флексибилност: Јава језик прати парадигму објектно оријентисаног програмирања, која нам даје слободу да додајемо нове методе и класе постојећим класама. Јава језик такође подржава функције поменуте у Ц/Ц++ језицима и које се генерално називају изворним методама.
Извршење СандБок-а: Позната је чињеница да се Јава програми извршавају у различитим окружењима, што корисницима даје слободу да извршавају сопствене апликације без утицаја на основни систем користећи верификатор бајт кода. Битецоде верификатор такође даје додатну сигурност јер проверава код да ли је дошло до кршења приступа.
Напиши једном покрени било где: Јава код компајлира компајлер да би добио .цласс фајл или бајт код, који је потпуно независан од архитектуре било које машине.
Састављен и интерпретиран језик: Већина језика је или интерпретирани или компајлирани језик. Међутим, у случају језика Јава, он се компајлира као и интерпретирани језик. Јава код се компајлира да би се добио бајткод, а бајткод се тумачи помоћу софтверског тумача.
Неколико програма на Јави
Неколико основних Јава програма је поменуто у наставку.
Програм - 1
Назив документа: ДемоЦласс.јава
// 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
Назив документа: АддМул.јава
// 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
Назив документа: ЦомпутеАв.јава
// 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
Назив документа: Фаренхајт Целзиус.јава
// 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
Назив документа: ТрианглеАреа.јава
// 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
Опис различитих кључних речи које се користе у горњим програмима
//: Користи се за стављање коментара у код како би био читљивији за читаоце. Компајлер потпуно игнорише коментаре док компајлира програм. За коментаре у више редова користимо: /* … */
маин() метода: Најважнији метод програма где почиње извршење. Дакле, сва логика мора бити у главном методу. Ако метода маин() не садржи логику, онда ће бити ту у неком другом методу, али та метода мора бити позвана из методе маин() директно или индиректно.
класа: Кључна реч цласс се користи за декларисање класе у језику Јава.
празнина: то значи да функција или метод неће ништа враћати.
Систем.оут.принтлн(): Користи се за штампање изјава, образаца, итд., на конзоли.
Стринг аргвс[]: То је аргумент командне линије који се користи за унос уноса.
јавно: То је кључна реч спецификације приступа. Када се примени на метод, онда је тај метод видљив свима. Друге кључне речи спецификације приступа су приватно, заштићено и подразумевано.
импорт јава.ио.*: То значи да су све класе присутне у пакету јава.ио се увози. Пакет јава.ио олакшава излазне и улазне токове за писање и читање података у датотеке. * значи све. Ако неко жели да увезе само одређену класу, онда замените * именом класе.
Систем.ин: То је улазни ток који се користи за читање знакова са уређаја за унос, који је у нашем случају обично тастатура.
статиц воид маин(): Кључна реч статиц говори да се методи може приступити без инстанцирања класе.
Систем.оут: Како се Систем.ин користи за читање знакова, Систем.оут се користи за давање резултата програма на излазном уређају као што је екран рачунара.
дупло, инт: Различити типови података, инт за целе бројеве, дупло за дупло. Други типови података су цхар, боолеан, флоат итд.
принтлн(): Метод приказује текстове на конзоли. Метода штампа текст на екрану, а затим прелази на следећи ред. За следећи ред се користи лн. Ако не желимо да се курсор помери на следећи ред, користимо метод принт().