第一章 开发前言
1.1 Java语言概述
什么是Java语言
Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级编程语言,所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。
Java语言发展历史
- 1995年Sun公司发布Java1.0版本
- 1997年发布Java 1.1版本
- 1998年发布Java 1.2版本
- 2000年发布Java 1.3版本
- 2002年发布Java 1.4版本
- 2004年发布Java 5版本
- 2006年发布Java 6版本
- 2009年Oracle甲骨文公司收购Sun公司,并于2011年发布Java 7版本
- 2014年发布Java 8版本
- 2017年9月发布Java 9版本
- 2018年3月发布Java 10版本
Java语言能做什么
Java语言主要应用在互联网程序的开发领域。常见的互联网应用比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
1.2 计算机基础知识
二进制
计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特,位)。
下面了解一下十进制和二进制数据之间的转换计算。
- 十进制数据转成二进制数据:使用除以2获取余数的方式
- 二进制数据转成十进制数据:使用8421编码的方式
字节
字节是我们常见的计算机中最小存储单元。计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,我们可以查看文件的字节大小。
8个bit(二进制位)0000-0000表示为1个字节,写成1 byte 或者 1 B。
- 8 bit = 1 Byte
- 1024 B = 1 KB
- 1024 KB = 1 MB
- 1024 MB = 1 GB
- 1024 GB = 1 TB
位(bit):一个数字0或者一个数字1,代表一位。
字节(Byte):每逢8位是一个字节,这是数据存储的最小单位。1 Byte = 8 bit
1 KB = 1024 byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 PB= 1024 TB
1 EB = 1024 PB
1 ZB = 1024 EB
常用DOS命令
Java语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。
- 进入DOS操作窗口
- 按下Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。
- 按下Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。
MS-DOS(Microsoft Disk Operating System)
命令提示符(cmd)
启动: Win+R,输入cmd回车
切换盘符 盘符名称:
进入文件夹 cd 文件夹名称
进入多级文件夹 cd 文件夹1\文件夹2\文件夹3
返回上一级 cd …
直接回根路径 cd \
查看当前内容 dir
清屏 cls
退出 exit
第二章 Java语言开发环境搭建
2.1 Java虚拟机——JVM
- 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
。
2.3 JDK9安装图解
下载JDK :https://www.oracle.com/index.html
(修改jdk目录->公共JRE不要)
2.4 JAVA_HOME环境变量的配置
配置环境变量作用
配置环境变量步骤
此电脑(右键)->属性->高级系统设置->高级->环境变量->(全局生效)系统变量->
新建->JAVA_HOME->jdk路径
编辑->Path->;%JAVA_HOME%\bin
Windows 7.8版本
Windows 10 版本
第三章 HelloWorld入门程序
3.1 程序开发步骤说明
开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行。
Java程序开发的三个步骤:
- 编写源程序->Java源程序
- 编译源程序->编译器->字节码文件
- 运行->JVM运行
javac.exe:编译器
java.exe:解释器
3.2 编写Java源程序
- 在指定目录下新建文本文件,完整的文件名修改为
HelloWorld.java
,其中文件名为HelloWorld
,后缀名必须为.java
。 - 用记事本打开
使用notepad++记事本软件
- 在文件中键入文本并保存,代码如下:
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,World!!!");
}
}
3.3 编译Java源文件
cmd->输入javac HelloWorld.java
该文件目录中出现HelloWorld.class
3.4 运行Java程序
cmd->编译后->输入java HelloWorld
3.5 入门程序说明
编译和运行是两回事
关于main方法
// 第一行的第三个单词必须和所在的文件名称完全一样,大小写也要一样
// public class后面代表定义一个类的名称,类是java当中所有源代码的基本组织单位。
public class HelloWorld{
// 第二行的内容是万年不变的固定写法,代表main方法
// 这一行代表程序执行的起点
public static void main(String[] args){
// 第三行代表打印输出语句(其实就是屏幕显示)
// 希望显示什么东西,就在小括号当中填写什么内容
System.out.println("Hello,World!!!");
}
}
3.6 添加注释comment
// 这是一行注释信息
public class HelloWorld{ // 单行注释
public static void main(String[] args){
/*
多行注释
无论几行
(区块注释)
*/
System.out.println("Hello,World!!!");
}
}
3.7 关键字keywords
关键字的特点:
1.完全小写的字母。
2.在增强版的记事本当中(例如Notepad++)有特殊颜色。
如 public、class、static、void等
3.8 标识符
-
标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
- HelloWorld案例中,出现的标识符有类名字
HelloWorld
。
- HelloWorld案例中,出现的标识符有类名字
-
命名规则:
硬性要求
- 标识符可以包含
英文字母26个(区分大小写)
、0-9数字
、$(美元符号)
和_(下划线)
。 - 标识符不能以数字开头。
- 标识符不能是关键字。
- 标识符可以包含
-
命名规范:
软性建议
- 类名规范:首字母大写,后面每个单词的首字母大写(大驼峰式)。
- 变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。
- 方法名规范:同变量名。
第四章 常量
4.1 概述
常量:是指在Java程序运行期间固定不变的数据。
4.2 分类
类型 | 含义 | 数据举例 |
---|---|---|
整数常量 | 所有的整数 | 0,1,567,-9 |
小数常量 | 所有的小数 | 0.0,-0.1,2.55 |
字符常量 | 单引号引起来,只能写一个字符,必须有内容 | ‘a’,’ ',‘好’ |
字符串常量 | 双引号引起来,可以写多个字符,也可以不写 | “A”,“Hello”,“你好”,"" |
布尔常量 | 只有两个值 | true,false |
空常量 | 只有一个值 | null |
4.3 练习
需求:输出各种类型的常量
public class Demo01Const {
public static void main(String[] args) {
//字符串常量
System.out.println("ABC");
System.out.println("");//字符串两个双引号中间的内容为空
System.out.println("XYZ");
//整数常量
System.out.println(30);
System.out.println(-500);
//浮点数常量(小数)
System.out.println(3.14);
System.out.println(-2.5);
//字符常量
System.out.println('A');
System.out.println('6');
//两个单引号中间必须有且仅有一个字符,没有不行,有两个也不行
//布尔常量
System.out.println(true);
System.out.println(false);
//空常量,空常量不能直接用来打印输出
//System.out.println(null);错误语句
}
}
第五章 变量和数据类型
5.1 变量概述
- 变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
数学中,可以使用字母代替数字运算,例如x=1+5或者6=x+5。
程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
5.2 数据类型
数据类型分类
Java的数据类型分为两大类:
- 基本数据类型:包括
整数
、浮点数
、字符
、布尔
。
整数型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean - 引用数据类型:包括
类
、数组
、接口
、字符串
、Lambda
。
基本数据类型
四类八种基本数据类型:
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
字节型 | byte | 1个字节 | -128~127 |
短整型 | short | 2个字节 | -32768~32767 |
整型 | int(默认) | 4个字节 | -231~231-1 |
长整型 | long | 8个字节 | -263~263-1 |
单精度浮点数型 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点数型 | double(默认) | 8个字节 | 4.9E-324~1.7977E+308 |
字符型 | char | 2个字节 | 0~65535 |
布尔类型 | boolean | 1个字节 | true,false |
Java中的默认数据类型:整数类型是
int
、浮点类型是double
。
注意事项:
1、字符串不是基本类型,而是引用类型。
2、浮点型可能只是一个近似值,并非精确的值。
3、数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。
4、浮点数当中默认类型是double,如果一定要使用float类型,需要加上一个后缀F。
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L,推荐使用大写字母后缀。
5.3 变量的定义
变量:程序运行期间,内容可以发生改变的量。
格式
创建一个变量并且使用的格式:
数据类型 变量名称; //创建了一个变量
变量名称 = 数据值;//赋值,将右边的数据值,赋值交给左边的变量
一步到位的格式:
数据类型 变量名称 = 数据值;//在创建一个变量的同时,立刻放入指定的数据值
练习
public class Demo02Variable {
public static void main(String[] args) {
//创建一个变量
//格式:数据类型 变量名称;
int num1;
//向变量当中存入一个数据
//格式:变量名称 = 数据值;
num1 = 10;
//当打印输出变量名称的时候,显示出来的是变量的内容
System.out.println(num1);//10
//改变变量当中本来的数字,变成新的数字
num1 = 20;
System.out.println(num1);//20
//使用一步到位的格式来定义变量
//格式:数据类型 变量名称 = 数据值;
int num2 = 25;
System.out.println(num2);//25
num2 = 35;
System.out.println(num2);//35
System.out.println("===============");
byte num3 = 30;//注意:右侧数值的范围不能超过左侧数据类型的取值范围
System.out.println(num3);
// byte num4 = 400;//右侧超出了byte的数据范围,错误!
short num5 = 50;
System.out.println(num5);//50
long num6 = 3000000000L;
System.out.println(num6);//3000000000
float num7 = 2.5F;
System.out.println(num7);//2.5
double num8 = 1.2;
System.out.println(num8);//1.2
char zifu1 = 'A';
System.out.println(zifu1);//A
zifu1 = '中';
System.out.println(zifu1);//中
boolean var1 = true;
System.out.println(var1);//true
var1 = false;
System.out.println(var1);//false
//将一个变量的数据内容,赋值交给另一个变量
//右侧的变量名称var1已经存在,里面装的是false布尔值
//将右侧变量里面的false值,向左交给var2变量进行存储
boolean var2 = var1;
System.out.println(var2);//false
}
}
5.4 注意事项
使用变量的时候,有一些注意事项:
1、如果创建多个变量,那么变量之间的名称不可以重复。
2、对于float和long类型来说,字母后缀F和L不要丢掉。
3、如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围。
4、没有进行赋值的变量,不能之间使用:一定要赋值之后,才能使用。
5、变量使用不能超过作用域的范围。
【作用域】:从定义变量的一行开始,一直到直接所属的大括号结束为止。
6、可以通过一个语句来创建多个变量,但是一般情况下不推荐这么写。
public class Demo03VariableNotice {
public static void main(String[] args) {
int num1 = 10;//创建了一个新的变量,名叫num1
// int num1 = 20;//又创建了另一个新的变量,名字也叫num1,错误!
int num2 = 20;
int num3;
num3 = 30;
int num4;//定义了一个变量,但是没有进行赋值
// System.out.println(num4);//直接使用打印输出就是错误的!
// System.out.println(num5);//在创建变量之前,不能使用这个变量
int num5 = 500;
System.out.println(num5);//500
{
int num6 = 60;
System.out.println(num6);
}
// int num6;
// System.out.println(num6);//已经超出了大括号的范围,超出了作用域,变量不能再使用了
//同时创建了三个全部是int类型的变量
int a,b,c;
//各自分别赋值
a = 10;
b = 20;
c = 30;
System.out.println(a);//10
System.out.println(b);//20
System.out.println(c);//30
//同时创建三个int变量,并且同时各自赋值
int x = 100,y = 200, z = 300;
System.out.println(x);//100
System.out.println(y);//200
System.out.println(z);//300
}
}