-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCharacterMethods.java
More file actions
104 lines (69 loc) · 4.36 KB
/
CharacterMethods.java
File metadata and controls
104 lines (69 loc) · 4.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
public class CharacterMethods {
public static void main(String[] args) {
}
}
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// CHARACTER CLASS BASICS
// Character is a wrapper class for primitive char
// char primitive vs Character object
// char c = 'A'; // Primitive
// Character ch = 'A'; // Autoboxing
// char primitive = ch; // Auto-unboxing
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// CONSTRUCTORS AND VALUE OF
// Character(char value) Constructor (deprecated in Java 9+)
// Character.valueOf(char c) Returns Character instance (preferred)
// Character ch = Character.valueOf('A');
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// CATEGORY CHECKING METHODS (Most commonly used)
// Character.isLetter(ch) Checks if character is a letter
// Character.isDigit(ch) Checks if character is a digit (0-9)
// Character.isLetterOrDigit(ch) Checks if character is letter or digit
// Character.isWhitespace(ch) Checks if character is whitespace (space, tab, newline, etc.)
// Character.isSpaceChar(ch) Checks if character is Unicode space character
// Character.isUpperCase(ch) Checks if character is uppercase
// Character.isLowerCase(ch) Checks if character is lowercase
// Character.isAlphabetic(ch) Checks if character is alphabetic (Unicode-aware, Java 7+)
// if(Character.isLetter('A')) // true
// if(Character.isDigit('5')) // true
// if(Character.isWhitespace(' ')) // true
// if(Character.isUpperCase('Z')) // true
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// CASE CONVERSION METHODS
// Character.toUpperCase(ch) Converts character to uppercase
// Character.toLowerCase(ch) Converts character to lowercase
// Character.toTitleCase(ch) Converts to title case (used for Unicode)
// char upper = Character.toUpperCase('a'); // 'A'
// char lower = Character.toLowerCase('Z'); // 'z'
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// NUMERIC CONVERSION METHODS
// Character.digit(ch, radix) Returns numeric value of digit in specified radix
// Character.forDigit(digit, radix) Returns character representation of digit in radix
// Character.getNumericValue(ch) Returns Unicode numeric value of character
// int val = Character.digit('F', 16); // 15 (hexadecimal)
// char hexChar = Character.forDigit(15, 16); // 'F'
// int numVal = Character.getNumericValue('Ⅻ'); // 12 (Roman numeral)
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// COMPARISON METHODS
// Character.compare(char x, char y) Compares two characters numerically
// Character.equals(Object obj) Compares Character objects (overrides Object.equals)
// if(Character.compare('a', 'b') < 0) // 'a' comes before 'b'
// Character ch1 = 'A', ch2 = 'A';
// if(ch1.equals(ch2)) // true
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// IMPORTANT NOTES:
// 1. Character methods are static - call them with Character.methodName()
// 2. Primitive char can be automatically boxed to Character
// 3. Character is immutable like all wrapper classes
// QUICK REFERENCE TABLE:
// Character.isLetter(ch) -> Letters (a-z, A-Z, and Unicode letters)
// Character.isDigit(ch) -> Numbers 0-9
// Character.isLetterOrDigit(ch) -> Letters OR digits
// Character.isWhitespace(ch) -> Space, tab, newline, etc.
// Character.isUpperCase(ch) -> A-Z and Unicode uppercase
// Character.isLowerCase(ch) -> a-z and Unicode lowercase
// Character.toUpperCase(ch) -> Convert to uppercase
// Character.toLowerCase(ch) -> Convert to lowercase
// Character.digit(ch) -> Convert char to int value in given base
// Character.forDigit(ch) -> Convert int to char in given base