自动类型转换
小范围转大范围
强制类型转化
大范围转小范围
注意
两个相同的类型数值相加会自动转化为更加大的一个默认类型
两个相同默认类型相加用默认类型接受就可以
boolean类型不能与其他基本数据类型相互转换
char类型的数据转换为int类型是按照码表中对应的int值进行计算的。比如在ASCII码表中,'a'对应97。
int a = 'a'; System.out.println(a); // 将输出97
整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型
float 类型不能自动转换为 int类型
int 类型可以自动转换为 float类型
运算符
运算符分类
算术运算符、赋值运算符、自增自减运算符、关系运算符、逻辑运算符、三元算符
算数运算符
+、-、*、/、%
注意
System.out.println("hello"+1+1);//hello11 先"hello1"+1 最后 "hello11" System.out.println(1+1+"hello");//2hello 先2 + "hello" 最后 "2hello"
上述要注意拼接和相加的顺序
赋值运算符
面试题
short s=1; s+=1;//没有问题 因为这个默认形式是 s = (s的类型)(s+1) short s=1; s = s+1; //有问题 s+1 是int类型
上述二者并不同
而 i++ 的默认形式也是 i = (i 的类型)(i + 1);
逻辑运算符
短路运算符
符号 | 作用 | 说明 |
---|---|---|
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
短路运算符与逻辑运算符的区别
-
逻辑与&,无论左边真假,右边都要执行。
-
逻辑或|,无论左边真假,右边都要执行。
-
短路与&&,如果左边为真,右边执行;【如果左边为假,右边不执行】。
-
短路或||,如果左边为假,右边执行;【如果左边为真,右边不执行】
自增自减运算符
注意
int x = 10; int y = (x++) + (x++) + (x++); x->11 x->12 x->13 y= 10 + 11 + 12 x=13 System.out.println(x); //13 System.out.println(y); //33 //int x = 10; //int y = x++ + x++ + x++; //System.out.println(y);//33 //System.out.println(x);//13
上述二者一样
键盘录入
创建 Scanner 对象
Scanner sc = new Scanner(System.in); int i = sc.nextInt(); String s = sc.next(); char c = sc.next().charAt(0); double c = sc.nextDouble(); float c = sc.nextFloat();
流程控制语句
流程控制结构分类
顺序结构
分支结构(if, switch)
循环结构(for, while, do…while)