一道考试题:打印字母表
上次期末考试,倒数第二大题的第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()有何不同?
欲知详情,请自我分析……
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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语句:使用策略模式优化代码结构