2018-08-23

三元运算符

int i = 2;
System.out.println(i<3?i*10:i*20)
如果i<3为真,执行i*10,如果为假,执行i*20
格式就是“判断式?表达式1:表达式2”

数字与字符串的连接
数字在前,字符串在后,那么数字先进行运算,再与字符串拼接
字符串在前,数字在后,直接拼接,数字部分不进行运算

public class test1{ 
    public static void main(String[] args){
        int x = 0, y = 1, z = 2;
        System.out.println(x+y+z+"hello");
        System.out.println("hello"+x+y+z);
    }
}
image.png

类型转换,默认是向上转换,以免丢失精度,比如int+long,结果类型就是long。也允许向下转换,必须标明,不建议向下转换,你都不知道会怎么给你丢失

public class test1{ 
    public static void main(String[] args){
        int x = 1;
        long y = 20000;
        int z = x+y ;
        System.out.println(z);
    }
}
这时编译提示你可能精度丢失

可以这么改
    public class test1{ 
        public static void main(String[] args){
            int x = 1;
            long y = 20000000;
            int z = (int)(x+y);
            System.out.println(z);
        }
    }

break,判断条件为true时,中断,退出循环
continue,判断条件为true时,执行循环体内后面的语句,否则继续回到开始位置循环,

    public class test1{ 
        public static void main(String[] args){
            int i = 0;
            out:
            while( i < 101){
                System.out.println(i);
                if(i==47){
                    break out;
                    }
                i++;            
            }
        }
    }


或者使用return
    public class test1{ 
        public static void main(String[] args){
            int i = 0;
            out:
            while( i < 101){
                System.out.println(i);  
                if(i==47){
                    return;
                    }
                i++;            
            }
        }
    }

嵌套循环需要使用到标签,不然break只是中断了内部循环,无法中断外部循环
switch的选择因子必须是整数(int,char这样的),浮点数和字符串不会在switch里生效。

你可能感兴趣的:(2018-08-23)