从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入门编程文章查看此处

相关文章
|
11天前
|
设计模式 安全 Java
Java编程中的单例模式:理解与实践
【10月更文挑战第31天】在Java的世界里,单例模式是一种优雅的解决方案,它确保一个类只有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的实现方式、使用场景及其优缺点,同时提供代码示例以加深理解。无论你是Java新手还是有经验的开发者,掌握单例模式都将是你技能库中的宝贵财富。
16 2
|
6天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
14天前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
67 5
|
8天前
|
安全 Java 编译器
JDK 10中的局部变量类型推断:Java编程的简化与革新
JDK 10引入的局部变量类型推断通过`var`关键字简化了代码编写,提高了可读性。编译器根据初始化表达式自动推断变量类型,减少了冗长的类型声明。虽然带来了诸多优点,但也有一些限制,如只能用于局部变量声明,并需立即初始化。这一特性使Java更接近动态类型语言,增强了灵活性和易用性。
91 53
|
7天前
|
存储 安全 Java
Java多线程编程的艺术:从基础到实践####
本文深入探讨了Java多线程编程的核心概念、应用场景及其实现方式,旨在帮助开发者理解并掌握多线程编程的基本技能。文章首先概述了多线程的重要性和常见挑战,随后详细介绍了Java中创建和管理线程的两种主要方式:继承Thread类与实现Runnable接口。通过实例代码,本文展示了如何正确启动、运行及同步线程,以及如何处理线程间的通信与协作问题。最后,文章总结了多线程编程的最佳实践,为读者在实际项目中应用多线程技术提供了宝贵的参考。 ####
|
4天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
6天前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
18 2
|
7天前
|
Java UED
Java中的多线程编程基础与实践
【10月更文挑战第35天】在Java的世界中,多线程是提升应用性能和响应性的利器。本文将深入浅出地介绍如何在Java中创建和管理线程,以及如何利用同步机制确保数据一致性。我们将从简单的“Hello, World!”线程示例出发,逐步探索线程池的高效使用,并讨论常见的多线程问题。无论你是Java新手还是希望深化理解,这篇文章都将为你打开多线程的大门。
|
8天前
|
安全 Java 编译器
Java多线程编程的陷阱与最佳实践####
【10月更文挑战第29天】 本文深入探讨了Java多线程编程中的常见陷阱,如竞态条件、死锁、内存一致性错误等,并通过实例分析揭示了这些陷阱的成因。同时,文章也分享了一系列最佳实践,包括使用volatile关键字、原子类、线程安全集合以及并发框架(如java.util.concurrent包下的工具类),帮助开发者有效避免多线程编程中的问题,提升应用的稳定性和性能。 ####
34 1
|
11天前
|
存储 设计模式 分布式计算
Java中的多线程编程:并发与并行的深度解析####
在当今软件开发领域,多线程编程已成为提升应用性能、响应速度及资源利用率的关键手段之一。本文将深入探讨Java平台上的多线程机制,从基础概念到高级应用,全面解析并发与并行编程的核心理念、实现方式及其在实际项目中的应用策略。不同于常规摘要的简洁概述,本文旨在通过详尽的技术剖析,为读者构建一个系统化的多线程知识框架,辅以生动实例,让抽象概念具体化,复杂问题简单化。 ####