Java漫谈2
本周我们的Java漫谈从一个段子说起。话说有一个老程序退休了,在家闲着没事便开始学习写毛笔字,焚香,研墨,铺纸。站在薄如蝉翼白似雪的宣纸面前,提笔闭目。只见那人生种种仿若电影般在眼前一幕幕飞速呈现,又飞速略去。这其中有欢笑,有悲伤,有失落,有成功。就在某一刻,他突然感觉身躯一阵触动,胸口一热,仿佛某句浓缩了这么多年经历的精萃之语要现世,随即便不再多想,提笔挥毫,一气呵成,洋洋洒洒地写下了一句——"Hello World"。
不知道你笑没笑,反正我第一次看到末尾的反转的时候是笑了。因为“Hello World”这个词,是最好的单词,也是最坏的单词。是希望的单词,也是失望的单词。是美梦的开始,也可能是噩梦地循环。总之,当踏入编程地那一刻起,就会有一个单词如影随行,好坏同舟,相爱相杀,共度美好编程岁月。
将输出字符串“Hello World”作为第一个示范程序,现在已经成为编程语言学习的传统。“Hello World”示范程序最早出现于1972年,由贝尔实验室成员布莱恩·柯林汉撰写的内部技术文件《"A Tutorial Introduction to the Language B" 》之中。不久同作者于1974年所撰写的《Programming in C: A Tutorial》,也延用这个示例;而布莱恩·柯林汉和丹尼斯·里奇以本文扩编改写的《C程序设计语言》也保留了这个示范程序,此后广泛流传。 ——摘自维基百科
为什么这个词会如此轻易的成为示范程序地起源呢,我倒是觉得有这么几个原因。
- 首先,从输出条件来讲,输出一个字符串即能表明程序整体运行成功,又能通过输出字符串来判断逻辑结果的正误。
- 其次,“Hello World”从字面意思上来说,一来简洁地传达了程序在逻辑上也执行成功的意思,二来,它用一种拟人的手法赋予了程序生命,让它运行成功之后,仿佛如婴儿第一次发声,向未知世界宣告“我来了”的意思。
- 最后,事例程序写到这也是在告诉后续着,这个功能已经实现了,后面的功能就看你了,加油吧,不久你也能与这世界说hello的。
绕了一圈,我们再把话题转回来,在Java中,Hello World又是什么样子的呢?
这就是一个Java里面Hello World的一句常用到的输出语句,之所以说它常用,是在程序刚开始跑通的时候会使用它来输出提示,也会在程序报错的时候用它的变形模式来输出错误信息。
稍微多看这句话2-3遍,会发现这句话会有几个特征。
- 首先,hello world只是这条显示语句的一个部分,它被双引号引用了。
- 第二,对于输出“Hello world”这个事件,实现这个功能竟然只用了一条语句,并且这个语句末尾还用了一个分号。
对于第一点,字符被引号引用之后就会被输出,那么是不是我们可以做这样的推论,双引号内的字符最终会在控制台打印出来。比如将语句改为System.out.println("你好,中国");
,那么在控制台输出的就会是你好,中国
。
对于第二点,它正好反映了编程的一个基本结构特征——代码以行为单位,以;
结尾。每行的代码仅仅实现一个功能,可能是赋值,可能是计算,当要实现另一个功能的时候,就另起一行书写。这样一来,便于书写和阅读,并且在逻辑上简洁清晰。
这篇文章主要分享了我对hello world的理解,希望这能使你对程序和代码有个初步的印象,我们下回见。
- CNN预测股票走势基于Tensorflow(思路+程序)
- 路径查找器AI
- android推荐使用dialogFrament而不是alertDialog
- 自定义圆角和园边的实现
- Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
- 应用潜在语义分析技术将文档进行3D可视化
- 利用神经网络算法的C#手写数字识别
- fastText、TextCNN、TextRNN…这套NLP文本分类深度学习方法库供你选择
- nfc开发
- N-CryptoAsset投资组合 | 使用PCA识别高度相关的加密货币(最近听说某币很疯狂哦!)
- 仿刮刮乐刮奖效果
- Spacebuilder在Mono上运行修改备忘
- maven配置详解
- 这一新的可视化方法教你优雅地探索相关性
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释