beta kod pierwszy program

Wprowadzenie

Język JAVA jest niewątpliwie jednym z najbardziej rozwijających się obecnie języków programowania. Czerpie on to co najlepsze z takich języków jak C++ czy Smaltalk przy zdecydowanie prostszej i bardziej czytelnej składni (konstrukcji) programów. Zawiera elementy programowania zarówno strukturalnego jak i obiektowego, zdarzeniowego jak i współbieżnego. Poprzez standardowe jak i rozszerzone biblioteki wkracza w różnorodne rejony zastosowań takie jak np. karty inteligentne i elektronika, systemy zarządzania bazami danych, obsługa multimediów, Internet, grafika 3D, kryptografia, itd. Co więcej JAVA jest bezpiecznym środowiskiem i umożliwia w znaczny sposób kontrolę i sterowanie bezpieczeństwem. Zdecydowanie różni się od innych języków trzeciej generacji tym, że jest językiem interpretowanym a nie kompilowanym. Powstały w wyniku kompilacji kod wynikowy nie jest programem jaki można niezależnie uruchomić lecz stanowi tzw. Beta-kod, który jest interpretowany przez Maszynę Wirtualną (JavaVM) pracującą w określonym środowisku. Ze względu na kod nie istotne jest na jakim sprzęcie będzie uruchamiana aplikacja. Ważna jest tylko Maszyna Wirtualna. Jest to ciekawy pomysł umożliwiający odcięcie się od wszystkich poziomów sprzętowo-programowych będących poniżej Maszyny Wirtualnej.

Beta-kod i maszyna wirtualna

Opis procesu tworzenia aplikacji

Proces tworzenia aplikacji w Javie można przedstawić następująco:

1. Napisanie za pomocą dowolnego edytora tekstu kodu źródłowego programu zawierającego klasę publiczną o nazwie takiej samej (dokładnie takiej samej z uwzględnieniem wielkości znaków) jak docelowa nazwa programu np. MyProgram.

2. Nagranie kodu źródłowego jako pliku o danej nazwie z rozszerzeniem .java, np. MyProgram.java

3. Kompilacja kodu źródłowego zawartego w pliku z rozszerzeniem .java do pliku

docelowego o rozszerzeniu .class zawierającego Beta-kod np.:

c:\javac MyProgram.java

javac - nazwa kompilatora programów Javy stworzonego przez firmę Sun (kompilator napisany w Javie)

MyProgram.java - kod źródłowy programu do kompilacji (UWAGA: podana nazwa pliku musi zawierać rozszerzenie .java).

W Wyniku kompilacji powstanie plik lub zestaw plików z tym samym trzonem nazwy o rozszerzeniu .class, np. MyProgram.class.

4. Uruchomienie w środowisku interpretatora Beta-kodu, np.

c:\java MyProgram

java - nazwa interpretatora Javy stworzonego przez firmę Sun,

MyProgram - nazwa pliku z Beta-kodem programu w Javie po kompilacji (UWAGA: podana nazwa pliku nie może zawierać rozszerzenia .class).

Struktura programu w języku Java

Klasę w Javie konstruuje się zaczynając od stworzenia ramy klasy:

class NazwaKlasy {

// pola

typ_zmiennej zmienna;

.

typ_zmiennej zmienna;

//konstruktor - metoda o tej samej nazwie co klasa - wywoływana automatycznie przy tworzeniu obiektu danej klasy

NazwaKlasy(typ_argumentu nazwa_argumentu){

treść_konstruktora;

}

//metody

typ_wartości_zwracanej nazwa_metody(typ_argumentu nazwa_argumentu){

treść_metody;

}

}// koniec class NazwaKlasy

Aplikacje

Aplikacja w języku Java to zdefiniowana klasa publiczna wraz z jedną ściśle określoną metodą statyczną o formie:

public static void main(String args[]){

treść_metody;

}// koniec public static void main

Tablica “args[]” będąca argumentem metody main() jest zbiorem argumentów wywołania aplikacji w ciele której znajduje się metoda. Kolejność argumentów jest następująca: argument 1 wywołania umieszczany jest w args[0], argument 2 wywołania umieszczany jest w args[1], itd. Występująca nazwa “args” oznacza dynamicznie tworzony obiekt, który zawiera args.length elementów typu łańcuch znaków. Pole “length” oznacz więc liczbę elementów tablicy. Łatwo jest więc określić argumenty oraz ich liczbę korzystając z obiektu “args”. Warto zwrócić uwagę na to, że oznaczenie “length” jest własnością tablicy (ukrytym polem każdej tablicy) a nie metodą obiektu args. Istnieje metoda klasy String o nazwie “length()” (metody zawsze są zakończone nawiasami pustymi lub przechowującymi argumenty), łatwo więc się pomylić. Dla zapamiętania różnicy posłużmy się prostym przykładem wywołania:

args.length - oznacz ilość elementów tablicy “args”;

args[0].length() -oznacza rozmiar zmiennej tekstowej o indeksie 0 w tablicy "args".

Stąd najprostsza aplikacja w języku Java może wyglądać następująco:

public class HelloWorldApp {

public static void main(String[] args) {

System.out.println("Hello World!"); //Display the string.

}

}

Narzędzia

Javac oraz Java

W celu kompilacji i uruchomienia programu napisanego w języku Java użyto w powyższym przykładzie dwóch podstawowych narzędzi pakietu Java 2 SDK: Javac oraz java. Kompilator „javac” jest nieodzowną częścią pakietu SDK, podczas gdy interpretator „java” stanowi specyficzną dla danej platformy część pakietu środowiska uruchomieniowego Java Runtime Engine. Wynika stąd, że po instalacji pakietu Java SDK interpretator „java” będzie znajdował się zarówno w części JRE (niezależnej od tworzenia aplikacji) jak i w zbiorze narzędzi tworzenia aplikacji. Przykładowo katalog zawierający Java 2 SDK wygląda następująco:

<DIR> bin

<DIR> demo

<DIR> include

<DIR> include-old

<DIR> jre

<DIR> lib

W katalogu „bin” znajdują się liczne narzędzia obsługi aplikacji np:

javac - kompilator,

java - interpretator z konsolą ,

javaw - interpretator bez konsoli,

javadoc - generator dokumentacji API,

appletviewer - interpretator apletów,

jar - zarządzanie plikami archiwów (JAR),

jdb - debager,

Ze względu na to, że pisząc programy w Javie często korzysta się z narzędzi znajdujących się w katalogu „bin”, warto ustawić w środowisku ścieżkę dostępu do tego katalogu. Narzędzia dostępne w tym katalogu można wywoływać z licznymi opcjami. Praktycznie jednak najbardziej przydatne opcje to:

*javac:

-g ->wyświetl pełną informację debagera,

- verbose ->wyświetl wszystkie komunikaty w czasie kompilacji,

np. javac -g -verbose class HelloWorldApp.java

*java:

-cp -classpath -> gdzie -classpath katalog zawierający wykorzystywane klasy

użytkownika (lepiej ustawić zmienną środowiska CLASSPATH),

-version ->wyświetl wersję platformy Javy.

Drugim ważnym katalogiem jest katalog „jre”. Jak łatwo się domyślić w katalogu tym znajduje się Java Runtime Environment JRE - platforma Javy. Zgodnie z tym co powiedziano na początku platforma Javy składa się z Maszyny Wirtualnej oraz bibliotek API. Dlatego katalog „jre” podzielony jest na dwa podkatalogi: „bin” – w którym znajduje się interpretator „java” (ten sam co wcześniej) oraz : „lib” gdzie znajdują się spakowane biblioteki API oraz pliki konfiguracyjne i środowiskowe platformy (np. określające poziom bezpieczeństwa, czcionki, fonty, itp.).

http://download.oracle.com/javase/6/docs/api/

http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html

http://www.eclipse.org/downloads/

Komentarze:

//komentarz

/* komentarz */

Komentarze specjalne:

/**

*A class representing.......

*@author Jan Kowalski

*@see java.net.URL

*/

Modyfikatory klas:

public - klasa dostępna dla wszystkich innych klas (normalnie dostępna tylko w swoim pakiecie)

final - klasa "finalna", nie można po niej dziedziczyć

abstract - klasa abstrakcyjna z "pustymi" metodami

Dziedziczenie klas:

public class MojaKlasa extends KlasaNadrzędna {

int max=100;

public int getMax() {

return max;

}

}

Słowa kluczowe super i this:

super - odwołanie do klasy przodka (np. super.wykonaj_metoda())

this - odwołanie do obecnego obiektu klasy (np. this.a = a)

Tworzenie obiektów:

Do tworzenia obiektów używamy słowa kluczowego new.

