从0开始写出你的“Hello World” | 带你学《Java编程入门》之一-阿里云开发者社区

开发者社区> 温柔的养猫人> 正文

从0开始写出你的“Hello World” | 带你学《Java编程入门》之一

简介: Java是现在最流行的编程语言之一,并且自身拥有庞大且完善的生态系统(但是你不可能要求一门语言实现的功能过多,所以有些时候 Java 不擅长的部分会被其它的语言所顶替)。在国内而言,之所以咱们的 Java 使用广泛。更多的主要原因在于有许多的大户都在使用 Java 实现其各自的核心业务。
+关注继续查看

【本节目标】
看完本篇文章,你将了解Java语言的产生和发展历程,阐述Java语言的特点以及可移植性的实现原理,学习JDK的下载,安装与配置,学会做你的第一个程序”Hello World”。

1.1 Java的产生与发展

Java 是由 SUN 公司开发的一套编程语言,其前身并不是 Java。
在 1991 年的时候,美国SUN(Stanford University NetWork)公司有一个 GREEN 项目,这个项目的核心功能在于使用 EMail 控制家电产品的运行(智能家居),在 80 年代 Email 流行的时候 ,当时可以发送 Email 是一件很牛的事情。最初 SUN 公司打算竞争此项目,但是后来考虑到 C++ 语言的复杂性,所以利用 C++ 开发出一套 OAK(橡树)平台,并且利用此平台进行项目的竞标,不过遗憾的是,这个平台的竞标失败了。后来在 1995 年 5 月 23 日的时候正式推出了Java 编程语言,同时推出了 JDK 1.0 的开发包(1996年的时候才开始可以提供陆续下载使用,到了 1997 年的时候传到了中国)。
SUN公司是一家从事于硬件开发的技术性公司,SUN 最早的代表性的产品:小型机(被广泛的应用在了 amazon 上),后来由于网络经济的发展问题(任何的经济模式都一定会出现有瓶颈)但是对于 90 年代末--2000 年初的互联网低潮而言,这就是一个严重的伤害。而 SUN 公司经历过这么一段发展之后并没有恢复往日的经济实力,终于在后来被 Oracle 公司所收购,但是在 Oracle 公司收购前最希望收购 SUN 的实际上是 IBM ,IBM 当年软件产品线上的技术基础就是 Java 语言。
但是不管这些公司如何折腾,有一点已经达成了共识:Java依然是一个稳定的、可靠的编程语言,可以承担大型服务器的程序开发任务。

1.2 Java技术的不同发展

而从最初的时代到现在 Java 语言也出现了一些技术的不同发展:按其应用不同,分为三个版本。

  • Java标准开发(J2SE、Java SE):提供底层支持,实现桌面程序开发,包括Word、Excle等;
  • Java嵌入式开发(J2ME、Java ME):智能家居就是SUN公司最初就是想做的嵌入式开发,但是这个嵌入式的发展因为当年的 Nokia 的阻拦,后来基本上被 Android 所替代了;
  • Java企业开发(J2EE、Java EE):主要进行企业平台的搭建,现在主要开发的是互联网平台。

1.3 Java语言特点

Java 之所以可以得到持续的发展力以及良好的生态系统,这完全取决于 Java 的自身的技术特征:
1、是一个行业内通用的技术实现标准: 是一种半开源产品,所以很多的厂商得以接触到 Java 的底层,这样使得 Java 开发的更加的透明;
2、是一门面向对象的编程语言:这样就使得 Java 语言语法结构更加方便开发者接受,这些面向对象的设计思想还在不断进行着扩充(不同的 JDK 版本);
3、提供有方便的内存回收处理机制:像一些编程语言里面需要明确的手工进行对象的回收与释放,否则你的程序将无法正常提供支持,但是 Java 可以提供有自动的内存回收操作,这样处理会更加方便一些(这里面就牵扯到了一些优化方面的问题了);
4、避免了复杂的指针问题,而使用更加简单的引用来代替指针:指针虽然是一种高效的内存处理模式,但是其需要较强的分析,而我们的Java在设计的时候就充分的考虑到了这一点,所以开发者直接利用引用就可以简化指针的处理,而引用也是在初学者过程之中最为麻烦最为难以理解的部分;
5、Java是为数不多支持多线程编程的开发语言:这样就可以使得单位时间内,处理的性能得到提升(性能的提升并不是绝对的);多线程也是Java 开发之中最难以理解的部分,而正确的多线程处理才是提升处理性能的核心所在;
6、Java提供有高效的网络处理能力:可以基于NIO实现更加高效的数据的传输处理;
7、Java具有良好的可移植性:这样就可以提升一个程序的适用范围。Java的可移植性实现,依靠JVM(Java虚拟机),JVM是一个由软件和硬件模拟出来的计算机,所有的程序只要有JVM的支持,就可以实现程序的执行,不同的操作系统上会有不同版本的JVM,这样就可以实现移植性。

