Last login: Sun Oct 25 08:48:03 on ttys004 The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. (base) MAC:Mon Oct 26:09:20:4240> B (base) MAC:Mon Oct 26:09:20:4240> jshell | Welcome to JShell -- Version 14.0.1 | For an introduction type: /help intro jshell> ArrayList al = new ArrayList<>(); | Error: | unexpected type | required: reference | found: int | ArrayList al = new ArrayList<>(); | ^-^ jshell> ArrayList al = new ArrayList<>(); al ==> [] jshell> for(int k = 0; k < 20; k++){al.add(k*k*k);} jshell> al al ==> [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000, 1331, 1728, 2197, 2744, 3375, 4096, 4913, 5832, 6859] jshell> String s = "foo"; s ==> "foo" jshell> Integer i = 5; i ==> 5 jshell> //autoboxing jshell> i.getClass() $6 ==> class java.lang.Integer jshell> int x = 42; x ==> 42 jshell> x.getClass() | Error: | int cannot be dereferenced | x.getClass() | ^--------^ jshell> x = i; x ==> 5 jshell> jshell> //autounboxing jshell> out = 0; | Error: | cannot find symbol | symbol: variable out | out = 0; | ^-^ jshell> int out = 17; out ==> 17 jshell> for(Integer i = 0; i < 5000; i++){out += i;} jshell> out out ==> 12497517 jshell> String quack = "531"; quack ==> "531" jshell> //can you figure out how to get 531 out of this? jshell> Integer.parseInt(quack) $13 ==> 531 jshell> Integer.parseInt("duck egg") | Exception java.lang.NumberFormatException: For input string: "duck egg" | at NumberFormatException.forInputString (NumberFormatException.java:68) | at Integer.parseInt (Integer.java:652) | at Integer.parseInt (Integer.java:770) | at (#14:1) jshell> /exit | Goodbye (base) MAC:Mon Oct 26:09:44:4240> vi Exceptional.java (base) MAC:Mon Oct 26:09:46:4240> javac Exceptional.java (base) MAC:Mon Oct 26:09:46:4240> java Exceptional I am now alive and on the correct side of the weeds 445 Exception in thread "main" java.lang.NumberFormatException: For input string: "duck egg" at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68) at java.base/java.lang.Integer.parseInt(Integer.java:652) at java.base/java.lang.Integer.parseInt(Integer.java:770) at Exceptional.main(Exceptional.java:9) (base) MAC:Mon Oct 26:09:46:4240> !vi vi Exceptional.java (base) MAC:Mon Oct 26:09:48:4240> javac Exceptional.java Exceptional.java:12: error: variable al might not have been initialized al.add("foo"); ^ 1 error (base) MAC:Mon Oct 26:09:49:4240> !vi vi Exceptional.java (base) MAC:Mon Oct 26:09:49:4240> !javac javac Exceptional.java Note: Exceptional.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. (base) MAC:Mon Oct 26:09:49:4240> java Exceptional I am now alive and on the correct side of the weeds 445 Exception in thread "main" java.lang.NullPointerException at Exceptional.main(Exceptional.java:12) (base) MAC:Mon Oct 26:09:49:4240> !vi vi Exceptional.java (base) MAC:Mon Oct 26:09:50:4240> jshell | Welcome to JShell -- Version 14.0.1 | For an introduction type: /help intro jshell> //what is 1000 in base 8? jshell> Integer.toOctalString(1000) $1 ==> "1750" jshell> //what is 1000 in base 3? jshell> Integer.toHexString(1000) $2 ==> "3e8" jshell> Integer.parseInt("1010111", 2) $3 ==> 87 jshell> Integer.toString(1000, 3) $4 ==> "1101001" jshell> Integer.toString(1001, 3) $5 ==> "1101002" jshell> s = "true" | Error: | cannot find symbol | symbol: variable s | s = "true" | ^ jshell> String s = "true" s ==> "true" jshell> Boolean.parseBool(s) | Error: | cannot find symbol | symbol: method parseBool(java.lang.String) | Boolean.parseBool(s) | ^---------------^ jshell> Boolean.parseBoolean(s) $7 ==> true jshell> Boolean.toString(true) $8 ==> "true" jshell> "" + true $9 ==> "true" jshell> String guac = "6.02e23" guac ==> "6.02e23" jshell> double avocado = Double.parseDouble(guac) avocado ==> 6.02E23 jshell> Character.isDigit('7') $12 ==> true jshell> Character.isDigit('q') $13 ==> false jshell> Character.BYTES $14 ==> 2 jshell> Integer.BYTES $15 ==> 4 jshell> Long.BYTES $16 ==> 8 jshell> Character c = 'q' c ==> 'q' jshell> (int) q | Error: | cannot find symbol | symbol: variable q | (int) q | ^ jshell> (int) c $18 ==> 113 jshell> Character.isAlphabetic('5') $19 ==> false jshell> Character.isAlphabetic('a') $20 ==> true jshell> Character.isAlphabetic('A') $21 ==> true jshell> Character.isUpper('A') | Error: | cannot find symbol | symbol: method isUpper(char) | Character.isUpper('A') | ^---------------^ jshell> Character.isUpperCase('A') $22 ==> true jshell> for(char c = 'A'; c <= 'z'; c++){System.out.printf("%s: isLetter: %s\n", c, Character.isLetter(c));} A: isLetter: true B: isLetter: true C: isLetter: true D: isLetter: true E: isLetter: true F: isLetter: true G: isLetter: true H: isLetter: true I: isLetter: true J: isLetter: true K: isLetter: true L: isLetter: true M: isLetter: true N: isLetter: true O: isLetter: true P: isLetter: true Q: isLetter: true R: isLetter: true S: isLetter: true T: isLetter: true U: isLetter: true V: isLetter: true W: isLetter: true X: isLetter: true Y: isLetter: true Z: isLetter: true [: isLetter: false \: isLetter: false ]: isLetter: false ^: isLetter: false _: isLetter: false `: isLetter: false a: isLetter: true b: isLetter: true c: isLetter: true d: isLetter: true e: isLetter: true f: isLetter: true g: isLetter: true h: isLetter: true i: isLetter: true j: isLetter: true k: isLetter: true l: isLetter: true m: isLetter: true n: isLetter: true o: isLetter: true p: isLetter: true q: isLetter: true r: isLetter: true s: isLetter: true t: isLetter: true u: isLetter: true v: isLetter: true w: isLetter: true x: isLetter: true y: isLetter: true z: isLetter: true jshell> jshell> Character.isSpace(" ") | Error: | incompatible types: java.lang.String cannot be converted to char | Character.isSpace(" ") | ^-^ jshell> Character.isSpace(' ') $24 ==> true jshell> Character.isSpace('\n') $25 ==> true jshell> Character.isSpace('\t') $26 ==> true jshell> Integer.MAX_VALUE $27 ==> 2147483647 jshell> Integer.MIN_VALUE $28 ==> -2147483648 jshell> Double.MAX_VALUE $29 ==> 1.7976931348623157E308 jshell> Double.isFinite(5) $30 ==> true jshell> Double.isFinite(1.0/0) $31 ==> false jshell> Double.isNaN(1.0/0) $32 ==> false jshell> 1.0/0 $33 ==> Infinity jshell> Double.SIZE $34 ==> 64 jshell> Double.BYTES $35 ==> 8 jshell>