np. i = new Integer(100);

obiekt = new MojaKlasa("Jan", Kowalski");

prost = new Trojkat(15,20,25);

Korzystanie z pakietów:

Posługiwanie się klasami pakietu bez jego importowania:

java.util.Vector v = new java.util.Vector();

Import wszystkich klas i interface'ów z pakietu:

import java.awt.*;

Import tylko jednej klasy:

import java.applet.Applet;

Standardowe pakiety:

java.applet - tworzenie appletów

java.awt - okienka

java.beans - uniwersalne komponenty

java.io - operacje wejścia/wyjścia

java.lang - podstawowe klasy

java.math - wielkie liczby

java.net - współpraca z siecią

java.rmi - przetwarzanie rozproszone

java.security - bezpieczeństwo

java.sql - zapytania do baz danych

java.text - operacje na tekście

java.util - klasy pomocnicze

Pętle, warunki, itp.:

for, while, if.....else, switch....case

Wyjątki:

Wyjątek to zdarzenie, które pojawia się podczas wykonywania programu i powoduje przerwanie normalnego przepływu sterowania (wykonywania kolejnych instrukcji). Wyjątki pojawiają się kiedy nastąpiła jakaś nieprawidłowa sytuacja (np. dzielenie przez 0)

Zalety wyjątków:

throw - wysłanie wyjątku, przerwanie działania metody

throws - deklaracja możliwości wystąpienia w danej metodzie wyjątku

try - catch - blok służący przechwyceniu wyjątków

finally - blok ten wykonuje się bez względu na to czy wystąpił wyjątek czy nie

public int doSth(String str)

throws IOException {

try {

Integer.parseInt(str);

}catch (NumberFormatException e){

throw new IOException("wrong name");

}

FileStream fs = new FileStream(FN+str);

}

Przykłady:

Przykład 1

/**

* Klasa Example

* @author Andrzej Chabraszewski

* @version %1%

*/

public class Example{

/**

* Pole typu private - 8-bitowa liczba calkowita

*/

private byte fl;

/**

* Ustawia wartosc pola fl

*

*/

void setFl(int fl) {

this.fl=(byte)fl;

}

/**

* Zwraca wartosc pola fl

*

* @return wartosc pola fl

*/

public int getFl() {

return fl;

}

/**

* Glowna metoda. Tworzy obiekt klasy Example, ustawia wartosc pola fl

* na podstawie parametru z linii zlecen.

*/

public static void main(String[] argv){

Example e = new Example();

e.setFl(Integer.parseInt(argv[0]));

System.out.println(e.getFl());

}

}

Przykład 2

public class Wypelnianie{

public static void main(String[] argv){

int i;

int j;

Integer[] tab1 = new Integer[0];

for (i=0;i<argv.length;i++){

Integer[] tab2 = new Integer[i+1];

for (j=0;j<i;j++){

tab2[j]=tab1[j];

}

try {

tab2[i]=Integer.valueOf(argv[i]);

}catch(NumberFormatException e){

System.out.println("BLAD");

System.exit(0);

}

tab1=tab2;

}

for (i=0;i<argv.length;i++){

System.out.println(tab1[i]);

}

}

}

Bibliografia:

  1. Jerzy Proficz, Kurs języka Java, skrypt do przedmiotu Języki programowania równoległego 1998-2000

  2. Jacek Rumiński, Język Java, skrypt do przedmiotu Język Java, 1999

  3. Dokumentacja języka Java na stronach java.sun.com


Wyszukiwarka

Podobne podstrony:
Open GL Pierwszy program
Cwiczenie 1 pierwszy program, przycisk BUTT
1 Pierwszy program konsolowyid Nieznany
Zapoznanie z AVR i pierwsze programy
Mój pierwszy program w Pascalu
Pierwszy program w C
Kod do Programu i instalacja Time Factory
001 konspekt Pierwszy program w Paskalu
Pierwszy program z algorytmem
Kod źródłowy programu p1
10 KROKOW DO PIERWSZEGO PROGRAM Nieznany (2)
[lekcja 3] Uruchamiamy pierwszy program Kurs C++ » Poziom 1
opengl pierwszy program
1 TurboPascal Pierwsze programy
Mój pierwszy program w Pascalu
Open GL Pierwszy program
Cwiczenie 1 pierwszy program, przycisk BUTT
1 Pierwszy program konsolowyid Nieznany

więcej podobnych podstron