1.4 JDK的安装与配置

Java语言属于编译型与解释型的开发语言,对于Java语言,如果要想进行开发,则一定要进行 JDK(Java Development Kit) 的安装配置,而 JDK 要想获取则需要通过官方网站获得,并且也需要在本机上进行配置。可简单总结为:Java开发---->JDK的安装配置---->官网获取,本机配置。
JDK下载官网:www.oracle.com 。

image.png
图一 Oracle官网

之后,我们去看一下具体是在哪里下载:

image.png
图二 JDK下载位置

image.png
图三 JDK版本

对于JDK而言,有其本身的发展历史,主要有如下的几个标志性版本:
1、1995年5月23,JDK1.0的开发包发布,同时在1996年的时候,JDK正式提供下载,标志着Java的诞生;
2、1998年12月04日,JDK1.2版本推出,而后Java正式更名为Java2;
3、2005年5月23 日,十周年大会上,推出JDK1.5版本,同时这个版本也是带来新特性以及开发支持更多的历史版本,可以说这一版本直接决定了Java后续十年的技术核心;
4、2014年,Java提供了JDK1.8版本,并且支持有Lambda表达式,而且可以使用函数式编程;
5、2017年,Java提供了JDK1.9版本,进一步提升了JDK1.8的稳定性;
6、2018年,Java提供了JDK1.10版本,是属于JDK1.9的稳定版。
需要注意的是:

  • 如果要是进行实际项目的生产环境的部署现阶段还应该以JDK1.8为主;
  • JDK1.9和JDK1.10的差别不大,也就是说使用JDK1.9还是JDK1.10效果是类似的。

我们这里选择Windows系统JDK1.10版本进行安装下载:

image.png
图四 JDK 1.10 版本下载

我们可以看到除了JDK 外还有Server JRE 、JRE。
JRE指的是Java运行时环境,也就是说只提供有程序的解释功能,不提供有程序的开发功能,当我们的本机上配置好了JDK后将会自动进行JRE的更新处理。

image.png
图五 JDK下载

image.png
图六 框选接受

点击查看具体下载过程
接下来我们说一说安装与配置:

image.png
图七 JDK安装初始窗口

image.png
图八 JDK定制安装窗口

image.png
图九 JRE安装窗口

image.png
图十 为JRE指定安装路径

image.png
图十一 安装进度窗口

image.png
图十二 安装完成窗口

image.png
图十三 JDK可执行文件路径

image.png
图十四 环境变量配置位置【高级系统设置】

image.png
图十五 环境变量配置位置【环境变量】

image.pngimage.png
图十六 编辑Path值

image.png
图十七 验证配置结果

安装与配置的所有步骤已经列好了,如果你还有不清楚的,可以点击这里哦!

1.5 我的第一个程序

现在环境变量配置完成,我们来进行我们第一个代码实现吧。
“Hello World”的源程序实现(通过记事本或者Editplus来编写):

public class Hello{
    public static void main(String  args[]){
        System.out.println(“Hello World”);
    }
}

是不是很简单,你学会了吗?
想知道怎么运行它吗?
我来带你去看看!
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:带你学《Java编程入门》之二:开启Java之路,你必须要了解的
更多Java入门编程文章查看此处

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
温故而知新:WinForm/Silverlight多线程编程中如何更新UI控件的值
单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如: private void btnSet_Click(object sender, EventArgs e...
771 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
7434 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
8268 0
1172
文章
2
问答
来源圈子
更多
Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~
+ 订阅
文章排行榜
最热
最新