文章目录
# 一、流程控制 ## 1.选择结构
---布尔表达式的结果只有true/false
---如果if(布尔表达式)后面不写括号(),则只执行后面的第一条语句
a.if双分支结构
if(布尔表达式){
语句块1;
}else{
语句块2;
}
b.if多分支结构
if(布尔表达式1){
语句块1;
}else if(布尔表达式2){
语句块2;
}else if(布尔表达式n){
语句块n;
}else{
语句块n+1;
}
c.if单独使用
if(布尔表达式){
语句块;
}
d.if嵌套使用
if(布尔表达式1){
语句块1;
if(布尔表达式2){
语句块2;
}else{
语句块3;
}
}else{
语句块4;
}
f.switch多分支结构
---表达式的类型可以是:byte short int char String 枚举enum
---如果case语句后没有break,则会一直往下进行语句块的输出,直到遇到break结束或执行完毕。
switch(表达式){
case 值1: 语句1; [break;]
case 值2: 语句2; [break;]
...
case 值n: 语句n; [break;]
default: 默认语句;
}
2.循环结构
a.while循环
while(布尔表达式){
循环体;
}
b.do-while循环
---循环体最少进行一次
do{
循环体;
}while(布尔表达式);
c.for循环
---如果括号for(;;)里面没有初始表达式、布尔表达式、迭代因子,也可以进行循环,只不过是死循环。
---大多数时候都是使用for循环
for(初始表达式 ; 布尔表达式 ; 迭代因子){
循环体;
}
3.循环控制
a.break语句
---break直接跳出循环不再执行本层循环中剩下的语句
---return;是直接结束当前方法,范围更大,与当前循环没有关系
for(int i=0; i<10; i++) {
if(i==2){
break; //直接跳出循环
}
}
b.continue语句
---continue结束本次循环,后面的语句不再执行,直接开始下一次的循环
for(int i=0; i<10; i++) {
if(i==2){
continue; //直接结束i=2的循环,下面的语句不输出
}
System.out.println("Hello");
}
4.多重循环
a.多重循环
---循环里面嵌套循环
/*
* 打印九九乘法表
*/
for (int i = 1; i <= 9; i++) { //行数
for (int j = 1; j <=i ; j++) { //每行个数
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
b.多重循环的控制
---break、continue控制的循环
/*
* 打印九九乘法表
*/
for (int i = 0; i <= 9; i++) { //行数
if(i==0) {
continue;
}
for (int j = 1; j <=i ; j++) { //每行个数
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
二、数组
1.概念
---数组是相同数据类型数据的有序集合
2.特点
---a.数组被确定后长度是固定不变的
---b.数组内每个元素占用的空间大小是相同的
---c.数组内的所有数据类型都是一样的
---d.数组内的数据类型可以是任何数据类型,基本类型和引用类型
---e.数组变量属于引用数据类型
3.声明
数据类型[] 变量名称;//推荐这种方式
type[] arr_name;
type arr_name[];//不推荐
4.初始化
//三种方式
int[] arr1 = {1,2,3};//1
int[] arr2 = new int[]{1,2,3};//2
int[] arr3 = new int[3];//3 此时默认都为0
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
5.内存分配
---栈内存中数组变量存的是:堆内存中数组的对应地址
---堆内存中数组元素都有默认值
---栈内存中的变量没有默认值,后进先出
---数组元素的默认值表如下:
6.数组遍历
---数组遍历用到了数组的length属性,arr.length获取数组长度
//第一种:for循环遍历
//根据数组的下标进行遍历
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]);
}
//第二种:增强for循环
//每次循环都将arr数组内的元素赋值给变量value
for(int value : arr){
System.out.println(value);
}