Kapitel 2 Einfache Anweisungen Das erste Programm Noch ein

Werbung
Kapitel 2
Das erste Programm
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
beliebiger Text, eingeschlossen in /*... */, zur ErlŠuterung
Einfache Anweisungen
/* Mehrzeiliger Kommentar:
Das "Hello World" Beispiel.
*/
public class HelloWorld
{
public static void main (String args[])
{
System.out.println("Hello World"); // Kommentar
}
}
Ausgabeanweisung fŸr den Text ãHello WorldÒ
Rahmen (Details kommen spŠter)
Noch ein Programm
Vereinbarung (Deklaration) einer Variablen:
Ein Name im Programm fŸr eine Stelle im Speicher, der ein Wert
zugewiesen werden kann. Eine Variable besitzt einen Typ und
kann nur Werte dieses Typs annehmen
public class Test
{
public static void main (String args[])
{
int n;
n=3*4;
System.out.println(n);
}
arithmetischer Ausdruck, bestehend aus zwei
}
Konstanten und einem Operator
Zuweisung: Der Variable wird ein Wert (12) zugeordnet
Numerische Datentypen
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Datentyp
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Speicherbedarf (Bits)
Wertemenge
byte
8
-128 ... 127
short
16
-32768 ... 32767
int
32
-2147483648 ... -2147483647
long
64
-1018 ... 1018
float
32Ê
-1038 ... 1038
double
64
-10308 ... 10308
Beispiele fŸr Konstanten (Literale) der jeweiligen Typen
float:
3.14f
int:
139, 0xff
double:
1e-9d
.
Operatoren
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Operatoren:
Typwandlung
Was passiert, wenn ich Variablen unterschiedlichen Typs verknŸpfen
mšchte:
+
Addition
-
Subtraktion
int n = 4;
*
Multiplikation
double x = 3.14 + n;
/
Division
%
Modulo-Operator
-
Vorzeicheninvertierung (unŠr)
Implizite Konversion (wenn nštig)
byte -> short -> int -> long -> float -> double
Signaturen: (Welche Typen hat der Operator als Ein- und Ausgabe)
int x int -> int
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Explizite Konversion durch Type Cast:
float celsius; double fahrenheit = 96.5;
int n = 3 + 4
celsius = (float) ((5.0 - 9.0) * (fahrenheit - 32.0));
long x long -> long
float x float -> float
double x double -> double
Typwandlung
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Logische Werte
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Typ:
boolean
Beispiel
Werte:
true false
public class Test
Operatoren:
{
public static void main (String args[])
Vergleichsoperatoren (fŸr beliebige Typen)
{
== (gleich)
!= (ungleich)
< (kleiner)
> (grš§er
long c=1000000000000l; // das l ist notwendig!
System.out.println(c); // druckt korrekten Wert
System.out.println((int)c); // druckt -727379968
}
}
<= (kleiner gleich)
>= (grš§er gleich)
liefern Werte vom Typ boolean
Logische Operatoren (fŸr Werte vom Typ boolean)
& (und)
| (oder)
^ (ausschlie§endes oder)
! (nicht)
Logische Werte
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
boolean istRentner, ist Jugendlich, hatArbeit,
freierEintritt;
Die AusfŸhrungsreihenfolge ist streng festgelegt, entspricht aber der Ÿblichen
Konvention.
int alter;
System.out.println((3.0+7.0)/(4.0*5.0+80.0)); // druckt 0.1
...
System.out.println((3.0+7)/(4*5+8)); // druckt 0.1
istRentner = alter >= 65;
System.out.println((double)(3+7)/(4*5+8)); // druckt auch 0.1
freierEintritt = (IstRentner || ist Jugendlich) &&
!hatArbeit);
System.out.println((3+7)/(4*5+80)); // druckt aber 0 !!!
Ausgabe logischer Werte:
System.out.println("It is " + hatArbeit +
"that he is employed );
fŸhrt zur Ausgabe:
It is true that he is employed
Inkrementieren und Dekrementieren
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Mathematische Funktionen
Technische Informatik
Hans-Ulrich Hei§
UniversitŠt Paderborn
Es gibt die Operatoren ++ und --, und zwar nachgestellt und
vorausgestellt.
Die mathematischen Funktionen sind in der Klasse Math statisch erklŠrt. Sie
werden daher wie im folgenden Beispiel aufgerufen:
Diese Operatoren erhšhen, bzw. erniedrigen, einen ganzahligen Wert um
1. Bei ++n vor der Verwendung von n, bei n++ danach.
System.out.println(Math.exp(1)); // Druckt den Wert von e
Es gibt die Ÿblichen Funktionen abs, sin, cos, exp, log, asin, acos und sqrt
definiert.
Man kann diese Operatoren auch als Anweisungen verwenden. Beispiel:
int i=1;
Daneben existieren Funktionen mit zwei Variablen, wie pow (berechnet xy),
atan2 (berechnet den Winkel von x,y), max und min.
i++;
Alle diese Funktionen mŸssen mit vorangestelltem Math. aufgerufen werden.
System.out.println(i); // druckt 2.
Daneben existieren die Funktionen floor und ceil, die zur nŠchsten
ganzzahligen Funktion ab-, bzw. aufrunden.
Au§erdem existieren Kombinationen zwischen Operatoren und =.
int i=1;
Die Funktion round rundet zur nŠchsten ganzen Zahl, ergibt aber einen longWert.
i+=2;
Schlie§lich erzeugt die Funktion random eine Zufallszahl zwischen 0 und 1.
System.out.println(i); // druckt 3.
Herunterladen