Java jest obiektowym językiem programowania opartym na klasach. Język zaprojektowano tak, aby miał jak najmniej implementacji zależności. Zamiarem używania tego języka jest odciążenie programistów od pisania kodów dla każdej platformy. Termin WORA, pisz raz i uruchamiaj wszędzie jest często kojarzony z tym językiem. Oznacza to, że za każdym razem, gdy kompilujemy kod w Javie, otrzymujemy kod bajtowy (plik .class), który można wykonać (bez ponownej kompilacji) na różnych platformach, pod warunkiem, że obsługują one Javę. W roku 1995 powstał język Java. Stosowany jest głównie do tworzenia urządzeń internetowych, stacjonarnych i mobilnych. Język Java jest znany ze swojej solidności, bezpieczeństwa i prostoty. Zostało to zaprojektowane tak, aby mieć jak najmniej zależności implementacyjnych.
Historia
Język Java ma bardzo interesującą historię. Patrick Naughton, Mike Sheridan i Jame Gosling, znani jako zespół Greena, rozpoczęli rozwój Java w 1991 roku. Ci ludzie byli inżynierami w firmie Mikrosystemy Sun . W 1996 roku wydano pierwszą publiczną implementację jako Java 1.0. Kompilator Java 1.0 został przepisany przez Arthura Van Hoffa, aby był ściśle zgodny ze specyfikacją. Wraz z wprowadzeniem Java 2 nowe wersje mają wiele różnych konfiguracji, które zostały stworzone dla różnych platform. Warto dodać, że James Gosling nazywany jest także ojcem Jawy.
W 1997 roku firma Sun Microsystems zwróciła się do organu normalizacyjnego ISO z prośbą o sformalizowanie języka Java, ale proces ten został wkrótce wycofany. W pewnym momencie firma Sun Microsystems udostępniała większość swoich implementacji języka Java bezpłatnie, pomimo posiadania statusu oprogramowania prawnie zastrzeżonego.
Programy aplikacyjne
Implementacja programu aplikacyjnego w aplikacji Java obejmuje następujące kroki.
- Tworzenie programu (pisanie kodu)
- Kompilacja programu.
- Wykonywanie skompilowanego kodu.
Warto w tym miejscu zaznaczyć, że w systemie należy poprawnie zainstalować JDK (Java Development Kit), a także ustawić ścieżkę.
Program Tworzenie
Program Java można napisać przy użyciu edytora tekstu (Notepad++, NotePad lub inne edytory również wykonają to zadanie.) lub IDE (Eclipse, NetBeans itp.).
Nazwa pliku: 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.'); } }
Napisz powyższy kod i zapisz plik o nazwie TestClass. Plik powinien mieć .Jawa rozszerzenie.
Kompilacja programu
Otwórz wiersz poleceń i wpisz javac TestClass.java . javac to polecenie, które powoduje, że kompilator Java zaczyna działać w celu skompilowania programu Java. Po poleceniu musimy podać nazwę pliku, który należy skompilować. W naszym przypadku tak TestClass.java . Po wpisaniu naciśnij klawisz Enter. Jeśli wszystko pójdzie dobrze, zostanie wygenerowany plik TestClass.class zawierający kod bajtowy. Jeśli w programie wystąpi jakiś błąd, kompilator wskaże go i Klasa testowa.klasa nie powstanie.
Uruchamianie / wykonywanie programu
Po utworzeniu pliku .class wpisz Klasa testowa Java aby uruchomić program. Dane wyjściowe programu zostaną wyświetlone na konsoli, o czym mowa poniżej.
Wyjście:
Hello World is my first Java Program.
Imię Jawa
Początkowo językowi nadano nazwę dąb. Zespół zdecydował jednak, że należy nadać językowi nową nazwę i zasugerowano takie słowa, jak DNA, rewolucyjny, Jolt, Dynamic, Silk itp. Wszystkie te nazwy były zabawne w wymawianiu i łatwe do przeliterowania. Brakowało jednak istoty języka w sugerowanych nazwach, którą zespół chciał mieć. Według Jamesa Goslinga najpopularniejszymi opcjami były Java i Silk, a ponieważ Java miała unikalną nazwę, większość ludzi ją preferowała.
Java to także nazwa wyspy w Indonezji, na której produkowano kawę (zwaną Java Coffee). Nazwę Java wybrał James Gosling, ponieważ pił kawę w pobliżu swojego biura. Czytelnicy powinni pamiętać, że Java nie jest akronimem. To tylko imię.
Terminologie w Javie
JVM (wirtualna maszyna Java): JVM to specyfikacja ułatwiająca środowisko wykonawcze, w którym odbywa się wykonywanie kodu bajtowego Java. Ilekroć ktoś używa polecenia Jawa, tworzona jest instancja maszyny JVM . JVM ułatwia definiowanie obszaru pamięci, zestawu rejestrów, formatu pliku klasy i raportowanie błędów krytycznych. Należy pamiętać, że maszyna JVM jest zależna od platformy.
Kod bajtowy: We wstępie zostało już omówione, że kompilator Java kompiluje kod Java w celu wygenerowania pliku .class lub kodu bajtowego. Trzeba skorzystać z javac polecenie wywołania kompilatora Java.
Zestaw deweloperski Java (JDK): Jest to kompletny zestaw Java Development Kit, który obejmuje wszystko, łącznie z JRE (Java Runtime Environment), kompilatorem, dokumentacją Java, debugerami itp. Aby możliwe było tworzenie, kompilacja i wykonywanie programu Java, na komputerze musi być zainstalowany pakiet JDK.
Środowisko wykonawcze Java (JRE): JRE jest częścią JDK. Jeśli w systemie jest zainstalowane tylko środowisko JRE, użytkownik może jedynie uruchomić program. Inaczej mówiąc, tylko Jawa polecenie działa. Kompilacja programu Java nie będzie możliwa (plik javac polecenie nie zadziała).
Śmieciarz: Programiści nie mogą usuwać obiektów w Javie. Aby to zrobić, JVM ma program znany jako Garbage Collector. Moduły zbierające śmieci przypominają lub usuwają obiekty, do których nie ma odniesienia. Garbage Collector ułatwia życie programiście/programiście, ponieważ nie musi się on martwić o zarządzanie pamięcią.
Ścieżka zajęć: Jak sama nazwa wskazuje, ścieżka klas to ścieżka, w której kompilator Java i środowisko wykonawcze Java przeszukują plik .class do załadowania. JDK zapewnia wiele wbudowanych bibliotek. Jeśli jednak ktoś chce skorzystać z bibliotek zewnętrznych, należy je dodać do ścieżki klas.
Zasadnicze cechy Javy
Niezależny od platformy: Zamiast bezpośrednio generować plik .exe, kompilator Java konwertuje kod Java na kod bajtowy, a ten kod bajtowy można bez problemu wykonać na różnych platformach, co czyni Java językiem niezależnym od platformy. Należy pamiętać, że aby wykonać kod bajtowy, w systemie musi być zainstalowana maszyna JVM, która jest zależna od platformy.
Język programowania obiektowego: Koncepcja programowania obiektowego opiera się na koncepcji obiektów i klas. Ponadto istnieje kilka cech, które są obecne w programowaniu obiektowym. Poniżej wymieniono kilka z nich.
- Abstrakcja
- Dziedzictwo
- Wielopostaciowość
- Kapsułkowanie
Język Java również szeroko wykorzystuje pojęcia klas i obiektów. Ponadto wszystkie wymienione powyżej funkcje są dostępne w Javie, co czyni Javę obiektowym językiem programowania. Należy pamiętać, że Java jest językiem programowania zorientowanym obiektowo, ale nie w 100% zorientowanym obiektowo.
Prosty: Java jest uważana za język prosty, ponieważ nie ma w niej koncepcji wskaźników, wielokrotnego dziedziczenia, jawnej alokacji pamięci ani przeciążania operatorów.
Solidny:
Język Java jest bardzo solidny. Znaczenie solidnego jest niezawodne. Język Java został opracowany w taki sposób, że duża część sprawdzania błędów jest wykonywana tak wcześnie, jak to możliwe. Z tego powodu język ten potrafi zidentyfikować błędy, które są trudne do zidentyfikowania w innych językach programowania. Obsługa wyjątków, wyrzucanie elementów bezużytecznych i alokacja pamięci to funkcje, które sprawiają, że Java jest niezawodna.
Bezpieczne: Istnieje kilka błędów, takich jak przepełnienie bufora lub uszkodzenie stosu, których nie można wykorzystać w języku Java. Wiemy, że język Java nie ma wskaźników. Dlatego nie jest możliwy dostęp do tablic poza granicami. Jeśli ktoś spróbuje to zrobić, zgłaszany jest wyjątek ArrayIndexOutofBound. Ponadto wykonywanie programów Java odbywa się w środowisku całkowicie niezależnym od systemu operacyjnego, co czyni ten język jeszcze bezpieczniejszym.
Rozpowszechniane: Aplikacje rozproszone można tworzyć przy pomocy języka Java. Do tworzenia aplikacji rozproszonych używane są korporacyjne komponenty Java i zdalne wywoływanie metod. Dystrybucja programów Java może odbywać się z łatwością pomiędzy jednym lub większą liczbą systemów połączonych ze sobą za pomocą Internetu.
Wielowątkowość: Język Java obsługuje wielowątkowość. Funkcja wielowątkowości umożliwia jednoczesne wykonywanie dwóch lub więcej części programu. W ten sposób maksymalne jest wykorzystanie procesora.
Ruchliwość: Wiemy, że Java jest językiem niezależnym od platformy. Zatem kod bajtowy wygenerowany w jednym systemie można przenieść na dowolną inną platformę do wykonania, co czyni Javę przenośną.
Wydajność na wysokim poziomie: Architektura Java jest tworzona w taki sposób, że zmniejsza obciążenie czasu wykonania. W niektórych miejscach Java używa kompilatora JIT (Just In Time), gdy kod jest kompilowany na żądanie, gdzie kompilator kompiluje tylko te metody, które są wywoływane, co przyspiesza wykonywanie aplikacji.
zmień programowanie w Javie
Dynamiczna elastyczność: Język Java opiera się na paradygmacie programowania obiektowego, który daje nam swobodę dodawania nowych metod i klas do istniejących klas. Język Java obsługuje także funkcje wspomniane w językach C/C++, które ogólnie określa się mianem metod natywnych.
Wykonanie SandBoxa: Wiadomo, że programy Java są wykonywane w różnych środowiskach, co daje użytkownikom swobodę uruchamiania własnych aplikacji bez wpływu na system bazowy za pomocą weryfikatora kodu bajtowego. Weryfikator kodu bajtowego zapewnia również dodatkowe bezpieczeństwo, ponieważ sprawdza kod pod kątem naruszenia zasad dostępu.
Napisz raz, biegnij gdziekolwiek: Kod Java jest kompilowany przez kompilator w celu uzyskania pliku .class lub kodu bajtowego, co jest całkowicie niezależne od jakiejkolwiek architektury maszyny.
Język skompilowany i interpretowany: Większość języków to języki interpretowane lub języki kompilowane. Jednak w przypadku języka Java jest on kompilowany tak samo jak język interpretowany. Kod Java jest kompilowany w celu uzyskania kodu bajtowego, który jest interpretowany przez interpreter programowy.
Kilka programów w Javie
Poniżej wymieniono kilka podstawowych programów Java.
Program - 1
Nazwa pliku: 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.'); } }
Wyjście:
Welcome to javaTpoint.
Program - 2
Nazwa pliku: DodajMul.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); } }
Wyjście:
Sum = 26 Product = 168
Program - 3
Nazwa pliku: 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); } }
Wyjście:
Input the First Number: 4 Input the Second Number: 5 Average = 4.5
Program - 4
para Java
Nazwa pliku: FahrenheitCelsius.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); } }
Wyjście:
Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0
Program - 5
Nazwa pliku: 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); } }
Wyjście:
Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016
Opis różnych słów kluczowych używanych w powyższych programach
//: Służy do umieszczania komentarzy w kodzie, aby uczynić go bardziej czytelnym dla czytelników. Kompilator całkowicie ignoruje komentarze podczas kompilacji programu. W komentarzach wieloliniowych używamy: /* … */
metoda główna(): Najważniejsza metoda programu, od której rozpoczyna się wykonanie. Dlatego cała logika musi znajdować się w metodzie głównej. Jeśli metoda main() nie zawiera logiki, będzie ona dostępna w innej metodzie, ale tę metodę należy wywołać z metody main() bezpośrednio lub pośrednio.
klasa: Słowo kluczowe class służy do deklarowania klasy w języku Java.
próżnia: oznacza to, że funkcja lub metoda niczego nie zwróci.
System.out.println(): Służy do drukowania instrukcji, wzorców itp. na konsoli.
Ciąg argvs[]: Jest to argument wiersza poleceń używany do pobierania danych wejściowych.
publiczny: Jest to słowo kluczowe określające dostęp. Kiedy zostanie zastosowany do metody, metoda ta będzie widoczna dla wszystkich. Inne słowa kluczowe specyfikatora dostępu to: prywatny, chroniony i domyślny.
importuj java.io.*: Oznacza to, że wszystkie klasy obecne w pakiecie Java.io jest importowany. Pakiet java.io ułatwia strumienie wyjściowe i wejściowe do zapisywania i odczytywania danych do plików. * oznacza wszystko. Jeśli ktoś chce zaimportować tylko określoną klasę, należy zastąpić * nazwą klasy.
System.in: Jest to strumień wejściowy, który służy do odczytywania znaków z urządzenia wprowadzającego dane, którym w naszym przypadku jest zwykle klawiatura.
statyczna pustka main(): Słowo kluczowe static informuje, że dostęp do metody można uzyskać bez tworzenia instancji klasy.
System.wyjście: Ponieważ System.in służy do odczytywania znaków, System.out służy do wyświetlania wyniku programu na urządzeniu wyjściowym, takim jak ekran komputera.
podwójne, int: Różne typy danych, int dla liczb całkowitych, double dla double. Inne typy danych to char, boolean, float itp.
drukuj(): Metoda pokazuje teksty na konsoli. Metoda wypisuje tekst na ekranie i następnie przechodzi do następnej linii. W następnym wierszu użyto ln. Jeśli nie chcemy, aby kursor przechodził do kolejnej linii, należy skorzystać z metody print().