程序流程控制

JavaSE学习笔记-运算符和流程控制

  1. break和continue的区别?

    break是直接终止这个语句块,

    continue是跳过一次这个循环语句块。

  2. do循环和while循环有什么区别?

    do循环是无论判断条件是否成立都是会执行一次循环体里面的语句,也就是先执行后判断,而while循环是先判断条件是否成立,如果成立才会执行循环体,不成立则不会执行循环体。

  3. “&”和“&&”的区别?

    &是如果判断语句里有两个判断中间用的&,则这两个都是要为真的时候才是最终结果为真,而如果遇到前面那个是假的时候,它还是会去比较后面的是真还是假,而&&是如果前面那个为假了,则后面的那个就不会去比较。

  4. switch(表达式)中表达式的返回值可以是哪些类型?

    1. byte,short,char,int,
    2. 在jdk5之后可以返回枚举
    3. 在jdk7之后可以返回String
  5. 如何跳出多重循环体?

    用break加循环体标签

    比如:

    public class Demo{
    	
        public static void main(String[] args){
            outer:for(int i=1;i<5;i++){
                System.out.print("第一层"+i+"\t");
                for (int j = 1; j < 5; j++) {
                    System.out.print("第二层"+j+"\t");
                    if(j==3){
                    	break outer;
                    }
                }
            }
        }
    }
    

思考题:

  1. short s = 3; s=s+2; ① s+=2; ②
    ①和②有什么区别?

    答:①会编译时报错,而②是正常运算的,应为①这样2是int型,他不会自动转换为short型,所以会报错,可能会丢失精度,
    而②会自动将int型的2强制类型转换为short型,所以不会报错。
    
  2. boolean b1 = false; //区分==和=的区别。

    if(b1=true){
    	System.out.println("结果为真");
    }else{
    	System.out.println("结果为假");
    }
    
    答:输出台会显示结果为真,‘=’是赋值运算符,‘==’是比较运算符,声明是b1是false,
    而在判断的时候使用了赋值运算符,把b1的值改成了true,所以会执行条件为真的语句块。
    
  3. 以下代码会在控制台输出什么?

    int i = 1;
    i *= 0.1;
    System.out.println(i);   // ?
    i++;
    System.out.println(i);   // ?
    
    答:输出台会显示 	 0  1
    	因为i是int型,执行第一个i *= 0.1;时,0.1 会向下取整自动转换为int型的0,所以i=i*0=0;
    	而后面执行i++之后就自增1,所以第二个会输出1
    
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值