java基础巩固:选择结构、循环、循环控制语句理解
选择结构
选择结构中可分为if和switch两种
if结构
**注意:**if括号内的条件的结果必须为boolean类型
if语句
满足条件,执行功能语句
if(条件){
功能语句
}
if...else if 语句
条件1和条件2互斥,可能并不包含所有情况
if(条件1){
功能语句
}else if(条件2){
功能语句
}
if...else 语句
if和else的执行条件互斥,并且包含所有情况,不满足条件1就执行else内的语句
if(条件1){
功能语句
}else{
功能语句
}
if...else if...else 语句
条件1、条件2、else互斥,并且包含所有情况
if(条件1){
功能语句
}else if(条件2){
功能语句
}else{
功能语句
}
switch结构
以下是关于使用switch结构的注意事项
- key:
byte、short、char、int、枚举、String类型的变量或者常量(从java 1.7开始,支持String类型) - value:和key同种类型值,表示key的可能值
- case 语句可以有无数个
- 当key和value相等的时候,执行对应case中的功能语句,然后寻找第一个break,跳出选择结构
- 所以为了避免不必要的错误,尽量每个case项中都写一个break;语句,default项同样如此
- 如果key和value没有匹配的值,则执行default中功能语句
- 如果没有找到break,会一直找到选择结构结尾,自动跳出选择结构
switch(key){
case value1 :
功能语句;
break;
case value2 :
功能语句;
break;
...
default :
功能语句
break;
}
当使用枚举类型时,不需要每个标签带枚举名,可以由switch表达式推出类型,直接调用枚举字段就行 例:
/**
* 定义尺寸枚举
*/
public enum Size {
SMALL,MEDIUM,LARGE,EXTRA_LARGE
}
测试:
public class Main {
public static void main(String[] args) {
Size s = Size.SMALL;
switch (s){
case SMALL://可以直接使用枚举字段,不需要使用Size.SMALL
System.out.println("小号尺寸");
break;
case MEDIUM:
System.out.println("中号尺寸");
break;
case LARGE:
System.out.println("大号尺寸");
break;
case EXTRA_LARGE:
System.out.println("超大号");
break;
default:
System.out.println("无该尺寸");
break;
}
}
}
结果:
循环结构
循环表示重复的做一件事情,java中循环结构亦是如此,表示在指定条件下可以重复执行某些代码
**注意:**循环需要有出口,没有出口就是死循环,因此需要在循环结构中不断的改变条件
在Java中,主要有一下几种循环结构:
- while语句
- do...while语句
- for...语句
while结构
- 条件为布尔类型的值或者表达式,条件满足,则执行循环体中功能语句
- 功能语句执行后,继续判断条件,满足条件继续执行,直到条件不满足为止
while (条件){
功能语句
}
do...while结构
- 先执行do循环体中的功能语句,再去判断while中的条件是否满足
- 如果满足条件继续执行do中功能语句,直到条件不能满足为止
**注意:**do...while结构至少会执行一次功能语句
do{
功能语句
}while(条件);
for结构
for(A;B;C;){
D;
}
A:初始化语句
B:判断条件
C:循环后语句
D:功能语句
执行顺序:
第一次:A-->B-->D-->C
第二次:B-->D-->C
...
第N次:B中条件不满足的时候跳出循环
示例1:
for(int i = 1;i <= 10;i++){
功能语句
}
示例2:嵌套循环
for(int i = 1;i <= 10;i++){
for(int j = 1;j <= 10;j++){
功能语句
}
功能语句
}
foreach循环
foreach循环又称增强for循环,适用于不使用索引的场景
语法:
for(源中的数据类型 变量名:数据源){
功能语句;
}
示例1:
int[] arr = {1,2,3};
for (int i:arr) {
System.out.println(i);
}
示例2:嵌套循环
int[][] arr = {{1,2},{3,4},{5,6}};
for (int[] i:arr) {
for (int j:i) {
System.out.println(j);
}
}
循环控制语句
循环控制语句顾名思义就是可以可以对循环语句进行控制的语句,有分为以下三种控制语句:
- break:跳出当前循环,如果指定了锚点,那就可以跳出锚点对应的循环
test:for(int i = 1 ; i <= 5 ; i++){
for(int j = 1 ; j <= 5 ; j++){
System.out.println("j" + j);
if(j==3){
//跳出test锚点标识循环
break test;
}
}
}
- continue:跳出当层循环,即跳出当前这次循环
- return:终止当前方法