170 likes | 282 Vues
This guide explores the fundamentals of characters and strings in Java programming. It covers the definition of single characters, string initialization, and the differences between primitive data types and objects. Key topics include character encoding, string manipulation methods, and basic operations using classes and methods. Additionally, it provides practical examples of working with text and fonts in the Processing environment, making it a valuable resource for both beginners and experienced programmers. Enhance your coding skills with this comprehensive overview!
E N D
Characters and Strings • Character • A single character inside of single quotes char letter = 'A' ; char digit = '0' ; • Strings • Zero or more character in double quotes String word = "hello" ; String robot = "r2d2" ; String nothing = "" ;
Why not string? • String is a class • Classes define data types • Names of classes start with capital letters • A convention, not a rule • Primitive types • Simplest data types of Java • int, boolean, char, double • Names start with small letters
Odd things to do println('A' + 5) ; println("A" + 5) ; String s = "" ; for (char c = '0'; c < 'Z'; c++) { s = s + c ; } println(s) ;
'5' vs 5 vs "5" • '5' is a character encoded as a number • But given from the ASCII standard • That is, '5' is 35 (in Hexadecimal) • 5 is the numbers of fingers on one hand • "5" is a String • With the single character '5'
'v' vs v • 'v' is a character • You cannot do the following 'v' = 30 ; • v is a variable name • If appropriately declared int v ; • You can v = 30 ;
Conversion methods boolean • Converts zero to false • Converts non-zero to true byte char int float str • Converts to String
Conversion example println(boolean(5)) ; println(float(5)) ; println(str(5)) ; println(int(5.7)) ; println(str(5.7)) ; println(int('5')) ; println(int('#')) ;
Unicode and cut-and-paste char rquote = '‘' ; char lquote = '’' ; char singleQuote = '\''; String dquotes = "“”" ; char oe = 'œ' ; println(int(rquote)) ; println(int(oe)) ;
class and method • In object-oriented programming • Classes have methods • ≈ functions • The operations for that data type • Retrieve information from objects • Modify objects • Methods (and fields) use “dot” operator • obj.method(arg1, arg2) • ≈ method(obj, arg1, arg2)
Useful methods for s, a String s.length() • Number of characters of s s.charAt(5) • 5th character of s (“first” is 0th) s.substring(2, 3) • Characters 2 to 4 of s • And many more
Printing on the screen • Create a font in Processing environment • Tools » Create Font…. • Load font in Processing code • Pfont font = loadFont("……") ; • Set font • textFont(font, size) ; • Write with font • text("……", x, y) ;
Displaying Text // Step 1: Create the font using the Tool menu option // Step 2: Declare PFont variable PFont f; void setup() { size(200,200); // Step 3: Load Font f = loadFont("Albany-48.vlw“, 40); background(255); textFont(f, 16); // Step 4: Specify font fill(0); // Step 5: Specify font color // Step 6: Display Text text("Mmmmm ... Strings ..." , 10, 100); }
You try it! // Step 1: Create the font using the Tool menu option // Step 2: Declare PFont variable PFont f; void setup() { size(200, 200); // Step 3: Load Font f = loadFont( “you fill this in" ); background(255); textFont(f, “you fill this in”); // Step 4: Specify font fill(0); // Step 5: Specify font color // Step 6: Display Text String message = “you fill this in" ; text (message, 10, 100); }
Useful text functions textWidth("……") • Returns width in pixels of string when printed textAlign(LEFT) textAlign(RIGHT) textAlign(CENTER) • Aligns a text string textSize(n) • Sets size of font
Try It Again PFont f; void setup() { size(200,200); f = loadFont("Arial-BoldMT-40.vlw"); textFont(f); fill(200); } void draw() { background(255); if(mousePressed && mouseButton == LEFT) { textAlign(LEFT); text ("LEFT", 5, height/2, width, height); } else if(mousePressed && mouseButton == RIGHT) { textAlign(RIGHT); text ("RIGHT", 5, height/2, width, height); } }
Lab • Load an image of a dog and font into your project • Write a Processing program to display the dog along with its name • If you have time, animate your dog