|
|
|
123 3.1415 (And so on) |
A a (And so on) |
because:
|
|
|
Try running this program:
public class Char01B { public static void main(String[] args) { char a; a = 65; // 65 = Char code for the character 'A' System.out.println(a); // Prints 'A' !!! int i; i = 'A' + 1; // 'A' is just an integer !!! System.out.println(i); // Prints 66 !!! } } |
char NameOfVariable ; |
Notes:
|
public class Char01 { public static void main(String[] args) { char a; a = 'b'; // a = ASCII code of 'b' (98) System.out.println(a); // Prints the character b !!! } } |
How to run the program:
|
|
|
|
|
Example:
public class Char01A { public static void main(String[] args) { char a, b; int i; a = 'x'; i = a; // Safe conversion System.out.println(i); // Prints 120 (ASCII code for 'x') a = 'x'; i = a+1; System.out.println(i); // Prints 121 a = 'x'; b = 'y'; i = a + b; System.out.println(i); // Prints 241 (ASCII code for 'y' = 121) } } |
Explanation:
|
How to run the program:
|
public class Char02a { public static void main(String[] args) { char a; a = '%'; System.out.println(a); // Prints % a++; // "Next" character System.out.println(a); // What will this statement print ? } } |
Hint: use the ASCII table
How to run the program:
|
The range of values of char only contain positive values (including 0).
Therefore:
|
Recall the following list of unsafe conversions that was discussed previously:
Therefore:
|
public class Char03 { public static void main(String[] args) { int x; char a; x = 98; // 98 is the code for 'b' // a = x; // This is not allowed without casting a = (char) x; // Convert int to char System.out.println(a); // Prints b } } |
Explanation:
|
How to run the program:
|
0 NUL 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL 8 BS 9 HT 10 NL 11 VT 12 NP 13 CR 14 SO 15 SI 16 DLE 17 DC1 18 DC2 19 DC3 20 DC4 21 NAK 22 SYN 23 ETB 24 CAN 25 EM 26 SUB 27 ESC 28 FS 29 GS 30 RS 31 US 32 SP 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 DEL |
How to detect a lower case letter:
|
0 NUL 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL 8 BS 9 HT 10 NL 11 VT 12 NP 13 CR 14 SO 15 SI 16 DLE 17 DC1 18 DC2 19 DC3 20 DC4 21 NAK 22 SYN 23 ETB 24 CAN 25 EM 26 SUB 27 ESC 28 FS 29 GS 30 RS 31 US 32 SP 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 DEL |
How to detect an upper case letter:
|
0 NUL 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL 8 BS 9 HT 10 NL 11 VT 12 NP 13 CR 14 SO 15 SI 16 DLE 17 DC1 18 DC2 19 DC3 20 DC4 21 NAK 22 SYN 23 ETB 24 CAN 25 EM 26 SUB 27 ESC 28 FS 29 GS 30 RS 31 US 32 SP 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 DEL |
'a' ⇒ 'A' means: 97 ⇒ 65 (97 - 32 = 65) 'b' ⇒ 'B' means: 98 ⇒ 66 (98 - 32 = 66) 'c' ⇒ 'C' means: 99 ⇒ 67 (99 - 32 = 67) And so on... |
Lower case to upper case conversion algorithm:
|
public class Char05 { public static void main(String[] args) { char x; char y; x = 'a'; y = (char) (x - 32); // We need to cast, because (x - 32) is an int value ! System.out.println("x = '" + x + "', y = '" + y + "'"); x = 'b'; y = (char) (x - 32); System.out.println("x = '" + x + "', y = '" + y + "'"); x = 'c'; y = (char) (x - 32); System.out.println("x = '" + x + "', y = '" + y + "'"); } } |
How to run the program:
|
|
public class Char05a { public static void main(String[] args) { char x; char y; x = 'a'; y = (char) (x - 'a' + 'A'); System.out.println("x = '" + x + "', y = '" + y + "'"); x = 'b'; y = (char) (x - 'a' + 'A'); System.out.println("x = '" + x + "', y = '" + y + "'"); x = 'c'; y = (char) (x - 'a' + 'A'); System.out.println("x = '" + x + "', y = '" + y + "'"); } } |
How to run the program:
|
char x; char y; x contains the Unicode of an upper case character y = (char) (x - 'A' + 'a'); // y = Unicode of the same lower case character |