„Goodcodeisitsownbestdocumentation.“ (SteveMcConnell) Java–Cheatsheet JavaGrundlagen Textdatei„MeineKlasse.java“ (mussdemNamenderKlasseentsprechen!) AufbaueinerKlasse NamederKlasse public class MeineKlasse { main()-Prozedur public static void main(String[] args) { String uni = "RWTH"; System.out.println(uni); Rumpf(body)derProzedur } } Kommentare ... MehrzeiligerKommentar(beginntmit/*undendetmit*/) /* * Main-Prozedur: Einstiegspunkt (Die Ausführung des Programms startet hier) */ public static void main(String[] args) { Zeilenkommentar(beginntmit//, // String mit dem Inhalt "RWTH" erstellen giltbiszumZeilenende) String uni = "RWTH"; System.out.println(uni); // Gibt den Wert der Variable (= RWTH) aus } ... Datentypen Datentyp WasspeichertderTyp? Code-Beispiel String Zeichenketten(Text) EineinzelnesZeichen(z.B.'a'oder'?') GanzeZahlen(z.B.98,-172oder0) EineKommazahl(z.B.1.25oder-177.3895) Achtung:InJavamusseinPunktanstelledes Kommasverwendetwerden! Wahrheitswerttrue(wahr)oderfalse(falsch) String titel = "Vorkurs Informatik"; char geschlecht = 'w'; char int double boolean int alter = 21; double hoehe = 175.6; boolean student = true; Java–Cheatsheet InformatikVorkurs Variablen Waswillmantun? BeispielhafteUmsetzunginJava DeklarationundInitialisierung String uni = "RWTH"; Alternativ: String uni; // Deklarieren. uni = "RWTH"; // Wert zuweisen. int k, l, n; Hier:FüreineString-Variable DeklarationvonmehrerenVariablen Hier:FürVariablenvomDatentypint DeklarationvonmehrerenVariablenmiteinzelnerInitialisierung int k=7, l, n; Hier:InitialisierungmehrererVariablen(k,l,n)vomDatentypint, wobeinurkeinWertzugewiesenwird Zuweisung n = 5; Hier:ZuweisungdesWerts5andieVariablen ZuweisungdesErgebnisseseinerRechnung l = n + k; Hier:DasErgebnisvonn+kwirdderVariablelzugewiesen ZuweisungdesErgebnisseseinerRechnungmitKlammersetzung (Addition+,Subtraktion-,Multiplikation*,Division/) n = l*2 - (k + 3 / n); Arrays(Felder) Waswillmantun? BeispielhafteUmsetzunginJava DeklarationeinesArrays Hier:ArrayvomDatentypdouble double[] daten; // Der Wert von daten ist null. DeklarationundInitialisierungeinesArrays double[] daten = new double[5]; Hier:ArrayvomDatentypdoublemitderLänge5 ZuweisungeinesWertsaneineStelleimArray Hier:ZuweisungandieersteundletzteStelledesArraysdaten daten[0] = 3.0; daten[4] = 7.0; ZuweisungvoneinerStelleimArrayaneineVariable double m = daten[1]; Hier:ZuweisungvonderzweitenStelleimArraydatenaneineVariablem vomTypdouble LängeeinesArrays int datenLaenge = daten.length; Ausgabe Waswillmantun? BeispielhafteUmsetzunginJava AusgabeeinerZeichenkette System.out.print("Hallo "); System.out.print("Welt"); Hier:Ausgabevon„HalloWelt“ AusgabeeinerZeichenkettemitanschließendemZeilenumbruch Hier:Ausgabevon„Hallo“und(ineinerneuenZeile)„Welt“ AusgabeeinesVariablenwertes Zeichenkettenverbinden Hier(füruni="RWTH"undn=5):(1)WillkommenanderRWTH! (2)DasErgebnisist8 System.out.println("Hallo"); System.out.println("Welt"); System.out.println(n); "Willkommen an der " + uni + "!" "Das Ergebnis ist: " + (n+3) Bedingungen Waswillmantun? BeispielhafteUmsetzunginJava BedingteAusführung if (n >= 5) { // Etwas } if (n >= 5) { // Etwas } else { Hier:Ausführungvonetwas,wennderWertvonngrößerodergleich5ist. BedingteAusführungmitalternativerAusführungbeinichterfüllter Bedingung 2 Java–Cheatsheet InformatikVorkurs Hier:Ausführungvonetwas,wennderWertvonngrößerodergleich5ist, sonstwirdetwasanderesausgeführt. WerteVergleichen (<kleiner,<=kleinergleich,==gleich,!=ungleich>größer,>=größergleich) Hier:(1)Istngleich0?(2)Istcungleich'a'?(3)Istdkleinerodergleich5,2? StringsVergleichen // Etwas anderes } n == 0 c != 'a' d <= 5.2 s.equals("Hallo Welt"); Hier:Istsgleich"HalloWelt"? NegationeinerBedingung !(n > 5) Hier:Istnnichtgrößerals5? n >= 0 && n <= 5 VerknüpfungvonBedingungen(&&logisches„und“,||logisches„oder“) Hier:Istnzwischen0und5? if (!(n < 4) || (l != n + k && daten[0] == m)) { Klammersetzungineinerkomplexeren // Etwas Bedingung } Schleifen While-Schleife Laufbedingung:Schleifewirdnurwiederholt,solangedieseerfüllt(wahr)ist ... while ( n < MAX_N ) { Hier:Schleifewirdsolangeausgeführt,wienkleineristalsMAX_Nist n = n*2; } ... Rumpf(body)derSchleife:Daswaswiederholtwird For-Schleife Initialisierung:FestlegungderStartsituation(i.d.R.DeklarationundInitialisierungderZählvariablen) Schrittweite:VeränderungderZählvariablennachjedemSchritt ... (Hiergleichbedeutendzui=i+1sindi++sowiei+=1) for ( int i=0 ; i<10||i<n ; i=i+1 ) { Laufbedingung:Schleifewirdnurwiederholt,solangedieseerfüllt(wahr)ist System.out.println(i + " zum Quadrat ist " + i*i); } ... Rumpf(body)derSchleife Effekt:EswerdendieQuadratzahlenfür0bis9ausgeben.Also„0zumQuadratist0“,„1zumQuadrat ist1“,„2zumQuadratist4“usw.bis„9zumQuadratist81“. Initialisierung:StartebeidererstenStelle(Index=0!) Schrittweite:ImmerzweiStellenweiter for ( int i=0 ; i<daten.length ; i=i+2 ) { ... Laufbedingung:SolangeZählvariablekleineralsAnzahlderStellenindaten daten[i] = daten[i] / 2; } ... Rumpf(body):WertderStelledurchzweiteilenundderStellewiederzuweisen Effekt:DerWertanjedereinzelnenStelledesArraysdatenwirddurchzweigeteilt. 3 Java–Cheatsheet InformatikVorkurs ProzedurenundFunktionen EinfacheProzedurohneParameterundRückgabe public class MeineKlasse { Rückgabetyp„void“:KeineRückgabe KeineArgumente/Parameter public static void halloWelt ( ) { Signatur NamederProzedur Rumpf(body)derProzedur System.out.println("Hallo Welt!"); } } ProzedurmitParameternundRückgabe(Funktion) public class MeineKlasse { Rückgabe-Typ(returntype) Argumente/Parameter public static int addiere ( int a , int b ) { NamederFunktion // Ergebnis ausgeben return a+b; } Signatur Argumenttyp Argumentvariable Rumpf(body)derFunktion Rückgabe(returnstatement) } VerwendungvonProzeduren/Funktionen public class HauptKlasse { public static void main(String[] args) { // Verwendung der Prozedur halloWelt MeineKlasse.halloWelt ( ); // Ausgabe: Hallo Welt! NamederKlasse NamederProzedur KeineParameter Parameter int zahl = 3; // Verwendung der Funktion addiere (inderFunktionaddierewird int ergebnis = MeineKlasse.addiere ( zahl, 11 ); demParameter„a“derWert NamederKlasse NamederFunktion vonZahlunddemParameter System.out.println(ergebnis); // Ausgabe: 14 „b“derWert11zugeordnet) } } 4 Java–Cheatsheet InformatikVorkurs Klassen,ObjekteundMethoden EinfacheKlasse Fahrzeug.java public class Fahrzeug { Klassenname public String hersteller; public String modell; Attribute public Fahrzeug () { hersteller = "RWTH Motors"; modell = "SuperA"; } BezeichnerderAttribute Standard-Konstruktor (keineParameter) public void fahrzeugAusgeben() { System.out.println(hersteller + " " + modell); } Methode } MeineKlasse1.java public class HauptKlasse { public static void main(String[] args) { Fahrzeug f = new Fahrzeug(); new+Konstruktor,umObjektzuerzeugen ObjektvomTypFahrzeugerstellen Variabledeklarieren f.fahrzeugAusgeben(); // Ausgabe: RWTH Motors SuperA f.modell = "Karman"; MethodedesObjektsderKlasseFahrzeugaufrufen VariabledesObjektsändern f.fahrzeugAusgeben(); // Ausgabe: RWTH Motors Karman } } 5 Java–Cheatsheet InformatikVorkurs VererbungmitabstrakterOberklasse Person.java public abstract class Person { AbstrakteKlasse public String name; public int alter; Klassenname Attribute Konstruktor public Person() { name = "Max Mustermann"; alter = 38; } public void personenBeschreibungAusgeben(boolean nurNamenNennen) { Bezeichnerder System.out.println("Name: " + name); if(!nurNamenNennen) { Attribute System.out.println("Alter: " + alter); System.out.println("Beruf: " + beruf()); } } Methode Deklarationeiner abstraktenMethode public abstract String beruf(); } Student.java public class Student extends Person { KlasseStudentalsUnterklassederKlassePerson KonstruktormitParametern public Student(String name, int alter) { this.name = name; this.alter = alter; } BezeichnerderAttribute Definitionderabstrakten Methode public String beruf() { return "Student"; } } MeineKlasse2.java public class HauptKlasse { public static void main(String[] args) { new+Konstruktor,umObjektzuerzeugen Student s = new Student("Peter", 24); ObjektvomTypStudenterstellen Variabledeklarieren System.out.println(s.personenBeschreibungAusgeben(true)); // Ausgabe: Name: Peter } } 6 Java–Cheatsheet InformatikVorkurs PlatzfüreigeneNotizen Waswillmantun? BeispielhafteUmsetzunginJava 7 Java–Cheatsheet InformatikVorkurs BereitgestellteBibliotheken Eingabe Eingabe.intEinlesen() Liesteinenint-WertvonderKonsoleeinundgibtdiesenzurück.ImFalleeinerfehlerhaften EingabewirddieZahl0zurückgeliefertundeineFehlermeldunginderKonsoleausgegeben. double Eingabe.doubleEinlesen() Liesteinendouble-WertvonderKonsoleeinundgibtdiesenzurück.ImFalleeinerfehlerhaften EingabewirddieZahl0.0zurückgeliefertundeineFehlermeldunginderKonsoleausgegeben. String Eingabe.stringEinlesen() LiesteinenString-WertvonderKonsoleeinundgibtdiesenzurück.ImFalleeinerfehlerhaften EingabewirddieleereZeichenkette""zurückgeliefertundeineFehlermeldunginderKonsole ausgegeben. char Eingabe.charEinlesen() Liesteinenchar-WertvonderKonsoleeinundgibtdiesenzurück.WirdmehralseinZeichen eingegeben,sowirdnurdasersteZeichenberücksichtigt.ImFalleeinerfehlerhaftenEingabewird dasleereZeichen'\u0000'zurückgeliefertundeineFehlermeldunginderKonsoleausgegeben. String[] Eingabe.dateiInhaltEinlesen() ÖffnetdenDatei-Öffnen-Dialog,welcherdenBenutzergenaueineDateiauswählenlässt.Nachdem ÖffnenwirdderInhaltderDateiineinString[]-Arraygespeichertundzurückgegeben.IstdieDatei leer,nichtlesbarodererfolgteinAbbruchwirdeinArrayderLänge0zurückgeliefert. String[] Eingabe.dateiInhaltEinlesen(String dateipfad) WiedateiInhaltEinlesen(),nurohneDatei-Öffnen-Dialog.HiermussmitdateipfadeinPfadzur Dateiangegebenwerden.Windows-Nutzermüssendaraufachten,dass\(Backslash)innerhalb einesStringsdurch\\dargestelltwerdenmuss. int Ausgabe void void void void Ausgabe.arrayAusgeben(int[] array) Gibtdasint-ArrayarrayaufderKonsoleaus. Ausgabe.arrayAusgeben(double[] array) Gibtdasdouble-ArrayarrayaufderKonsoleaus. Ausgabe.arrayAusgeben(String[] array) GibtdasString-ArrayarrayaufderKonsoleaus. Ausgabe.arrayAusgeben(char[] array) Gibtdaschar-ArrayarrayaufderKonsoleaus. Ausgabe.inDateiSchreiben(String[] zeilen) SpeichernderZeilenzeilenineineneueoderexistierendeTXT-Datei.EswirdeinDatei-SpeichernDialoggeöffnet.Gibttruezurück,wenndasSchreibenerfolgreichwar;andernfallsfalse. boolean Ausgabe.inDateiSchreiben(String[] zeilen, String dateipfad) WieinDateiSchreiben(String[]),nurohneDatei-Speichern-Dialog.Hiermussmitdateipfadein PfadzurneuenoderexistierendenDateiangegebenwerden. boolean Zufall int Zufall.zufaelligenIntWertGenerieren(int min, int max) Lieferteinenzufälligenint-Wertderzwischenminundmaxliegt. Zufall.zufaelligenDoubleWertGenerieren(double min, double max, int nkstellen) Lieferteinenzufälligendouble-WertderzwischenminundmaxmitAnzahlanNachkommstellen nkstellen. int[] Zufall.zufaelligesIntArrayGenerieren(int length) Lieferteinint[]-ArrayderLängelength(lengthmussvomTypintsein)zurück,welcheszufällige int-Wertevon0bis99enthält. double[] Zufall.zufaelligesDoubleArrayGenerieren(int length) Lieferteindouble[]-ArrayderLängelength(lengthmussvomTypintsein)zurück,welches zufälligedouble-Wertevon0.0biskleiner100enthält. double 8
© Copyright 2024 ExpyDoc