类型转换
原因:开发中存在不同类型的变量或者数据赋值给其他类型的变量,也存在不同类型一起运算,其结果类型要确定下来
自动类型转换
原理:小范围类型的变量可以直接赋值给大范围类型的变量
范围信息
形式
byte a=20;
int b=a;
注意
char ch='a';
int code=ch;
表达式的自动类型转换
含义:在表达式中,小范围类型的变量会自动提升成大范围运算。
结论:表达式的最终结果数据类型是由表达式在红的最高数据类型决定的,最高的数据类型是什么,其结果数据的类型就是什么。
注意:byte short char在表达式中,是直接提升成int运算的
面试笔试题:byte b1=21,b2=22;
byte b3=b1+b2;//错误形式
int b3=b1+b2;
byte b3=(byte)(b1+b2);
强制类型转换
含义:大范围类型的变量或者数据不能直接赋值给小范围类型的变量,否则报错!必须进行强制类型转换才可以。
格式:数据类型 变量=(数据类型)其他类型的变量/数据
注意:强制类型转换可能会出现数据丢失
int a=1500;
byte b=(byte)a;
注意:浮点型类型的变量或者数据强制转换成整型,保留整数部分返回的,小数部分直接不要了
double a=99.9;
int i=(int)a;//i=99
运算符
+符号做连接符
场景:+符号与字符串一起运算时,充当连接符,连接后的结果还是一个字符串
识别技巧:能算则算,不能算大家连在一起
自增自减运算符
赋值运算符
a+=b;
等价于:a=(a的类型)(a+b);
关系运算符
逻辑运算符
与
&(逻辑与),&&(短路与):且的意思,必须前后都是true,结果才是true
区别:&&如果发现前面是false后面不执行,直接返回结果,性能较好一点,用的更多一点。
或
|(逻辑或),||(短路或):且的意思,必须前后都是true,结果才是true
区别:||如果发现前面是true后面不执行,直接返回结果,性能较好一点,用的更多一点。
异或操作:前后一样返回false,前后不一样返回true
.......
三元运算符
条件表达式?值1:值2;
运算优先级
运算符存在谁先谁后执行的情况
()优先级最高
*和/高于+和-
&&优先级高于||
案例知识:键盘录入技术
java自己提供好的程序gei程序员调用的
API文档:应用程序编程接口,技术说明书,告诉我们该怎么使用Java程序
键盘录入技术
1.导包()自动导包:import java.util。Scanner;
2.创建一个扫描器对象:Scanner sc=new Scanner(System.in);
3.等待接收用户的数据:int age=sc.nextint();
4.等待接收用户的数据:String name=sc.nextlnt();



