关于java:Java入门的第一课

5次阅读

共计 10008 个字符,预计需要花费 26 分钟才能阅读完成。

第一个 Java 程序

你好,我是 彭彭

先来个自我介绍,快看这边,看这边,看这边,没错,这就是我 ????????????

怯懦而帅气,激情又弥漫!

我就是无牵无挂,风度翩翩的 彭彭

做生存的配角,跟我一起说:HAKUNA MATATA!!!

导学:Java,你为何如此优良?

从当初开始,让我来带你一起学习 Java。

你可能要说了:为什么要学 Java?

因为,Java 如此优良!

且听我为你一一道来。。。

你能够应用 Java 做什么

Java 语言利用宽泛,从诞生之初就广受欢迎。Java 利用无处不在,简直浸透了各行各业:金融、网站、嵌入式畛域、大数据技术、高频交易空间、迷信利用、挪动设施、车载设施以及风靡的万物互联、人工智能等畛域。

没错,Java 无处不在。甚至连咱们吃饭、喝水、走路。。。都离不开 Java 提供的服务。

Java:定位高端的风云人物

正是因为 Java 如此优良,同时又无数以 千万 计的开发者为 Java 的不断完善添砖加瓦,让 Java 这门编程语言从诞生之初就煊赫一时,并长期霸占编程语言排行榜第一和第二的地位(虚心地说,与 C 语言并驾齐驱):

May 2020 May 2019 Change Programming Language Ratings Change
1 2 C 17.07% +2.82%
2 1 Java 16.28% +0.28%
3 4 Python 9.12% +1.29%
4 3 C++ 6.13% -1.97%
5 6 C# 4.29% +0.30%
6 5 Visual Basic 4.18% -1.01%
7 7 JavaScript 2.68% -0.01%
8 9 PHP 2.49% -0.00%
9 8 SQL 2.09% -0.47%
10 21 R 1.85% +0.90%
11 18 Swift 1.79% +0.64%
12 19 Go 1.27% +0.15%
13 14 MATLAB 1.17% -0.20%
14 10 Assembly language 1.12% -0.69%
15 15 Ruby 1.02% -0.32%
16 20 PL/SQL 0.99% -0.03%
17 16 Classic Visual Basic 0.89% -0.43%
18 13 Perl 0.88% -0.51%
19 28 Scratch 0.83% +0.32%
20 11 Objective-C 0.80% -0.83%

上面是长期以来 Java 语言的市场占有率(彩色线条),能够显著看出 Java 语言始终名落孙山:

