大家好,我是沉默王二。本篇文章通过我和妹妹的对话来谈一谈“Java 的第一个程序:Hello World”,这是个老生常谈的话题,为此我想了四天四夜,终于想到了这个绝佳的主题,力求文章能够超凡脱俗。

“语不惊人死不休”,没错,本篇文章的标题就是这么酷炫,接受不了的同学就别点进来看了,所谓好奇心害死猫;能够接受的同学我只能说你赚到了,你不仅能在阅读的过程中感受到思维的乐趣,还真的能学习到知识。下面就由我来介绍一下故事的背景吧。

我有一个漂亮如花的妹妹,她叫什么呢?我想聪明的读者朋友们都能猜得出:沉默王三,没错,年方三六。父母正考虑让她向我学习,做一名正儿八经的 Java 程序员。我期初是想反抗的,因为程序员这行业容易掉头发。但家命难为啊,与其反抗,不如做点更积极的事情,写点有趣的文章,教妹妹如何更快地掌握 Java 这门编程语言。毕竟程序员还算得上高薪(都是拿命换的啊)。

(铺垫结束,正文开始)

“二哥,你给我说说怎么写 Java 程序吧。”

“三妹啊,这就直奔主题了啊,先去给哥买瓶护发素吧,哥得考验考验你的诚心。”

“三妹啊,你怎么还不去?”

“二哥,先掏钱啊。”

(我特么这是搬起石头砸自己的脚啊,还得我自己掏钱啊。早知道不装逼了,头发掉不掉无所谓。)

“三妹啊,不用你买了,我自己网上下单。咱们就开始今天的主题吧。”

01、安装 JDK

如果电脑上没有安装 JDK 的话,就无法编译和运行 Java 代码,因此我们要先到 Java 的官网上下载 JDK。

JDK 是 Java Development ToolKit 的简称,也就是 Java 开发工具包。JDK 是整个 Java 的核心,包括 Java 运行环境(Java Runtime Envirnment,简称 JRE),Java 工具(比如 javac、java、javap 等等),以及 Java 基础类库(比如 rt.jar)。

最主流的 JDK 是 Oracle 公司发布的 JDK,除了 Oracle JDK(商业化,更稳定)之外,还有很多公司和组织开发了属于自己的 JDK,比较有名的有 IBM JDK(更适合 IBM) 和 OpenJDK(开源的)。每个 JDK 都有自己的优缺点,我们开发者只需要掌握 Oracle JDK 就好了。

Windows 安装 JDK 和配置环境变量的方法,可以参照我之前写过的文章:

http://www.itwanger.com/java/2019/10/19/java-jdk-install-windows.html

02、安装 IntelliJ IDEA

IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。

我最初学习 Java 的时候,老师都要求我们在记事本上开发,导致我当时觉得写 Java 代码好难,差点还没入门就放弃了。不过,三妹你别担心,我推荐使用 IDEA 进行学习和开发。

安装教程可以参考我之前写的文章:

http://www.itwanger.com/java/2019/11/25/java-idea-community.html

03、编写 Hello World 程序

第一个 Java 程序非常简单,代码如下所示。

class HelloWorld {public static void main(String[] args) {System.out.println("三妹,你真漂亮。");}
}

这段代码运行后输出的结果如下所示:

三妹,你真漂亮。

“怎么样,三妹,开心吧!”
“二哥,你太棒了!”

04、关键字介绍

“二哥,上面这段代码虽然令我非常开心,但是有好多生疏的关键字令我感到困惑,你能给我解释一下吗?”

“当然没问题啊。”

  • class 关键字:用于在 Java 中声明一个类。

  • public 关键字:一个表示可见性的访问修饰符,public 意味着对所有人可见。

  • static 关键字:我们可以用它来声明任何一个方法,被 static 修饰后的方法称之为静态方法。静态方法不需要为其创建对象就能调用,这和非静态方法有所不同。

  • void 关键字:表示该方法不返回任何值。

  • main 关键字:表示该方法为主方法,也就是程序运行的入口。main 方法由 Java 虚拟机执行,配合上 static 关键字后,可以不用创建对象来调用,这样做可以节省内存。

“二哥,什么是 Java 虚拟机啊?”

看一下我之前写的这个文章:http://www.itwanger.com/java/2019/10/19/java-jvm.html

  • String [] args 等关键字:用于命令行参数。

  • System.out.println() 等关键字:用于打印字符串。System 是一个系统级别的类,out 是它的一个静态方法,因此可以直接通过类名.方法名进行调用,System.out 将返回一个 PrintStream 的对象,而println 是 PrintStream 类的非静态方法。

“三妹,怎么样,还有困扰你的关键字吗?”

“没有了,二哥,你讲得真棒!”

05、鸣谢

