一道考试题:打印字母表

上次期末考试,倒数第二大题的第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()有何不同?

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

 

posted @   Nerxious  阅读(1397)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示