上次期末考試,倒數第二大題的第N小題……打印26個大小寫字母表
是一道很簡單的小題目,但還是揪出來研究研究(人家牛氣哄哄的Thinking in java 都寫了這示例,我重寫不丟人!!!)
上主題:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public
class
Demo {
public
static
void
main(String[] args) {
/*char和int類型能夠相互轉換,相信大家都明白
什么?不明白???那只能怪你大一c語言老師死的早 */
//為什么是0~128的取值范圍?其實這只是個大概范圍,具體看看編碼表就一目了然了
for
(
char
c =
0
; c <
128
; c++) {
//java里邊包裝類的一個靜態方法,確定c是字母還是小寫!!!)
if
(Character.isLowerCase(c)) {
//我沒用println,why?你可以試試println()看對齊效果
System.out.printf(
"value: %3d char: %c\n"
, (
int
)c, c);
//同上,判斷c是大寫
}
else
if
(Character.isUpperCase(c)) {
System.out.printf(
"value: %3d char: %c\n"
, (
int
)c, c);
}
}
}
}
|
- -# 好吧,分辨率不高,就只能截這么多了,反正大小寫都出來了,下邊的內容留給新手們自己想象……
后話:
我覺得,一個人能把簡單的事情看得復雜,然后再回歸簡單,那么這個人一定很了不起。
簡單說,短短幾行代碼用到的技巧無非就是char和int類型的相互轉換
但是,你有沒有想過char取值范圍的問題呢?
編碼表的設計和其他十進制所代表的字符呢?
還有包裝類是個什么情況,為神馬用它的方法能夠很快區分大小寫?
假如想確定任意一個數是否能轉化為char類型的字母怎么做?
再接着,System.out.println()和System.out.printf()有何不同?
欲知詳情,請自我分析……