主要内容
- Java语言概述(了解)
- Java开发环境搭建(重点)
- 编写HelloWorld入门程序(重点)
- 常量和变量以及数据类型(重点)
学习目标
- 理解: Java语言的跨平台实现原理
- 理解: JDK/JRE/JVM的组成和作用
- 理解: Java语言中的基本数据类型分类
- 操作: 配置Java开发环境
- 操作: 通过编写HelloWorld程序, 熟悉编写代码、编译、执行的流程
- 操作: 使用8种基本数据类型
第一节 Java语言概述
1.1 什么是Java语言
首先什么是编程语言?
编程语言是我们人类与计算机交流的语言,我们和计算机交流的目的, 就是让机器按照我们的指令去完成我们安排的任务.
如同世界不同的国家产生了多种语言一样, 与计算机交流也有多种"外语", 例如,计算机诞生之初的机器语言, 最原始的汇编语言, 无所不能的C, C++, 当下热门的Java, Python等.
Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。高级体现在什么地方呢? 机器语言也好, 汇编也好, 它们是针对某一种机器的, 如同和不同国家的人要讲特定的语言; 后来的C等, 不再是面向机器, 相同于对不同的国家的人都可以说相同的语言, 有一个称作翻译的人将你的意思给翻译成对应的语言讲给那个区域的人听. 高级语言就是这样的, 面对各种不同的CPU和操作系统, 我们使用统一的语言去写代码, 然后由不同平台上的翻译去转换成针对它们的指令. 这样提高了开发效率.
程序员编程的本质: 通过编程语言建立一个沟通渠道, 给计算机安排任务.
1.2 Java语言发展历史
1995年Sun公司发布Java1.0版本
1997年发布Java 1.1版本
1998年发布Java 1.2版本
2000年发布Java 1.3版本
2002年发布Java 1.4版本
2004年发布Java 1.5版本
2006年发布Java 1.6版本
2009年Oracle甲骨文公司收购Sun公司,并于2011发布Java 1.7版本
2014年发布Java 1.8版本
2017年发布Java 9.0版本
1.3 Java语言能做什么
Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
第二节 Java语言开发环境搭建
2.1 Java虚拟机——JVM
说虚拟机之前先说Java语言的一个特点: 一次编译, 处处执行.
意思就是说, 我们在开发完成Java源代码, 经过编译之后, 运行的时候, 无论是在win系统或者linux系统, 或者你的Mac系统, 都是可以不用编译的运行这段Java程序的. 原因是什么呢? 就是下面要概述要讲的JVM—Java虚拟机.
JVM(Java Virtual Machine): Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java最具吸引力的特性之一。我们编写的Java代码,都运行在JVM之上。
跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。如图所示:
Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。
2.2 JRE和JDK
JRE (Java Runtime Environment):是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。
JDK (Java Development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具。
我们想要运行一个已有的Java程序,那么只需安装JRE即可。
我们想要开发一个全新的Java程序,那么必须安装JDK。
这个图估计暂时没有接触太多java知识的你, 看上去都是一团糟, 没有关系, 先看个简单的,后面的学习中, 相信我,后面你肯定会对上面这幅图了如指掌. 你只要搞清楚下面这个图片就可以了:
三者关系: JDK 包含 JRE 包含 JVM
2.3 JDK安装图解
知道了JDK是我们做开发必须要安装的工具包, 现在就来图解演示如何安装JDK, 顺便讲解如何做到多版本共存
1, 下载
打开Oracle官网下载: https://www.oracle.com/downloads/ (JAVA已经是Oracle的产品了)
在打开的Downloads页面,找到Java>jdk下载链接
打开链接, 发现几个最新最稳定的JDK版本, 当前文档写作时间是JDK13(不管是什么版本, 方式是一样的), 这里我选择的JDK11(其实初学使用哪个版本没有什么版本影响, 只要稳定的就好, 企业内部版本一般比较老)
下载与你系统对应的JDK(例如使用的Windows系统)
在弹出的确认框中,勾选,并下载
Oracle要求必须登录账户才可以下载,如果没有账户, 那就必须下载一个, 注意密码必须有大小写数字组合限制, 注册登录你肯定会的,不再演示.
2, 创建安装目录
最好是创建没有中文和空格的目录(防止以后出现莫名的问题)
3, 安装
安装完成之后的文件目录
进入到cmd窗口试着执行java命令(学习阶段我们经常会用到javac和java命令, 分别是编译和执行)
win系统的cmd程序的使用,见附带讲义
4, 设置环境变量指向常用的JDK目录
在变量值中输入: %JAVA_HOME%/bin;
注意要带上分号, %%的意思是引用其它的变量, /bin,是在前面JAVA_HOME的路径添加/bin路径,指代我们安装好的jdk路径下面的bin路径.
配置环境变量作用
开发Java程序,需要使用JDK中提供的工具,工具在JDK安装目录的bin目录下。
在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。不进入JDK的bin目录,这些工具就不能使用,会报错。为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义在于告诉操作系统
,我们使用的JDK开发工具在哪个目录下。
小贴士:安装路径中,不要包含中文和空格。
第三节 入门程序
3.1 程序开发步骤说明
开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行。
3.2 编写Java源程序
-
在
D:\OnlineEdu\day0101
目录下新建文本文件,完整的文件名修改为HelloJava.java
,其中文件名为HelloJava,后缀名必须为
.java`。 -
使用notepad++或者EditPlus等文本软件打开创建的.java文件。
-
在文件中键入文本并保存,代码如下:
public class HelloJava{
public static void main(String[] args){
System.out.println("Hello World,Hello Java");
}
}
注意: 文件名必须是HelloJava,保证文件名和类的名字是一致的,注意大小写。每个字母和符号必须与示例代码一模一样。
第一个HelloJava源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件编译成JVM可以看懂的字节码文件
3.3 编译Java源文件
在DOS命令行中,进入Java源文件的目录,使用javac命令进行编译。
语法规范:
javac Java源文件名.后缀名
举例:
javac HelloJava.java
编译成功后,命令行没有任何提示。打开D:\OnlineEdu\day0101
目录,发现产生了一个新的文件
HelloJava.class,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。
Java源文件的编译工具javac.exe,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。
3.4 运行Java程序
在DOS命令行中,进入Java源文件的目录,使用java命令进行运行。
语法规范:
java 类名字
举例:
java HelloJava
注意: java HelloJava不要写不要写不要写.class
Java程序.class文件,在JDK安装目录的bin目录下。但是由于配置了环境变量,可的运行工具java.exe以在任意目录下使用。
3.5 入门程序说明
编译和运行是两回事
-
编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中,javac编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
-
运行:是指将class文件交给JVM去运行,此时JVM就会去执行我们编写的程序了。
文件关于main方法
- main方法:称为主方法。写法是固定格式不可以更改。 main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。
3.6 添加注释comment
-
注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。
-
Java中有单行注释和多行注释
-
单行注释以//开头换行结束
-
多行注释以/开头以/结束
-
3.7 关键字keywords
- 关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。
- HelloWorld案例中,出现的关键字有public、class、void、static等,这些单词已经被Java定义好,全部都是小写字母,notepad++中颜色特殊。
- 关键字比较多,不能死记硬背,学到哪里记到哪里即可。
3.8 标识符
- 标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
HelloWorld案例中,出现的标识符有类名字HelloWorld。 - 命名规则:硬性要求
- 标识符可以包含英文字母26个(区分大小写)、0-9数字、$(美元符号)和_(下划线)。
- 标识符不能以数字开头。
- 标识符不能是关键字。
- 命名规范:软性建议
- 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
- 方法名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。
- 变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。
第四节 常量
4.1概述
常量:是指在Java程序中固定不变的数据。
4.2分类
4.3练习
需求:输出各种类型的常量。
public class ConstantDemo{
public static void main(String[] args){
//输出整数常量
System.out.println(123);
//输出小数常量
System.out.println(0.125);
//输出字符常量
System.out.println('A');
//输出布尔常量
System.out.println(true);
//输出字符串常量
System.out.println("你好Java");
}
}
第五节 变量和数据类型
5.1 变量概述
变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
数学中,可以使用字母代替数字运算,例如x=1+5或者6=x+5。
程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
5.2 数据类型
数据类型分类
Java的数据类型分为两大类:
- 基本数据类型:包括整数、浮点数、字符、布尔。
- 引用数据类型:包括类、数组、接口。
基本数据类型
四类八种基本数据类型:
Java中的默认类型:整数类型是
int
、浮点类型是double
。
5.3变量的定义
变量定义的格式包括三个要素:数据类型、变量名、数据值。
语法规范
数据类型 变量名 = 数据值;
练习
定义所有基本数据类型的变量,代码如下:
public class Variable {
public static void main(String[] args){
//定义字节型变量
byte b = 100;
System.out.println(b);
//定义短整型变量
short s = 1000;
System.out.println(s);
//定义整型变量
int i = 123456;
System.out.println(i);
//定义长整型变量
long l = 12345678900L;
System.out.println(l);
//定义单精度浮点型变量
float f = 5.5F;
System.out.println(f);
//定义双精度浮点型变量
double d = 8.5;
System.out.println(d);
//定义布尔型变量
boolean bool = false;
System.out.println(bool);
//定义字符型变量
char c = 'A';
System.out.println(c);
}
}
long类型:建议数据后加L表示。
float类型:建议数据后加F表示。
5.4注意事项
- 变量名称:在同一个大括号范围内,变量的名字不可以相同。
- 变量赋值:定义的变量,不赋值不能使用。
总结重点
重点掌握这几点足够了
- 会安装Java开发环境;
- 通过编写Java的第一个HelloJava程序,做到熟悉Java代表编写–>编译–>运行的过程;
- 学习常量,变量的使用, 会去创建不同的数据类型的变量.
学习建议
学习技术类的知识和学习算法不太一样, 其实, 你是可以做到学的很好很快的. 技术的知识的确需要你去理解, 但是理解的强度并不像机器学习算法那样烧脑, 你即使在以后的学习过程中一时不理解某个知识点, 尽管去实践一下, 慢慢体会它的来龙去脉, 这个来龙去脉就是知识点的进化场景.
long类型:建议数据后加L表示。
float类型:建议数据后加F表示。
5.4注意事项
- 变量名称:在同一个大括号范围内,变量的名字不可以相同。
- 变量赋值:定义的变量,不赋值不能使用。
总结重点
重点掌握这几点足够了
- 会安装Java开发环境;
- 通过编写Java的第一个HelloJava程序,做到熟悉Java代表编写–>编译–>运行的过程;
- 学习常量,变量的使用, 会去创建不同的数据类型的变量.
学习建议
学习技术类的知识和学习算法不太一样, 其实, 你是可以做到学的很好很快的. 技术的知识的确需要你去理解, 但是理解的强度并不像机器学习算法那样烧脑, 你即使在以后的学习过程中一时不理解某个知识点, 尽管去实践一下, 慢慢体会它的来龙去脉, 这个来龙去脉就是知识点的进化场景.
小马哥说这些的目的就是, 学习Java很容易, 专注就会产生兴趣, 我会在这个学习过程中引导你走上学习Java的快车道.