day01【前言、入门程序、常量、变量】
今日内容
Java语言的发展历史
Java语言开发环境搭建
HelloWorld入门程序
注释和关键字
常量和变量
学习目标
能够说出JDK,JRE,JVM各自的作用和关系
能够完成HelloWorld案例的编写及运行
能够使用注释对程序进行说明
能够知道关键字的特点
能够知道常量的分类
能够说出8种基本数据类型
能够完成变量的定义及输出
第一章 开发前言
1.1 Java语言概述
什么是Java语言
Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。
2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.comJava语言共同创始人之一:詹姆斯·高斯林 (James Gosling),被称为“Java之父”
Java语言发展历史
1995年Sun公司推出Java语言
1996年发布Java 1.0版本
1997年发布Java 1.1版本
1998年发布Java 1.2版本
2000年发布Java 1.3版本
2002年发布Java 1.4版本
2004年发布Java 5.0版本
2006年发布Java 6.0版本
2009年Oracle甲骨文公司收购Sun公司
2011年发布Java 7.0版本
2014年发布Java 8.0版本
2017年9月发布Java 9.0版本
2018年3月发布Java 10.0版本
2018年9月发布Java 11.0版本
Java语言能做什么
Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
1.2 Java语言跨平台原理
Java虚拟机——JVM
JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。
跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。
如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。
JRE 和 JDK
JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库 。
JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。
我们想要运行一个已有的Java程序,那么只需安装JRE 即可。
我们想要开发一个全新的Java程序,那么必须安装JDK 。
小贴士:
三者关系: JDK > JRE > JVM
1.3 进制
计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)。
下面了解一下十进制和二进制数据之间的转换计算。
十进制数据转成二进制数据:使用除以2获取余数的方式
二进制数据转成十进制数据:使用8421编码的方式
小贴士:
二进制数系统中,每个0或1就是一个位,叫做bit(比特)。
1.4 字节
字节是我们常见的计算机中最小存储单元。计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,我们可以查看文件的字节大小。
8个bit(二进制位) 0000-0000表示为1个字节,写成1 byte或者1 B。
8 bit = 1 B
1024 B =1 KB
1024 KB =1 MB
1024 MB =1 GB
1024 GB = 1 TB
第二章 Java语言开发环境搭建
2.1 JDK11.0下载
通过官方网站获取JDKhttp://www.oracle.com注意:针对不同的操作系统,需要下载对应版本的JDK。
2.2JDK11.0安装
小贴士:
安装路径中,不要包含中文和空格。
2.3 JDK的安装目录介绍
目录名称说明
bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。
conf该路径下存放了JDK的相关配置文件。
include该路径下存放了一些平台特定的头文件。
jmods该路径下存放了JDK的各种模块。
legal该路径下存放了JDK各模块的授权文档
lib该路径下存放了JDK工具的一些补充JAR包。
2.4 常用DOS命令
Java语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。
进入DOS操作窗口
按下Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。
打开DOS命令行后,看到一个路径 c:\user 就表示我们现在操作的磁盘是c盘。
常用命令
操作说明
盘符名称:盘符切换。E:回车,表示切换到E盘。
dir查看当前路径下的内容。
cd 目录进入单级目录。cd itheima
cd 目录1\目录2...进入多级目录。cd itheima\JavaSE
cd ..回退到上一级目录。
cd \回退到盘符目录。
cls清屏。
exit退出命令提示符窗口。
2.5 JAVA_HOME环境变量的配置
配置环境变量作用
开发Java程序,需要使用JDK中提供的工具,工具在JDK11安装目录的bin 目录下。
在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。
不进入JDK的bin目录,这些工具就不能使用,会报错。
为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。
配置环境变量步骤
Windows 7,8版本
计算机鼠标右键,选择属性
选择高级系统设置
高级 选项卡,点击环境变量
点击新建 ,创建新的环境变量
变量名输入JAVA_HOME,变量值输入JDK11的安装目录 D:\developtools\Java\jdk-11
选中Path 环境变量,双击或者点击编辑
在变量值的最前面,键入%JAVA_HOME%\bin; 分号必须要写,必须是英文格式。
环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac 命令,运行成功。
Windows 10 版本
文件资源管理器 --> 此电脑鼠标右键 --> 选择属性
选择高级系统设置 --> 选择 环境变量
点击下方系统变量的 新建 ,创建新的环境变量,变量名输入JAVA_HOME,变量值输入JDK11的安装目录 D:\developtools\Java\jdk-11
选中Path 环境变量,双击或者点击编辑
点击新建,键入%JAVA_HOME%\bin ,必须是英文格式。选中该行,上移到最上方,点击确定。
环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac 命令。
2.6 Notepad++软件的安装和配置
什么要使用Notepad++软件
Notepad++功能比windows中的自带记事本功能强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++有行号,能够快速定位问题位置,还有语法高亮度显示、代码折叠等功能。而且它是免费的。
Notepad++软件安装
安装:傻瓜式安装,一直下一步即可。建议也安装到统一的开发软件目录下,比如D:\developtools。
Notepad++软件配置
安装完毕之后,为了使用方便,做一个简单的配置:修改默认语言和编码。
第三章 HelloWorld入门程序
3.1 程序开发步骤说明
开发环境已经搭建完毕,可以开发我们第一个Java程序了。
HelloWorld案例是指在计算机屏幕上输出“HelloWorld”这行文字。各种计算机语言都习惯使用该案例作为第一个演示案例。
Java程序开发三步骤:编写、编译、运行。
3.2 编写Java源程序
在d:\day01 目录下新建文本文件,完整的文件名修改为HelloWorld.java,其中文件名为HelloWorld,后缀名必须为.java 。
用记事本打开
使用notepad++记事本软件。
在文件中键入文本并保存,代码如下:
publicclassHelloWorld{
publicstaticvoidmain(String[]args) {
System.out.println("Hello World!");
}
}
文件名必须是HelloWorld ,保证文件名和类的名字是一致的,注意大小写。
每个字母和符号必须与示例代码一模一样。
第一个HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件 编译成JVM可以看懂的字节码文件 。
3.3 编译Java源文件
在DOS命令行中,进入Java源文件的目录,使用javac 命令进行编译。
命令:
javacJava源文件名.后缀名
举例:
javac HelloWorld.java
编译成功后,命令行没有任何提示。打开d:\day01目录,发现产生了一个新的文件 HelloWorld.class,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。
Java源文件的编译工具javac.exe,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。
3.4 运行Java程序
在DOS命令行中,进入Java源文件的目录,使用java 命令进行运行。
命令:
java文件名字
举例:
java HelloWorld
java HelloWord 不要写 不要写 不要写 .class
Java程序.class文件 的运行工具java.exe ,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。
3.5 入门程序说明
编译和运行是两回事
编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中,javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
运行:是指将class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。
关于main方法
main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。
HelloWorld案例常见问题
非法字符问题。Java中的符号都是英文格式的。
大小写问题。Java语言对大小写敏感(区分大小写)。
在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件。
编译命令后的java文件名需要带文件后缀.java
运行命令后的class文件名(类名)不带文件后缀.class
第四章 注释和关键字
4.1 添加注释comment
注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。
Java中有单行注释和多行注释
单行注释以 //开头 换行结束
多行注释以 /*开头 以*/结束
4.2 关键字keywords
关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。
HelloWorld案例中,出现的关键字有 public 、class 、 static 、 void 等,这些单词已经被Java定义好,全部都是小写字母,notepad++中颜色特殊。
关键字比较多,不能死记硬背,学到哪里记到哪里即可。
第五章 常量
5.1 概述
常量:是指在Java程序中固定不变的数据。
5.2 分类
类型含义数据举例
整数常量所有的整数0,1, 567, -9
小数常量所有的小数0.0, -0.1, 2.55
字符常量单引号引起来,只能写一个字符,必须有内容'a' , ' ', '好'
字符串常量双引号引起来,可以写多个字符,也可以不写"A" ,"Hello" ,"你好" ,""
布尔常量只有两个值(流程控制中讲解)true , false
空常量只有一个值(引用数据类型中讲解)null
5.3 练习
需求:输出各种类型的常量。
publicclassConstantDemo{
publicstaticvoidmain(String[]args){
//输出整数常量
System.out.println(123);
//输出小数常量
System.out.println(0.125);
//输出字符常量
System.out.println('A');
//输出布尔常量
System.out.println(true);
//输出字符串常量
System.out.println("欢迎来到黑马程序员");
}
}
第六章 变量和数据类型
6.1 变量概述
变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
数学中,可以使用字母代替数字运算,例如 y=x+5 或者 6=x+5。
程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
6.2 数据类型
数据类型分类
Java的数据类型分为两大类:
基本数据类型:包括 整数、浮点数、字符、布尔。
引用数据类型:包括 类、数组、接口。
基本数据类型
四类八种基本数据类型:
数据类型关键字内存占用取值范围
字节型byte1个字节-128 至 127
短整型short2个字节-32768 至 32767
整型int(默认)4个字节-2^31^ 至 2^31^-1
长整型long8个字节-2^63^ 至 2^63^-1 19位数字
单精度浮点数float4个字节1.4013E-45 至 3.4028E+38
双精度浮点数double(默认)8个字节4.9E-324 至 1.7977E+308
字符型char2个字节0 至 2^16^-1
布尔类型boolean1个字节true,false
Java中的默认类型:整数类型是int 、浮点类型是double 。
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。
6.3 变量的定义
变量定义的格式包括三个要素:数据类型 、 变量名 、 数据值 。
格式
// 声明变量并赋值
数据类型变量名=数据值;
或者
// 先声明,后赋值(使用前赋值即可)
数据类型变量名;
变量名=初始化值;
练习
定义所有基本数据类型的变量,代码如下:
publicclassVariable{
publicstaticvoidmain(String[]args){
//定义字节型变量
byteb=100;
System.out.println(b);
//定义短整型变量
shorts=1000;
System.out.println(s);
//定义整型变量
inti=123456;
System.out.println(i);
//定义长整型变量
longl=12345678900L;
System.out.println(l);
//定义单精度浮点型变量
floatf=5.5F;
System.out.println(f);
//定义双精度浮点型变量
doubled=8.5;
System.out.println(d);
//定义布尔型变量
booleanbool=false;
System.out.println(bool);
//定义字符型变量
charc='A';
System.out.println(c);
}
}
long类型:建议数据后加L表示。
float类型:建议数据后加F表示。
6.4 注意事项
变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。
6.5 标识符
标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
HelloWorld案例中,出现的标识符有类名字HelloWorld 。
命名规则:硬性要求
标识符可以包含英文字母26个(区分大小写)、0-9数字 、$(美元符号)和_(下划线)。int a1 = 10
标识符不能以数字开头。 int 1i = 10;
标识符不能是关键字。int static = 10;
命名规范:软性建议
类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。 methodTestDemo
变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。int varDemo =10