1. 选择语句
选择语句有两种:(会根据判定的结果(真或假)决定执行某个分支的代码 )
if语句
switch语句
// 格式1:
if (结果为Boolean类型的表达式) {
语句体;
}
// 格式2:
if (结果为Boolean类型的表达式) {
语句体1;
} else {
语句体2
}
// 格式3:
if (结果为Boolean类型的表达式) {
语句体1;
} else if{
语句体2
}
...
else {
语句体n+1;
}
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式说明:
- 表达式:可以是byte类型,short类型,int类型,char类型
- JDK5之后可以是枚举类型,JDK7之后可以是String类型
- case:后面跟的是要和表达式进行比较的值
- break:表示中断,结束的意思。用来结束switch语句
- default:所有值都不匹配的时候,执行该处内容。和if语句的else相似
2. 循环语句
循环结构有三种语句,分别是:
-
for循环
-
while循环
-
do…while循环
2.1 for循环
for(初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
格式说明
- 初始化语句:这里可以是一条或者多条语句,这些语句用来完成初始化操作(int i=1)
- 条件判断语句:这里使用一个结果值为boolean类型的表达式,这个表达式能决定是否执行循环体语句(i<=5)
- 循环体语句:这里可以是任意语句,这些语句可能被多次执行
- 条件控制语句:这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果(i=i+1)
for (int i = 0; i < 100; i++) {
System.out.println("HelloWorld");
}
执行流程:
2.2 while循环
while (条件判断语句) {
循环体语句;
条件控制语句;
}
while (i<=5) {
System.out.println("HelloWorld");
i++;
}
2.3 do…while循环
do {
循环体语句;
条件控制语句;
} while (条件判断语句);
do {
System.out.println("HelloWorld");
i++;
} while (i<=5);
2.4 三种循环区别
三种循环语句的区别:
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
for和while的区别:
条件控制语句所控制的自增变量,在for循环结束后,就不可以继续使用了
条件控制语句所控制的自增变量,在while循环结束后,还可以继续使用
死循环格式:
for(;;){}
while(true) {}
do{}while(true);
由于循环语句的区别,只是大家需要理解的知识点,故这里不需要练习,我们在后面的使用中,在慢慢体会即可。
2.5 coutinue和break
-
continue 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行
-
break 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环
3 增强for循环
-
介绍
-
它是JDK5之后出现的,其内部原理是一个Iterator迭代器
-
实现Iterable接口的类才可以使用迭代器和增强for
-
简化数组和Collection集合的遍历
-
for(集合/数组中元素的数据类型 变量名 : 集合/数组名) {
// 已经将当前遍历到的元素封装到变量中了,直接使用变量即可
}
public class MyCollectonDemo1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
//1,数据类型一定是集合或者数组中元素的类型
//2,str仅仅是一个变量名而已,在循环的过程中,依次表示集合或者数组中的每一个元素
//3,list就是要遍历的集合或者数组
for(String str : list){
System.out.println(str);
}
}
}