(数据起源:https://www.tiobe.com/tiobe-index/)

Java 在企业服务、挪动设施、大数据等多个畛域领有不可撼动的市场份额,这也是它作为风云人物的重要依据。Java 定位高端,薪资昂扬,简略易学却功能强大。无论是对当作入门语言的老手,还是对于作为终生职业的开发者,都是货真价实的 不二之选

你还在等什么,快上车!

课程内容

本节课程为你介绍 Java 语言详情,而后实现你的第一个 Java 程序。
次要内容包含:

  • Java 是什么
  • 你能够应用 Java 做什么
  • Java 有什么特点
  • Java 的倒退历程是怎么的
  • 你该怎么开始?
  • 你的第一个 Java 程序
  • Java 程序是怎么工作的?(选学)
  • 集成开发环境搭建
  • 总结

内容看起来很多,其实一点都不难。认真看,只有一个 加粗的重点工作哦!

学完本节课程,你会有以下两个播种:

  • 理解 Java 语言的详情
  • 可能应用 IDEA 编写、运行 HelloWorld 程序

怎么样,是不是看起来很简略?

动动手指就能实现,快来开始你的老手工作吧!

第一关 Java 及其“风波人生”

1.1 Java 是什么

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。由 James Gosling(詹姆斯 · 高斯林)和共事们独特研发,并在 1995 年正式推出。因为该公司在 2009 年被 Oracle 公司收买,所以,Java 当初是 Oracle 公司的一部分。Java 的官网:https://www.oracle.com/java/。

Java 应用程序可运行于不同的操作系统,如 Windows,Mac OS,及其他多种 UNIX 版本的零碎。依据 Java 不同的用处,分为三个版本:

  • JavaSE:Java Platform Standard Edition,Java 平台标准版,开发桌面应用程序,比方一些小游戏、音乐播放器、安卓零碎和安卓手机的 App
  • JavaEE:Java Platform,Enterprise Edition,Java 平台企业版,开发企业级利用,比方天猫、京东、百度之类的大型网站
  • JavaME:Java Platform Micro Edition,Java 平台微型版,嵌入式设施开发,比方数字电视、机顶盒、电冰箱、车载电子设备

闯关练习

1、Java 语言的作者是谁?

A. Mark Zuckerberg(马克扎克伯格)
B. Elon Musk(埃隆马斯克)
C. Bill Gates(比尔盖茨)
D. James Gosling(詹姆斯高斯林)

答案:

James Gosling(詹姆斯高斯林)

谬误提醒:往上翻一翻,聪明绝顶的老爷爷叫什么名字!

1.2 Java 有什么特点

Java 的设计者曾经编写了颇有影响力的“白皮书”,用来解释设计的初衷以及实现的状况,并且公布了一个简短的摘要,这个摘要用上面 11 个要害术语进行组织:

Java 的长处如此之多,通过一直地学习,你将逐步领会到。上面简略介绍下几个重要的特点:

  • Java 语言是简略的:Java 语法是 C++ 语法的一个“污浊”版本,Java 抛弃了 C ++ 中很少应用的、很难了解的、令人蛊惑的那些个性,如操作符重载、多继承、主动的强制类型转换,这也使得大多数程序员很容易学习和应用。简略的另一个方面是小。Java 的指标之一是反对开发可能在小型机器上独立运行的软件。根本的解释器以及类反对大概仅为 40KB,再加上根底的规范类库和对线程的反对(基本上是一个自蕴含的微内核)大概须要减少 175KB,在过后,这是一个了不起的成就。
  • Java 语言是面向对象的:面向对象设计是一种程序设计技术,Java 是一个纯的面向对象程序设计语言。咱们简直能够透过现实生活去了解 Java 语言中的所有,这大大减少了编程语言与事实之间的阻隔。
  • Java 语言是平安的:Java 通常被用在网络或分布式环境中,为此,Java 提供了一个平安机制以防恶意代码攻打。除了 Java 语言具备的许多平安个性以外,Java 对通过网络下载的类具备一个平安防备机制(类加载器),如调配不同的名字空间以防代替本地的同名类、字节代码查看,并提供平安管理机制(类 SecurityManager)让 Java 利用设置平安哨兵。
  • Java 是高性能的:只管对解释后的字节码性能曾经比较满意,但在有些场合下还须要更加高效的性能。字节码能够(在运行时刻)动静地翻译成对应运行这个利用的特定 CPU 的机器码。与那些解释型的高级脚本语言相比,Java 确实是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的倒退越来越靠近于 C ++。
  • Java 语言是多线程的:多线程能够带来更好的交互响应和实时行为,来确保用户界面不会“冻住”。现在,咱们十分关注并发性,因为摩尔定律即将完结。咱们不再谋求更快的处理器,而是着眼于取得更多的处理器,而且要让它们始终放弃工作。在 Java 语言中,线程是一种非凡的对象,它必须由 Thread 类或其子(孙)类来创立。线程的流动由一组办法来管制。Java 语言反对多个线程的同时执行,并提供多线程之间的同步机制。

1.3 Java 的倒退历程

那么它是如何一步步倒退到当初的样子的?

  • 1995 年 5 月 23 日,Java 语言正式公布
  • 1999 年 6 月,SUN 公司公布三个 Java 版本:标准版(J2SE,)、企业版(J2EE)和微型版(J2ME)。
  • 2002 年 2 月 26 日,J2SE1.4 公布,自此 Java 的计算能力有了大幅晋升
  • 2004 年 9 月 30 日 18:00PM,J2SE1.5 公布,新增了枚举、泛型、可变参数、主动装箱 / 拆箱、For-each 循环、注解等多个重要而实用新个性,成为 Java 语言发展史上的又一里程碑。为了示意该版本的重要性,J2SE1.5 更名为 Java SE 5.0
  • 2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本曾经更名,以勾销其中的数字 ”2″:J2EE 更名为 Java EE,J2SE 更名为 Java SE,J2ME 更名为 Java ME
  • 2009 年 04 月 20 日,甲骨文 74 亿美元收买 Sun,获得 Java 的版权。
  • 2014 年 3 月 18 日,Oracle 公司发表 Java SE 8,里程碑版本,公布了大量的优良个性,如 Lambda 表达式,办法援用,函数式编程,Stream API,Date Time API,全新的 Nashorn javascript 引擎,以便咱们在 JVM 上运行特定的 JavaScript 利用,
  • 2018 年 9 月 25 日,Java SE 11 公布,里程碑版本,最近的长期反对(LTS,Long Term Support)版本,Oracle 承诺会始终保护到 2026 年。这个版本除了对之前公布的 8、9、10 中的个性进行优化之外,还新增了类型推断、HTTP Client API、汇合类的加强、ZGC(低功耗可扩大 GC)、嵌套访问控制、堆剖析能力加强(JVMTI)、新增并优化一些加密算法,同时,Oracle 发表将不再独自公布 JRE 和 Server JRE,对立名称为 Oracle JDK,并发表当前每 6 个月公布一次新版本,每三年公布一次 LTS 版本。
  • 2021 年 9 月,最新的 LTS 版本 Java SE 17 公布,敬请期待。

闯关练习

2、Java 当初(2020 年)最新的 LTS(长期反对)版本是?

A. Java 8
B. Java 9
C. Java 11
D. JDK 14

答案:

Java 11


第二关 你该怎么开始?

2.1 找到 JDK

你该怎么开始应用 Java 进行程序设计呢?

Java 的设计者们也思考到了这个问题。为了不便宽广开发者不便的应用 Java 语言开发利用,设计者们提供了大量的开发工具,通过应用这些工具,咱们可能以非常简单的形式开发 Java 程序(其中最典型的就是 javajavac 两个命令,稍后介绍)。

那么,这些工具在哪里呢,如何应用呢?

设计者们把这些工具打包在一起,叫做 JDK,Java Development Kit,即 Java 开发工具包。个别状况下,咱们开发了程序之后,必定是要运行一下看看成果的,所以,设计者们把 Java 程序的运行环境 一并打包进了 JDK 外面,这个运行环境就叫 JRE,Java Runtime Environment,所以 JDKJRE 之间是蕴含关系。

当初,咱们要想方法获取 JDK

既然 Java 当初属于 Oracle 公司,那么咱们去 Oracle 的官网应该就能获取到 JDK。在浏览器输出 Oracle 的官网网址:https://www.oracle.com/,进入首页之后,你能够在搜寻框里输出“Java”进行搜寻,也能够在导航栏里找到 Products 并进入 Java 频道:

进入 Java 频道之后,是对于 Java 劣势的宣传。你能够在这个页面理解到 Java 的劣势。在页面的 下半局部,找到“Java”,能够看到“Java SE”,点击“Download Java now”:

进入 Java SE 详情页面,你能够看到最新版本以及 Oracle 官网举荐应用的版本,这些版本都是以后市场上使用量比拟高,而且比较稳定的版本。你当然能够下载最新版的 JDK 软件包尝尝鲜,如果是生产环境,还是更举荐应用上一个稳固的 LTS(长期反对)版本,或者你的公司指定应用的版本。这里咱们以 JDK11 版本为例(目前最新的 LTS 版本),点击 Java SE 11 的“Download”连贯,进入上面的页面:

持续点击上图中的“JDK Download”链接,进入 JDK 安装包下载列表,在这里,你能够依据本人操作系统的版本来抉择适宜的 JDK,比方下载 64 位 Windows 版本的 JDK 安装包:

tips: 下载后缀名为.zip 的免装置版本也是能够的。间接将压缩包解压到指定目录,进行配置之后就能够间接应用了,省去了装置的过程。然而该版本文件包比拟大,在下载过程中要思考网络因素。

抉择你的安装包之后,点击链接,页面弹出提示框,间接勾选承受协定的复选框(如同也没有别的抉择):

点击弹出框的下载按钮就能够开始下载了。

还有一个细节要留神,Oracle 网站要求下载 JDK 的用户必须是登录用户,如果你没有登录或者没有帐号,须要注册一个非法的帐号能力下载,这里不作介绍。

下载实现后,双击软件包装置即可。你能够始终点击“next”(或“下一步”)装置到默认门路下,也能够抉择将 JDK 装置到指定目录,以方便管理。比方我的装置门路(DevelopTools 是所有开发软件装置的目录):

D:\DevelopTools\Java\jdk-11.0.8\

2.2 如何以及为何配置 JDK

JDK 装置实现后看起来并不会有什么变动,个别状况下,你也看不到桌面会有快捷方式。想要失常应用 JDK,还须要一些配置。

你能够关上 JDK 装置后的 bin 目录,外面并不止一个应用程序:

这外面蕴含 Java 大量的开发命令(即 Java 开发工具,下同)和运行命令,要想应用这些命令,须要将它们配置到操作系统的环境变量 Path 中,当咱们须要零碎运行 JDK 的命令时,就能够通过 Path 配置的门路找到并执行它们。

tips:

环境变量:零碎或利用程序运行过程中应用到的一些信息(参数),可能是某个值,也可能是某个门路。

2.3 如何配置 JDK

  1. 关上零碎高级设计,找到“高级选项卡”

    在桌面“计算机”或“此电脑”图标上右键,抉择“属性”,进入控制面板的计算机系统页面后,点击“高级零碎设置”,关上零碎属性 - 高级选项卡:

  2. 点击“环境变量”按钮,新建零碎变量“JAVA_HOME”,值为 JDK 装置的根目录

    进入环境变量配置窗口,在“零碎变量”下点击“新建”按钮,创立一个新的环境变量:

  3. 应用新建的零碎变量“JAVA_HOME”,将 JDK 装置目录下的 bin 目录 增加到 Path 零碎变量的最后面:

    选中“零碎变量”下的 Path 变量,抉择“编辑”按钮,弹出编辑环境变量的窗口后,点击“新建”按钮,输出“%JAVA_HOME%\bin”后确定,应用“上移”按钮将咱们新建的内容移到最下面:

  4. 如何验证是否配置胜利?

    配置实现后,顺次点击确定敞开那些窗口。而后同时按住 win + R,输出 cmd,回车:

    进入 DOS 命令行窗口后,别离输出命令:java javac 而后回车,如果可能显示一些信息,阐明配置胜利:

注意事项:

若输出 java 命令或者 javac 命令后提醒“不是外部或外部命令,也不是可运行的程序或批处理文件”,则 JDK 装置失败,需卸载后重装。

对于 Mac 版的环境配置,能够点开链接本人学习一下。

2.4 考一考

请用一句话形容配置环境变量的目标是什么?

答案:

将 bin 目录配置到 Path 中,是为了当须要零碎运行 bin 目录下的命令时,能够不便的找到它们并运行。

第三关 你的第一个 Java 程序

3.1 意识在线编辑器

说了这么多,快来开始写代码吧。不过再给彭彭 1 分钟工夫,带你认识一下代码编译器——它是你在根底学习过程中的重要小助手。

代码编辑器界面如下图所示,其中:

  • 代码输入区:用来输出或编辑已有的代码
  • 代码执行区:用来展现代码运行后的后果
  • 重置:将代码输入区中内容还原为初始内容
  • 运行:执行编译代码,在代码执行区输入运行后果

点击这里,能够应用在线编译器边学边练,无需本人装置环境,用于学习 Java 基础知识十分不便。

但如果你是立志学好 Java,当前从事 Java 相干工作,拍前浪于沙滩上的后浪少年,那么肯定要在本人电脑上装置更业余的编译器,老师在第五关会教你怎么装置。加油吧,后浪!

3.2 写一写,运行一下

说了这么多,快来开始写代码吧。

简直每一种编程语言的第一个程序,都是赫赫有名的“Hello world”,如同是在向全世界宣告:我来了。

Java 也不例外,上面这段代码,就是 Java 语言的 Hello world 程序:

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

这段代码的输入后果:

Hello World

快来试一试

3.3 为什么这么写

Java 程序为什么是这样的?每个局部代表什么意思呢?

当初就通知你答案。

下面的 HelloWorld 程序一共有 5 行,事实上,只有前三行是能够执行的代码,那么,咱们就来别离看看这三行是什么意思:

第一行:

public class HelloWorld {}

这段代码【申明】了一个类,或者说,创立了一个类,这个类叫做 HellWorld。而后面紧挨着的单词 class,它的中文意思就是类,第一个单词 public 意思是“公共的”,所以 HellWorld 是一个“公共的类”,这就是这段申明的意思。至于类的具体含意,我会在“面向对象”章节具体的为你介绍,当初,你须要晓得的是:
在 Java 中,一个最小的 Java 程序,至多蕴含一个类,或者说,类是 Java 程序的最小单位
这就是为什么要创立一个 类(class) 的起因。

第二行:

public static void main(String[] args) {}

这行代码【申明】了一个办法,或者说,创立了一个办法,这个办法叫 mainmain 办法是 Java 程序的入口,也就是说,Java 程序是从这个办法开始运行的。main 办法的格局是固定的,不能随便批改,这是 Java 语言的约定(或者说标准)。所以,倡议你先把 main 办法的格局记住,我会通过前面的常识为你介绍它每一部分的含意。

比照第一行,这一行代码也有一对括号,而方才咱们编写的代码里,花括号开始 { 和结尾 } 并没有紧紧挨在一起,为什么这样?其实,花括号代表了类和 main 办法的范畴。也就是说,类的花括号中的内容,才是属于这个类的,而如果在一个类的结尾花括号里面编写代码,这些代码是不属于这个类的。由此可见,main 办法是 HelloWorld 类的一部分,同样的,第三行代码也是 main 办法的一部分。

Java 中的括号,都是成对呈现的,比方:()、[]、{},所以在编写代码的时候肯定要留神哦!

第三行:

System.out.println("Hello World");

要把这行代码分成两局部:System.out.println();"Hello World"。第一局部,咱们称为“输入语句”,它的格局也像 main 办法一样是固定的,它的作用在于 输入内容;而第二局部,也就是双引号两头的 Hello world,就是输入语句要输入的内容。这么说来,双引号外面的内容是能够批改的,快去试试本人的名字?

Java 中的引号,无论是双引号还是单引号,个别都要成对呈现,而且都是英文输入法下的,其它符号同理。

3.4 一幅图的总结

好忘性不如烂笔头,连忙把它们记下来:

第四关 Java 程序是怎么工作的?

看起来,编写一个 Java 程序非常简单,然而,Java 程序的运行过程,是非常复杂的。这部分常识 不要求 你把握,你只须要理解它的大抵过程就能够了。当初,为你介绍的内容是:Java 程序的开发与运行原理。大抵分为三步:
编写源文件 ——> 编译 ——> 运行

4.1 编写源文件

下面编写的代码,称为“源代码”或“源码”。个别状况下,咱们会把源代码保留到后缀名为 .java 的文本文件里,这样的文件叫“源文件”。为了不便,咱们会放弃文件名与类的名字统一(包含大小写):

4.2 编译

源文件是程序员编写的,咱们可能轻松辨认每一行代码的意思,然而,在计算机中,CPU 只能辨认二进制指令。所以,当初要做的工作就是,须要在源文件和计算机指令之间进行转换。因为 Java 语言的构造和个性,设计者们先将源文件转换成一种非凡的二进制文件,而后将这个二进制文件交给 Java 运行时环境(JRE)去执行。转换成二进制文件的过程,叫做编译(这个过程应用了 javac 命令),生成的二进制文件,叫做字节码文件(后缀名是 .class)。这个过程全副由 Java 编译器主动实现,不须要程序员进行任何非凡操作:

4.3 运行

Java 程序的运行,并不是将字节码文件(.class文件)简略的交给操作系统去执行,那是因为不同的操作系统中数据的大小、范畴和计算形式有很大不同,会导致同一段代码在不同零碎之间运行成果差异很大,这不是设计者们想要看到的。Java 的设计者们想到了一个聪慧的方法,就是针对不同的操作系统,别离编写了一个能够正确执行 Java 程序的虚拟机(JVM),而后把这个虚拟机内置到 Java 的运行时环境(JRE)中,这样,同一段 Java 代码,就能够在不同的操作系统上运行出雷同的成果了:

将字节码文件(.class)交给 Java 运行时环境(JRE)执行的过程,叫做 Java 程序的运行(这个过程应用了 java 命令)。

总的来说,从编写源代码,到程序输入后果,大抵分为三步:

闯关练习

4、Java 程序的入口是什么?

A. 类
B. main 办法
C. System.out.println(); 语句
D. 以上都是

答案:

main 办法


第五关 集成开发环境搭建

JDK 装置目录下的 bin 目录,蕴含了很多开发工具(即各种命令),咱们当然能够间接应用它们来开发 Java 程序,然而这样做带来的后果就是,无论从应用这些工具的形式,还是从治理代码的角度上看,都会显得十分不不便。如果能把这些工具集成在一个软件里,通过图形界面操作它们,就能够升高开发难度,大大提高开发效率。

工欲善其事,必先利其器。应用集成开发工具要简略、高效的多。所以,我特意为你筹备了当初最受开发者欢送的集成开发工具之一:Intellij IDEA,简称 IDEA。

IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以谨严著称的东欧程序员为主。官网网址为:https://www.jetbrains.com/idea/。

对于 IDEA 的下载和装置,请参考文档:

IntelliJ IDEA 的下载和装置.docx

IDEA 的配置、以及罕用快捷键,请参考文档:

IntelliJ IDEA 开发工具配置.docx

5.1 在 IDEA 中创立 Java 我的项目

在 IDEA 中(包含很多其余的集成开发工具,比方 eclipse),是以我的项目的模式来治理 Java 代码的,一个我的项目就是一个软件工程,或者了解成一个简单的 Java 程序。点击“Create New Project”,创立一个新我的项目:

在 New Project 新我的项目创立窗口,抉择 Java 我的项目类别,点击 next

上面的页面提醒是否从模板创立我的项目,不必管它,间接点击 next:

输出我的项目名:HelloWorld,抉择我的项目在本地磁盘的地址,点击 finish

小贴士,对 IDEA 的操作技巧,每次启动 IDEA 时弹出,能够依据须要抉择是否弹出。勾销勾选“Show tips on startup”即勾销弹出,点击 close:

HelloWorld 我的项目创立胜利。开展我的项目构造,如图所示:

在 src 目录上右键 ->new->Java Class,并在弹出的对话框中输出 HelloWorld(留神大小写)

这样就创立好了一个类,在类中编写代码即可。

5.2 编写 Java 程序并运行

在新建的 HellWorld 类中编写后面介绍过的代码之后,IDEA 会主动保留,不须要咱们手动 Ctrl + S

代码编写好了,就能够开始运行程序了:

能够看出,IDEA 默认的字号十分小,你能够依据后面介绍的 IntelliJ IDEA 开发工具配置.docx 对字体和字号进行配置。运行程序有多种形式,常见的形式比方:

  • 一,在左侧编辑区绿色三角形按钮上点击,抉择“Run‘HelloWorld.main()’”菜单运行 HelloWorld 程序;
  • 二,也能够在空白处右键,抉择“Run HelloWorld.main()”菜单运行 HelloWorld 程序:

运行之后,窗口下半局部呈现控制台窗口,并打印出“HelloWorld”:

哇,好棒呀,你竟然能够开发实现一个 Java 程序了!

课程总结

这个大节的内容曾经学习完了,是不是感觉播种多多!

方才咱们一起理解了 Java 的根本信息,同时实现了你的第一个 Java 程序:HelloWorld。

当初,咱们一起做个总结。

  1. 理解 Java 的根本信息

    ​ Java 的作者:詹姆斯 · 高斯林

    ​ Java 语言目前最新的 LTS 版本:JDK11

  2. 可能编写 HelloWorld 代码,并胜利运行

    ​ Java 程序的最小单位:类

    ​ Java 程序的入口:main 办法

这就是明天学习到的内容,整体来说难度不大。置信你当初必定曾经把握了下面的常识,你真的太棒了!

最初,去挑战一下明天的作业吧!

作业

1. 应用 IDEA 实现 HelloWorld 程序,并胜利运行。

2. 练习 IDEA 的罕用快捷键,看看能不能找到疾速编写 main 办法和输入语句的方法。

(完)

正文完
 0