一、Java背景介绍
Java是一种由Sun Microsystems(现在是Oracle Corporation)于1995年推出的高级编程语言。Java最初被设计用于开发嵌入式系统,但后来由于其跨平台特性和面向对象的编程范式,成为了一种广泛应用于企业级应用开发、移动应用开发和互联网应用开发的流行语言。
1.1 Java跨平台原理
Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。(平台理解为操作系统)(在不同的操作系统中,都安装了一个与操作系统对应的Java虚拟机)
1.2 JRE和JDK
(java开发程序:编写代码 编译代码 运行代码)
JVM(Java Virtual Machine),Java虚拟机(一个类=一个java文件)
JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)(已经写好的文件)
JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具(提供编译工具 运行工具)
总结:只需安装JDK即可,它包含了java的运行环境和虚拟机。
(java文件通过编译,生成class文件,jvm识别运行)
1.3 Path环境变量配置
开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。
二、Java的语法基础
2.1 关键字
关键字是指被java语言赋予了特殊含义的单词。
关键字的特点:
关键字的字母全部小写。
常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。
2.2 常量和变量
Java中的常量分类:
字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、"abc"、"中国"等
整数常量 整数,例如:-100、0、888等
小数常量 小数,例如:-5.56、1.07、88.88等
字符常量 用单引号括起来的**一个字符**,例如:'a'、'5'、'B'、'中'等
布尔常量 布尔值,表示真假,只有两个值true和false
空常量 一个特殊的值,空值,值为null(不能直接用于输出语句中)
除空常量外,其他常量均可使用输出语句直接输出。
Java中的变量:
数据类型 变量名 = 数据值;
变量的修改 (变量前面不加数据类型)
变量的注意事项:
1. 在同一对花括号中,变量名不能重复。
2. 变量在使用之前,必须初始化。
3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。
4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。
2.3 Java数据类型
数据类型:Java有8种基本数据类型,分别是byte、short、int、long、float、double、char和boolean。
2.4 标识符
Java中标识符的组成规则:
由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
不能使用java中的关键字作为标识符。
标识符对大小写敏感(区分大小写)。
2.5 类型转换
2.5.1 隐式类型转换:
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。
注意:
整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型。
boolean类型不能与其他基本数据类型相互转换。
2.5.2 强制类型转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量
2.6 运算符
算数运算符、自增自减运算符、赋值运算符、关系运算符、逻辑运算符、短路逻辑运算符以及三元运算符。
2.6.1 自增自减运算符
单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。
参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。
参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。
2.6.2 短路逻辑运算符
逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑或|,无论左边真假,右边都要执行。
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
三、流程控制语句
3.1 顺序结构
3.2 分支结构
3.2.1 if语句格式1
格式:
if (关系表达式) {
语句体;
}
3.2.2 if语句格式2
格式:
if (关系表达式) {
语句体1;
} else {
语句体2;
}
3.2.3 if语句格式3
格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
3.2.4 switch语句
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
3.3 循环结构
3.3.1 for循环
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
3.3.2 while循环
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
3.3.3 do while循环
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
3.4 跳转控制语句初始化语句
-
跳转控制语句(break)
跳出循环,结束循环 -
跳转控制语句(continue)
跳过本次循环,继续下次循环 -
注意: continue只能在循环中进行使用!