next up previous
Nächste Seite: Über dieses Dokument ...

http://www.gailer-net.de/tutorials/java/java-toc.html
http://www.agnld.uni-potsdam.de/~shw/Lehre/lehrangebot/2009-JAVA/TutorialjavaHolschneider/index.html

javac HelloWorld.java --> HelloWorld.class
java HelloWorld

echo 30 |java Reihe1 > Data
xterm -bg \#fff070 -geometry 80X40 -font 10X20

Editoren: kwrite, kate

import java.math.*; //Bibliothek von Mathematischen Funktionen.

// Beispiele fuer Anweisungen

public class Anweisungen {

    public static void main ( String[] argv ) {
    
	// das ist ein Kommentar, er wird beim Kompilieren IGNORIERT

	// ------------------------------------
	// PRIMITIVE Datentypen ( Auszug )
	//------------------------------------

	int i;       // Deklaration der integer Variablen i ( kann Werte -4, -3, 21, 1222 halten )
                     // Bewirkt allocation ( Zuordnung ) von Speicherplatz
	float fa;    // Deklaration der floating variable fa
	double dx;   // Deklaration der double Variable dx
	boolean she_loves_me; // Boolsche Variable ( true or false )
	char c;     // ein einzelner Buchstabe ('x', 'a', 'r' ... )

	int j,k,l;  // Deklaration von mehreren Variablen
	double y,z;

	//----------------------
	// Integer Anweisungen
	//---------------------

	i = 35;  // Wertezuweisung
	j = i;   // Kopieren von Inhalt von Speicherplatz i nach Speicherplatz j


	k = (j=i);
	

	k = i+j; // welcher Wert ist jetzt in "Speicherplatz" k ?


	k = k + 2; // und jetzt ?
	k += 2; // Kurzform von k = k+2, ebenso i-=3; i *= 2;

	k++; // Kurzform von k += 1 Kurzform von k=k+1;
	k--; // Kurzform von k -= 1 Kurzform von k=k-1;
	
	j = k++; // jetz ist j = ALTER k wert

	++k;
	j = ++k; // jetz ist j = NEUER k wert

	--k;

	i = k / 3; // integer Division 10 / 3 = 3;
	j = k % 3; // Modulo ( = Rest der Division ) 10 % 3 = 10 Modulo 3 = 1;

	k = ( i*3 + j ) - k; // jetzt ist k gleich 0. Warum ?

	//----------------------
	// floating Anweisungen
	//---------------------

	double t;  // lokale Deklaration von t

	dx = i;  // automatische/implizite Typen Konversion
	//i = dx; // Ooooooops
	i = (int) dx; // Casting von dx auf int; explizite Typen Umwandlung

	dx = Math.sqrt(dx);   // Wurzel Funktion in Bibliothek 
	y = dx / 12;
	
	y /= 7; // y = y / 7

	//---------------------
	// boolsche Variablen
	//----------------------

	she_loves_me = (y < 0 ); // ich hasse solche Abhaengigkeiten von y .... :). 
	boolean I_am_sad = !she_loves_me; // logisches Gegenteil
	boolean I_love_her = false;// true;
	boolean we_both_are_happy = she_loves_me && I_love_her; // logisches und
	boolean we_are_free = (!she_loves_me) || (!I_love_her); // oder     

	//-------------------
	// Zeigervariablen
	//-------------------

	String text; // Deklaration von Sring mit Namen Text
	             // ACHTUNG nur Allocation von Speicher fuer die Adresse von text;


	text = new String ( "neuer Text" ); // jetzt wird Speicherplatz geschaffen auf den text zeigt.

	
	
    }
}



public class KontrollStrukturen {

    public static void main ( String [] argv ) {

	/**
	*	if konstrukt
	*/
	double x =8;

	if ( x > 10 ) {
		x = x-2; // wenn ja
	}
	else if ( (2 < x) && (x<= 10.) ) {
		x = 3*x - 5;
	}
	else if ( (0 > x) && (x  > 29) ) {
		x = 9;
	}
	else {
		System.out.println ("Das sollte nicht vorkommen"); 
	}

	int i = 9;
	if ( i == 17 ) {  // Achtung auf i=17
		x = 8; // wenn ja
	}
	// sonst

	//----------------------
	// case construkt
	//-----------------

	int k;
	k = 9;

	switch (k) {
	case (1): {
		x=0.4;
		break; // nicht vergessen!!!!
	}
	case (2): {
		x = 89;
		break;
	}	
	default: {
		x=0;
		break;
	}
	}
	//----------------------------
	// for Schleife
	//---------------------------

	int count = 0; // Deklaration und Wertezuweisung in einem Schritt;

	
	for ( int i = 0; i< 10; ++i ) { // der "for" Block wird 10 mal durchlaufen

	    count += i;
	}
	
	System.out.println ( "count = " + count  ); // coutn enthaelt jetzt 0+1+2+3+...+9

	// Beachte die "Sichtbarkeit der Variablen ii"

	int ii=1000;
	for ( int ii = 0; ii< 10; ++ii ) { // der "for" Block wird 10 mal durchlaufen
	   
	    count -= ii;
	}

	System.out.println ( "ii is now and here ???  " + ii ); // Ooooooooooooops kein ii da !!!!!

	//----------------------------
	// while Schleife
	//---------------------------

	System.out.println ( "\n----------------\nWile Schleife\n----------------\n");
	int d = 1000;

	count = 0; // reinizialisierung von count

	while ( d > 10 ) { // so lange d > 0 wird der Block wiederholt ( kann auch kein einziges mal sein )

	    count += 1;
	    d = d/2 + 5;

	    System.out.println ( "Durchlauf Nr " + count + " d = " + d);
	}// ende des while Block's

	System.out.println ( "Nach der Schleife: count jetzt " + count + " d = " + d);

	d = 1000;

	count = 0; // reinizialisierung von count

	do { // wiederhole den Block ( wird mindestens einmal gemacht ! )...

	    count += 1;
	    d = d/2 + 5;

	    System.out.println ( "Durchlauf do while Nr " + count + " d = " + d);


	} while (d > 10 ); // ... so lange Bedingung gilt


	System.out.println ( "Nach der do while Schleife: count jetzt " + count + " d = " + d);
	

    }

}




Dr.Udo Schwarz 2009-03-31