STRINGS Zeichenketten, einfacher als Arrays Hintergrund Prinzipiell könnten Zeichenketten als Arrays dargestellt werden werden aber oft als Ganzes verwendet spezieller Typ String Länge nicht beschrönkt können dynamisch wachsen (Performance !) Konstanten durch " (doppelte Anführungszeichen) terminiert Beispiel String s = new String();! String s = "Hallo";! s = s + "Java";! println(s); // Was wird ausgegeben ?! Strings sind Objekte, Erzeugung mit new, oder durch Zuweisung Operator + verkettet Strings String s = "Hallo";! String s2 = s;! s2 = s2 + " Java";! println(s2); // Was wird ausgegeben ?! Funktionen String s = "Hallo Java";! println( s.charAt(0) ); // H! println( s.charAt(4) ); // o! println( s.indexOf('o') ); // 4! println( s.length() ); // 10! println( s.replace('l','w') ); // Hawwo Java! println( s.substring(6) ); // Java! println( s.toUpperCase() ); // HALLO JAVA! und viele mehr … siehe http://download.oracle.com/javase/6/docs/api/java/lang/String.html Vergleich von Strings String s = "Hallo";! String s2 = s;! if (s2 == s)! !println("s gleich s2");! String s3 = "Hallo";! if (s3 == s)! !println("s gleich s3");! String s4 = "Hall" + "o";! if (s4 == s)! !println("s gleich s4");! String s5 = "Hallo Hallo";! String s6 = s5.substring(6);! if (s6 == s)! !println("s gleich s6");! Was wird asugegeben ? Warum ???? Strings im Speicher String String String String String String s = "Hallo";! s2 = s;! s3 = "Hallo";! s4 = "Hall" + "o";! s5 = "Hallo Hallo";! s6 = s5.substring(6);! s2 s3 s4 Hallo s s5 s6 Hallo Hallo Hallo Operator == vergleicht die Verweise (Adressen), nicht die Inhalte ! Platz für Konstante(n) vom Compiler reserviert Strings richtig vergleichen String s = "Hallo";! String s2 = s;! if (s2.equals(s))! !println("s gleich s2");! String s3 = "Hallo";! if (s3.equals(s))! !println("s gleich s3");! String s4 = "Hall" + "o";! if (s4.equals(s))! !println("s gleich s4");! String s5 = "Hallo Hallo";! String s6 = s5.substring(6);! if (s6.equals(s))! !println("s gleich s6");! equals() vergleicht die Inhalte zweier Strings, equalsIgnoreCase() unabhängig von Schreibweise grafische Darstellung zunächst muss ein Font definiert werden, dann kann Text ausgegeben werden ! size(200,100);! PFont font;! font = createFont("Arial",18);! textFont(font);! text("Hallo Processing", 30, 50);! createFont() erhält den Namen des Zeichensatzes und die Größe als Parameter text() erhält den auszugebenden String und die Koordinaten als Parameter mögliche Fonts ausgeben: println(PFont.list());! Alignment textAlign(LEFT);! textAlign(CENTER);! textAlign(RIGHT);! Die Koordinaten geben als default die linke untere Ecke des Texts an. Kann mit textAlign() geändert werden.