一,选择
1、两路分支选择
If else
if (condition) {
当条件为 true 时执行的代码
}else{
当条件不为 true 时执行的代码
}
配对原则:else一定会和离他最近的且没有与别的else配对的if配对;
2、多路分支选择
switch (byte,short,int,char){
case xxx:
break;
case xxx:
break;
default:
}
二,循环
3.1 for循环
for(初始化;条件;调整){语句块} 该结构在知道循环次数的时候使用
初始化语句只执行一次;
判断条件à执行语句块à执行调整à判断条件
for(;;)表示位无限循环
3.2 While循环
While(条件){语句块}改结构在不知道循环次数的时候使用
先判断后执行,调整语句在代码块中体现。
while(1)表示为无限循化。
3.3 Do while
Do {语句块}while(条件);同3.2;
唯一的区别是该循环语句代码块至少要被执行一次;
先执行后判断
continue:提前终止本次循环直接进入下一次循环;
3.4 java中的循环标号
for(int i=0;i<10;i++){
for(int a=0;a<10;a++){
break;
}
}
break :直接跳出同标号循环层
三,数组
4. 数组的定义
分为两部分:数组引用(声明) int[] a; int a[];
数组空间(初始化)a = new int[5];
5. 数组在分配存储空间后,系统会自动为数组的每个元素初始化为0;
6. 定义数组,分配存储空间和初始化数组可以放在一个语句中,如:
int[] a = {10,20,30}
对比:int[] a = new int[3];a[0] = 10;a[1] = 20;a[2] = 30;
7. 在java中一个数组就是一个对象,只要是对象就是在堆空间存放。
注:在java中只有堆空间,栈空间,代码空间。
8. 数组长度可以用 数组名.length来取得.
注:二维数组用.length取得的长度是其一维数组的长度。
9. 两个数组之间的拷贝:System.arraycopy(a,0,b,0,length)
表示将a数组从0号位置开始的length个元素依次拷贝到b数组中(从0号位置开始)。
10. 在java中二维数组本质上就是一维数组的数组。所以java中的二维数组可以是不对称 的。Java中只有一维数组的内存地址空间是连续的而二维数组的空间可以不连续。
(1)、二维数组声明和初始化
int[][] a;//声明一个二维数组
a = new int[3][];//该二维数组包含三个一维数组对象
而每个一维数组对象长度可以不同所以第二个【】中的长度可以不填
a[0] = new int[5];//第一列数组长度为5
a[1] = new int[3]; //第二列数组长度为3
a[0][0] = 1;//将第一个数组的第一个元素初始化1;
11. 介绍一个关于数组的小技巧
在我们使用数组时,我们可以用一个index辅助变量来配合数组使用,表示其有效数据的个数,同时用来表示数组下一个可插入位置的下标。