本篇文章为付费专栏《教妹学Java》的第四篇文章,是不是有趣得很?我相信你能感受的到,这可是全网独一份。现在定价只需要 9.9 元,太便宜了,早订的同学都捡了大便宜。另外,我再附送上我的个人微信(qing_gee),好友位不多了,我敢说围观我的朋友圈都是一种学习。

上一篇回顾:教妹学Java(三):Java特性

另外,本篇文章中的示例代码已经同步到 GitHub,地址为 itwanger.JavaPoint,欢迎大家 star 和 issue。如果你觉得有点用的话,请不要吝啬你手中点赞的权利,这也会让更多需要营养的同学看到这篇文章——一不留意又干了一件好事。

教妹学Java(四):Hello World相关推荐

  1. 教妹学Java(二十一):一文带你了解面向对象编程的所有概念

    你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 的博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个 ...

  2. 教妹学Java(十九):continue 关键字详解

    你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 2019 年度的博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我 ...

  3. 教妹学Java(二十二):来吧,一文彻底搞懂Java命名约定

    你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个知 ...

  4. 教妹学Java(二十):一文带你彻底了解 Java 中的注释,干货了

    你好呀,我是沉默王二,一枚颜值与才华俱在的程序员.本篇教程通过我和三妹对话的形式来谈一谈"Java 中的注释". 教妹学 Java,没见过这么有趣的标题吧?"语不惊人死不 ...

  5. 教妹学Java(十四):switch 语句详解

    大家好,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.本篇文章通过我和三妹对话的形式来谈一谈"switch 语句". 教妹学 Java,没见过这么有趣的标题吧?&q ...

  6. 教你学java_教妹学Java:Spring 入门篇

    你好呀,我是沉默王二,一个和黄家驹一样身高,刘德华一样颜值的程序员(管你信不信呢).从两位偶像的年纪上,你就可以断定我的码龄至少在 10 年以上,但实话实说,我一直坚信自己只有 18 岁,因为我有一颗 ...

  7. 教妹学 Java:动态伴侣 Groovy

    点击上方"程序员小明",选择"星标" 今晚可以不加班! 00.故事的起源 "二哥,听说上一篇<多线程>被 CSDN 创始人蒋涛点赞了?&q ...

  8. 教妹学 Java:大有可为的集合

    本篇通过一种趣味化的形式来讲述 Java 的集合. 00.故事的起源 "二哥,上一篇<泛型>的反响效果怎么样啊?"三妹对她提议的<教妹学 Java>专栏很是 ...

  9. 教妹学Java:接口,抽象的另一种表现方式

    接口 "哥,我看你朋友圈说<教妹学 Java>专栏收到了第一笔赞赏呀,虽然只有一块钱,但我也替你感到开心."三妹的脸上洋溢着自信的微笑,仿佛这钱是打给她的一样. &qu ...

最新文章

  1. 与Andrey Breslav谈论Kotlin 1.0的发布
  2. Vivado 随笔(1) 综合属性之 ram_style rom_style?
  3. C++中的string 类型占几个字节
  4. kernel 下串口serial输入输出控制,屏蔽log的输出
  5. 转:11个实用但你可能不知道的Python程序库
  6. java 禁用迅雷_Squid使用User Agent过滤禁止迅雷
  7. Spring Boot 2.0.0.M7 生产环境部署
  8. 小红书成立六周年内部信:月活用户量已经突破8500万
  9. ajax调用后台Datatable
  10. InfoWorld 公布开源软件( 2019 年)
  11. 飘刃 0.1.1 发布,速度碾压 Vue-CLI 的轻量级 Vue 项目构建工具
  12. c语言图书管理系统登录系统,C语言图书管理系统设计代码.doc
  13. 用台达PLC485通信控制11台英威腾变频启动停止速度设定
  14. VMware虚拟机迁移到阿里云实操案例
  15. 一个权限管理系统如何设计
  16. MacBook安装pdf阅读器
  17. 关于程序员清明节假期延长至七天的通知
  18. 接入高德地图第三方SDK——如何获取API Key
  19. 黑马程序员——Java语言基础——关键字、表示符、常量、变量及数据的类型、运算符
  20. css中横线中间显示文字

热门文章

  1. java将int转换成字符串,Java将int转换为字符串
  2. Fluke Ti480红外热像仪主要特性介绍
  3. ;jhskljdfkl;dsifudi
  4. css-实现鼠标移至图片上显示黑色半透明遮罩层,且不至于遮住图片上的超链接的方法
  5. 覆盖率测试工具(coverage tool)
  6. Mapstruct使用说明(一)
  7. 年轻代gc耗时真的比老年代短?
  8. @jsonignore的使用
  9. 天纵智能软件快速开发平台相册插件
  10. 美化桌面第二步:两个好用的小插件