一道考试题:打印字母表

上次期末考试,倒数第二大题的第N小题……打印26个大小写字母表

是一道很简单的小题目,但还是揪出来研究研究(人家牛气哄哄的Thinking in java 都写了这示例,我重写不丢人!!!)

上主题:

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()有何不同?

欲知详情,请自我分析……

 

posted @ 2012-12-14 10:42  Nerxious  阅读(1396)  评论(0编辑  收藏  举报