Java基础知识(二)分支结构、循环结构

一、分支结构

   (一)if语句

种类格式执行流程

if

if(关系表达式){

语句体;

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体

如果是false就不执行语句体

if...else

if(关系表达式) {

语句体1;

}else {

语句体2;

}

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体1

如果是false就执行语句体2

if...else if ...else

if (判断条件1) {

执行语句1;

} else if (判断条件2) {

执行语句2;

}

...

}else if (判断条件n) {

执行语句n;

} else {

执行语句n+1;

}

首先判断关系表达式1看其结果是true还是false

如果是true就执行语句体1

如果是false就继续判断关系表达式2看其结果是true还是false

如果是true就执行语句体2

如果是false就继续判断关系表达式…看其结果是true还是false

如果没有任何关系表达式为true,就执行语句体n+1。

(二)switch语句

    第一点:  switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其它类型的值,程序会报错。

但是在JDK5.0中引入的新特性enum枚举也可以作为switch语句表达式的值,在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。

    第二点:case穿透(下坠)

在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式。

public static void main(String[] args) {
        System.out.println("请输入月份:");
        Scanner sc = new Scanner(System.in);
        int month = sc.nextInt();
        switch(month) {
        case 3:
        case 4:
        case 5:System.out.println("春季"); break;
        case 6:                     
        case 7:                     
        case 8:System.out.println("夏季"); break;
        case 9:                     
        case 10:                     
        case 11:System.out.println("秋季"); break;
        case 12:                     
        case 1:                     
        case 2:System.out.println("冬季"); break;
        default:System.out.println("月份输入错误");
        }
    }

(三)if和switch的区别

if和switch的区别
相同点不同点

都可以表达分支结构

1、if语句格式相对灵活,更加强大,switch语句相对弱小。所有的switch语句都可以被if语句替代。

  2、if语句更多的是做一些连续性的判断,而switch语句更多的是做一些离散性的匹配

  3、if语句每次都需要获取表达式的值,而switch只获取一次表达式的值,所以相对switch的效率高一些。

注意!

if后可以没有大括号,但是只可以限制离它最近的一条语句,所以为了靠谱尽量写上大括号。

二、循环结构

(一)循环格式

循环结构
种类格式执行流程例如
for

for(初始化表达式①; 布尔表达式②; 步进表达式④){

循环体③

}

执行顺序:① ②③④>②③④>②③④…②不满足为止。

①负责完成循环变量初始化

②负责判断是否满足循环条件,不满足则跳出循环

③具体执行的语句

④循环后,循环条件所涉及变量的变化情况

        int sum = 0;
        for(int i=1;i<=100;i++) {
            sum=sum+i;
        }
        System.out.println("求和的值为:"+sum);
while

初始化表达式①

while(布尔表达式②){

循环体③

步进表达式④

}

执行顺序:①②③④>②③④>②③④…②不满足为止。

①负责完成循环变量初始化。

②负责判断是否满足循环条件,不满足则跳出循环。

③具体执行的语句。

④循环后,循环变量的变化情况

        int a = 1;
        while(a<=100) {
            System.out.println(a);
            a++;
        }

do while

 

初始化表达式①

do{

循环体③

步进表达式④

}while(布尔表达式②);

执行顺序:①③④>②③④>②③④…②不满足为止。

①负责完成循环变量初始化。

②负责判断是否满足循环条件,不满足则跳出循环。

③具体执行的语句

④循环后,循环变量的变化情况

int i = 1;

do{

System.out.println(i);

i++;

}while(i<=100);

跳出循环
种类使用场景作用
break

在选择结构switch语句中、在循环语句中

跳出当前switch/循环语句

continue

在循环语句中

结束本次循环,继续下一次循环

for和while的区别:

for为了循环而定义的变量在for循环结束时就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。

注意!最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。推荐使用while(true)

while 循环和do while循环的区别:

while:先判断条件,只有条件满足才执行循环体。

do while: 先执行循环体,再判断条件,条件满足,再继续执行循环体。

简单一句话:do while:无论条件是否满足,循环体至少执行一次。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值