1、 基本语法
1.1 关键字与保留字
1.1.1 关键字
定义:被Java语言赋予了特殊含义,用做专门用途的字符串
1.1.2 保留字
定义:现Java版本尚未使用,但以后版本可能会作为关键字使用
保留字:goto 、const
1.2 标识符
定义:自己命名的地方都叫标识符。
1.2.2 规则
-
由26个英文字母大小写,0-9,_或$组成
-
数字不能开头
-
不可以使用关键字和保留字
-
严格区分大小写
-
不能包含空格
1.2.3 规范
- 包名:多单词组成时,所有字母都小写(aabbcc)
- 类名、接口名:多单词组成时,所有单词首字母大写(AaBbCc)
- 变量名、方法名:多单词组成时,第一个单词首字母小写,其余单词首字母大写(aaBbCc)
- 常量名:所有字母都大写,多单词时用下划线连接(AA_BB_CC)
1.3 变量
1.3.1 变量的分类
(1)按数据类型分类
(2)按声明的位置分类
1.3.2 定义变量
方式一:(1)数据类型 变量名 = 变量值;
方式二:(2)数据类型 变量名;
1.3.3 类型转换
(1)自动类型转换
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte 、char 、short --> int --> long --> float --> double
(2)强制类型转换
①需要使用强转符:()
②注意:强制类型转换,可能导致精度损失
1.4 运算符
1.5 流程控制
1.5.1 分支结构
(1)if-else结构
if(条件表达式){
执行表达式1
}else if(条件表达式){
执行表达式2
}
...
else{
执行表达式n
}
(2)switch-case结构
switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
...
default:
执行语句n;
//break;
}
1.5.2 循环接口
(1)for循环结构
for(1;2;3){
4
}
//执行过程:1 - 2 - 3 - 4 - 2 - 3 - 4 - ... - 2
(2)while循环结构
1
while(2){
3
}
//执行过程:1 - 2 - 3 - 2 - 3 - ... - 2
(3)do-while循环结构
1
do{
3
}while(2);
执行过程:1 - 3 - 2 - 3 - 2 - ... - 2
(4)嵌套循环
将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环,例如
for(1;2;3){
for(4;5;6){
7
}
8
}
1.5.3 break和continue
(1)break:结束当前循环
(2)continue:结束当次循环
1.6 Scanner类
从键盘获取不同类型的变量:需要使用Scanner类
步骤:
(1)导包:import java.util.Scanner;
(2)Scanner的实例化:Scanner scan = new Scanner(System.in);
(3)调用Scanner类的相关方法,来获取指定类型的变量
例:
import java.util.Scanner;
class Test{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入一个整数:");
int a = in.nextInt();
System.out.println(a);
}
}
2、数组
2.1 一维数组
2.1.1 声明与初始化
int[] a;//声明
//1. 静态初始化:数组的初始化和数组元素的赋值操作同时进行
a = new int[]{1,2,3};
//2. 动态初始化:数组的初始化和数组元素的赋值操作分开进行
String[] str = new String[5];
2.1.2 数组元素的引用
//通过角标的方式调用,从0开始的,到数组的长度-1结束
a[0] = 4;
2.1.3 一维数组的遍历
for(int i = 0;i < a.length;i++){
System.out.println(a[i]);
}
2.1.4 元素的默认初始化值
- 整型:0
- 浮点型:0.0
- char型:0或’\u0000’,而非’0’
- 是boolean型:false
- 引用数据类型:null
2.2 二维数组
2.2.1 声明与初始化
//静态初始化
int[][] a = new int[][]{{1,2,3},{4,5},{6,7,8}};
//动态初始化1
String[][] str1 = new String[3][2];
//动态初始化2
String[][] str2 = new String[3][];
2.2.2 数组元素的引用
//通过角标的方式调用
a[0][0] = 4;
2.2.3 二维数组的遍历
for(int i = 0;i < a.length;i++){
for(int j = 0;j < a[i].length;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
2.3 Arrays工具类
提供了大量的操作数组的方法
//1.boolean equals(int[] a,int[] b):判断两个数组是否相等。
int[] a1 = new int[]{1,2,3,4};
int[] a2 = new int[]{1,3,2,4};
boolean isEquals = Arrays.equals(a1, a2);
//2.String toString(int[] a):输出数组信息。
//3.void fill(int[] a,int val):将指定值填充到数组之中。
//4.void sort(int[] a):对数组进行排序。
//5.int binarySearch(int[] a,int key):查看数组中有无元素key
2.4 常见异常
(1)数组角标越界异常:ArrayIndexOutOfBoundsException
(2)空指针异常:NullPointerException