day01【前言、入门程序、常量、变量】
今日内容
- Java语言的发展历史
- Java开发环境搭建
- 编写HelloWorld程序
- 常量和变量
教学目标
- 能够计算二进制和十进制数之间的互转
- 能够使用常见的DOS命令
- 理解Java语言的跨平台实现原理
- 理解JDK和JRE的组成和作用
- 能够配置环境变量JAVA_HOME
- 能够编写HelloWorld程序编译并执行
- 理解关键字的含义
- 理解标识符的含义
- 能够定义出所有类型的常量
- 理解Java中的基本数据类型分类
第一章 开发前言
1.1 Java语言概述
什么是Java语言
Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言,所谓编程语言就是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UAnaghdj-1575363292472)(assets/James.png)]
Java之父:James Gosling 【高司令】
职业:计算机科学家
生日:1955年05月19日
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版本
- 2018年发布Java 10版本
- 2018年发布Java 11版本
Java语言能做什么
Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。ss
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5t6Iwhl0-1575363292473)(img/京东.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vCfUwQ2l-1575363292473)(img/天猫.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1rb9yYVY-1575363292473)(img/运单查询.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y7UoESDi-1575363292474)(img/网银.jpg)]
1.2 计算机基础知识
二进制
进制也就是进位计数制。 比如 十进制,就每一位置上的数运算时都是逢十进一位。
二进制就是逢二进一,八进制就是逢八进一,十六进制就是逢十六进一。
十进制和二进制的特点:
-
在十进制数中只包含0~9的数字,逢十进一。例如:1+1=2,1+9=10。
-
在二进制数中只包含0~1两个数,逢二进一。例如:0+1=1,1+1=10。
为什么要学习二进制呢?
人们日常生活采用的是十进制数,而计算机中全部数据都采用二进制数表示。 在计算中任何的数据形式底层都是使用二进制来表示的,我们要和计算机进行沟通,所以我们了解二进制和十进制之间的相互转化。增强与计算机的沟通。
- **十进制数据转成二进制数据:**使用除以2 倒取余数的方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m47phdAL-1575363292474)(img/十进制转二进制.jpg)]
- **二进制数据转成十进制数据:**使用 8421编码的方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ypN9ntlN-1575363292476)(img/二进制转十进制.jpg)]
以上十进制和二进制之间的转换,也可以使用计算器进行换算,方便快捷。
小贴士:
在二进制数 系统中,每个0或1就是一个位元,叫做bit(比特)是二进制单位。
字节(byte)
**字节是我们常见的计算机中最小存储单元。**bit 最小的信息单位
计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,我们可以查看文件的字节大小。
8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。
- 8 bit = 1 B(Byte)
- 1024 B =1 KB
- 1024 KB =1 MB
- 1024 MB =1 GB
- 1024 GB = 1 TB
这里有个概念要搞清楚:计算机最小的存储单元是字节(byte或B),最小的信息单位是位(bit)
常用DOS命令(Disk Operation System)
MS-DOS : microsoft- disk operation system
Java语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。
-
进入DOS操作窗口
-
按下Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TiIDpKwp-1575363292476)(img/运行窗口.jpg)]
-
打开DOS命令行后,看到一个路径 c:\user 就表示我们现在操作的磁盘是c盘。
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SYKi8yMg-1575363292477)(img/dos命令行.jpg)]
-
常用命令
命令 操作符号 盘符切换命令 盘符名:
进入文件夹命令 cd 文件夹名
加上Tab自动补全退出文件夹命令 cd..
返回上一级目录退出到磁盘根目录 cd\
查看当前文件夹 dir
清屏 cls
exit 退出DOS窗口
只要操作过的命令可以使用上下方向按键选择历史命令
第二章 Java语言开发环境搭建
2.1 Java虚拟机(JVM)
-
JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在
JVM
之上。 -
跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dDW99BRf-1575363292477)(img/跨平台.jpg)]
如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。
2.2 JRE 和 JDK
-
**JRE ** (Java Runtime Environment) :是Java程序的运行时环境,包含
JVM
和运行时所需要的核心类库
。 -
JDK (Java Development Kit):是Java程序开发工具包,包含
JRE
和开发人员使用的工具。JVM < JRE < JDK
总结:
我们想要运行一个已有的Java程序,那么只需安装
JRE
。我们想要开发一个全新的Java程序,那么必须安装
JDK
。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q6eWrP7i-1575363292478)(img/JDKJRE.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-By3OjHQH-1575363292478)(assets/07-JDK&JRE&JVM关系示意图.png)]
小贴士:
三者关系: JDK > JRE > JVM
2.3 JDK9安装图解
下载链接:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i0EcfXyI-1575363292479)(img/jdk-win10-1.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tx2AmNYy-1575363292480)(img/jdk-win10-2.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8PymOANL-1575363292481)(img/jdk-win10-3.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3UvSh8Y8-1575363292482)(img/jdk-win10-4.jpg)]
小贴士:
安装路径中,不要包含中文和空格。
2.4 JAVA_HOME环境变量的配置
配置环境变量作用
开发Java程序,需要使用JDK中提供的工具,工具在JDK9安装目录的bin
目录下。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IdbFOMjS-1575363292483)(img/开发工具.jpg)]
在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mRB3SLe2-1575363292483)(img/环境变量1.jpg)]
不进入JDK的bin
目录,这些工具就不能使用,会报错。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uIF4rk1M-1575363292484)(img/环境变量2.jpg)]
为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。
配置环境变量步骤
Windows 7,8版本
- 计算机鼠标右键,选择
属性
(Win + E -->资源管理器)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EbhOIVn1-1575363292486)(img/环境变量3.jpg)]
- 选择
高级系统设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qa3Ql5rO-1575363292487)(img/环境变量4.jpg)]
高级
选项卡,点击环境变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZXuwbw7Q-1575363292488)(img/环境变量5.jpg)]
- 点击
新建
,创建新的环境变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TVGnt4ZK-1575363292489)(img/环境变量6.jpg)]
- 变量名输入
JAVA_HOME
,变量值输入JDK9的安装目录c:\Java9\jdk-9.0.1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cAy2mjQ8-1575363292490)(img/环境变量7.jpg)]
- 选中
Path
环境变量,双击
或者点击编辑
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ccPTyDAk-1575363292490)(img/环境变量8.jpg)]
-
在变量值的最前面,键入
%JAVA_HOME%\bin;
分号必须要写,必须是英文格式。先把原来的环境变量拷贝到记事本再操作.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-utfnlArT-1575363292491)(img/环境变量9.jpg)]
- 环境变量配置完成,重新开启DOS命令行,在任意目录下输入
javac
命令,运行成功。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o8mVrOpO-1575363292491)(img/环境变量10.jpg)]
Windows 10 版本
- 文件资源管理器 --> 此电脑鼠标右键 --> 选择
属性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-deNqZ6ca-1575363292492)(img\win10-01.JPG)]
- 选择
高级系统设置
--> 选择环境变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OsaxtDWj-1575363292493)(img\win10-02.JPG)]
- 点击下方系统变量的
新建
,创建新的环境变量,变量名输入JAVA_HOME
,变量值输入JDK9的安装目录D:\02_DevelopTools\Java\jdk-9.0.1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uNb4yh63-1575363292493)(img\win10-03.JPG)]
- 选中
Path
环境变量,双击
或者点击编辑
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4nYQOJcZ-1575363292494)(img\win10-04.JPG)]
- 点击
新建
,键入%JAVA_HOME%\bin
,必须是英文格式。选中该行,上移到最上方,点击确定。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-psaHWUnx-1575363292494)(img\win10-05.JPG)]
- 环境变量配置完成,重新开启DOS命令行,在任意目录下输入
javac
命令。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DmiTmvTd-1575363292495)(img/环境变量10.jpg)]
如果以上配置完成,能够正常使用,那么可以不用配置
*2.5 Classpath配置
%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\rt.jar
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EpegwBHW-1575363292495)(assets/1532819495925.png)]
第三章 HelloWorld入门程序
3.1 程序开发步骤说明
开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VxdYYdCa-1575363292496)(img/开发步骤.jpg)]
3.2 编写Java源程序
-
在
d:\day01
目录下新建文本文件,完整的文件名修改为HelloWorld.java
,其中文件名为HelloWorld
,后缀名必须为.java
。(设置自己的文件浏览器可以看到后缀,否则无法更改后缀) -
用记事本打开 使用资料中提供的notepad++记事本软件。
-
在文件中键入文本并保存,代码如下:
public class HelloWorld {
public static void main (String[] args) {
System.out.println("Hello World!");
}
}
文件名必须是
HelloWorld
,保证文件名和类的名字是一致的,注意大小写。每个字母和符号必须与示例代码一模一样。
所有的符号必须是英文符号
第一个HelloWord
源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件
编译成JVM可以看懂的字节码文件
。
3.3 编译Java源文件
在DOS命令行中,进入Java源文件的目录 ,使用javac
命令进行编译。
命令:
javac Java源文件名.java
举例:
javac HelloWorld.java
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rb41bTUe-1575363292497)(img/编译.jpg)]
编译成功后,命令行没有任何提示。打开d:\day01
目录,发现产生了一个新的文件 HelloWorld.class
,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。
Java源文件的编译工具
javac.exe
,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。
3.4 运行Java程序
在DOS命令行中,进入Java源文件的目录,使用java
命令进行运行。
命令:
java 类名字(文件名)
举例:
java HelloWorld
java HelloWord 不要写 不要写 不要写 .class
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VsUIHMpS-1575363292497)(img/运行.jpg)]
Java程序.class文件
的运行工具java.exe
,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。
当源代码更改了以后,要重新进行编译,再运行。
3.5 入门程序说明
编译和运行是两回事
- 编译(javac):是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中,
javac
编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。 - 运行(java):java 是指将
class文件
交给JVM去运行,此时JVM就会去执行我们编写的程序了。
关于 main 方法
- main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。
3.6 添加注释comment
-
注释:就是对代码的解释 和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必要的,它不影响程序的编译和运行。
-
Java中有单行注释和多行注释及文档注释
-
单行注释以 // 开头 换行结束
-
多行注释以 */ ** 开头 以 */ 结束
-
文档注释以 /** 开始,以 */ 结束 (现阶段不做要求)
说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。
说明注释,使你更加方便的记录你的程序信息。
@author 标明开发该类模块的作者 @version 标明该类模块的版本
生成文档命令
javadoc -d doc HelloWolrd.java
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4y8IJNJL-1575363292498)(img/文档生成)]
-
3.7 Java关键字keywords
- 关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。
- HelloWorld案例中,出现的关键字有
public
、class
、static
、void
等,这些单词已经被Java定义好 - 特点:全部都是小写字母,在增强版记事本(如notepad++)中颜色特殊。
- 关键字比较多,有50多个,不能死记硬背,学到哪里记到哪里即可。
- HelloWorld案例中,出现的关键字有
3.8 标识符
-
标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
- HelloWorld案例中,出现的标识符有类名字
HelloWorld
。
- HelloWorld案例中,出现的标识符有类名字
-
命名规则:
硬性要求
- 标识符可以包含
英文字母26个(区分大小写)
、0-9数字
、$(美元符号)
和_(下划线)
。 - 标识符==不能以数字开头==。 1HelloWorld(❌) HelloWorld1(√)
- 标识符不能是关键字。(不能是public class static void 当作类名)
类名:hello,12Heloo,_Hello,Hello void
- 标识符可以包含
-
命名规范:
软性建议
见名知意- 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。 HelloWorld
- 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。 helloWorld
- 变量名规范:同方法名
第四章 常量
4.1 概述
常量:是指在Java程序中固定不变的数据。
4.2 分类
类型 | 含义 | 数据举例 |
---|---|---|
整数常量 | 所有的整数 | 0,1, 567, -9 |
小数常量 | 所有的小数 | 0.0, -0.1, 2.55 |
字符常量 | 单引号引起来,只能写一个字符,必须有内容而且是一个内容(空格也是字符) | ’ ’ , ‘好’,‘1’ ,’ ', ‘’(不能为空) |
字符串常量 | 双引号引起来,可以写多个字符,也可以不写 | “A” ,“HelloWorld” ,“你好” ,“1” |
布尔常量 | 只有两个值(流程控制中讲解) | true , false |
空常量 | 只有一个值(引用数据类型中讲解) | null |
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");
//空常量不能打印,编译会发生错误
// System.out.println(null);//编译会报错
}
}
第五章 变量和数据类型
5.1 变量概述
- 变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
数学中,可以使用字母代替数字运算,例如
x = 1+5 x=6 整数 y=3.14 小数
6 = x+5 x=1
y = 1.1+1.1
程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。
java中的变量是有数据类型的,
容器:
酱油瓶-->酱油
Java 语言是一种强类型语言。通俗点说,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。
5.2 数据类型
数据类型分类
Java的数据类型分为两大类:
-
基本数据类型:(四类)包括
整数
、浮点数
、字符
、布尔
。 -
引用数据类型:包括
类
、数组
、接口
。 字符串
基本数据类型
四类八种基本数据类型:
整数类型4:字 节型(byte) 短整型(short ) 整型(int) 长整型(long)
浮点数类型2:单精度 (float) 双精度(doule)
字符类型1:char
布尔类型1:boolean
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
字节型 | byte | 1个字节 | [-27~27-1] [-128, 127] |
短整型 | short | 2个字节 | [-215,215-1] [-32768,32767] |
整型 | int(默认) | 4个字节 | [-231,231-1] 约正负21亿 (可以使用科学计算器算下) |
长整型 | long | 8个字节 | [-263,263-1] |
单精度浮点数 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double(默认) | 8个字节 | 4.9E-324~1.7977E+308 |
字符型 | char (character) | 2个字节 | 0-65535 |
布尔类型 | boolean | 1个字节 | true,false |
Java中的默认类型: 整数类型是int
、浮点类型是double
5.3 变量的定义
变量定义的格式包括三个要素:变量类型
、 变量名
、 变量值
。
格式1: 定义并赋值
变量类型 变量名 = 变量值;
int salary = 20000;
给变量赋值的时候, 值不能超过类型对应的范围
格式2: 先定义后赋值
//变量类型 变量名;//先定义
//变量名 = 数据值;//后赋值
int score;
score = 100;
//score; // 格式错误
int i;
//System.out.print(i);//一定要先给i进行赋值,然后再使用
//System.out.println(height);//不能先使用后定义
//int height;//不能先使用后定义
变量名取名规则:见名知意
练习
定义所有基本变量类型的变量 ( 留意float 和 long 类型变量定义 要加float 要加F, long 加上L),代码如下:
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 注意事项
变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。赋值要在其对应类型范围之内