上次期末考试,倒数第二大题的第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()有何不同?
欲知详情,请自我分析……