类型转换
自动类型转换
什么是自动类型转换,为什么要学习自动类型转换?
类型范围小的变量,可以直接赋值给类型范围大的变量
这行代码中,byte a=20,int b=(byte)a发生了自动类型转换
表达式的自动类型转换:
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算
在表达式中,byte、short、char是直接转换成int类型参与运算的
强制类型转换:
目标:理解强制类型转换,并使用
int a=20; byte b=(int)a;
类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错
强制类型转换
可以强行将类型范围大的变量,数据赋值给类型范围小的变量
数据类型 变量2=(数据类型)变量1、数据
强值类型转换可能造成数据(丢失)溢出
浮点型强转成整形,直接丢掉小数部分,保留整数部分返回
运算符:
运算符:对字面量或者变量进行操作的符号
算数运算符:
+ 加 - 减 * 乘 / 除 % 取余
如果两个整数做除法,其结果一定是整数,因为最高类型是整数
练习题:
数据拆分:一个三位数,将其拆分位个位、十位、百位后,打印在控制台
运算符:
+做运算符
+除了做基本数学运算,还有哪些功能?
与字符串做+运算时会被当成连接符,其结果还是字符串
能算则算,不能算就在一起
自增自减运算符:++ 自增 变量自身的值加1 -- 自减 变量自身的值-1
++和--既可以放在变量的后边,也可以放在变量的前边
++、--只能操作变量,不能操作字面量的
自增、自减运算符是什么?有什么作用?
++ -- 对当前变量值+1 -1
自增自减运算符在变量前后有区别吗?
如果单独使用放前后是没有区别的
非单独使用:在变量前,先进行变量自增/自减,再使用变量
非单独使用:在变量后,先使用变量,再进行变量自增、自减
自增\自减拓展案例
赋值运算符:
关系运算符
逻辑运算符:
逻辑与:& 两者为真,结果为真
逻辑或:| 一个为真,结果为真
逻辑非: ! !true=flase;
逻辑异或: ^ 两个条件为flase 或者true 结果是false。条件不同结果是true
和& |相比短路与和短路或更加智能.
逻辑运算符有哪些优点
逻辑与&:有一个为false,结果是false
短路与&&:一个为false,结果是false.前一个为false,后一个条件不执行了
逻辑或|:有一个为true,结果是true
短路或||:一个为true,结果是true,前一个为true,后一个条件不执行了
逻辑非!:!false=true !true=false
逻辑异或^:相同是false,不同是true
三元运算符:
三元运算符的组成结构为:条件表达式?值1:值2 (如果条件表达式为真,则返回值1,如果条件表达式为2,则返回值2)
三元运算符练习题:
定义三个整数,找出最大值并打印在控制台
键盘录入技术:
API应用程序编程接口
java写好的程序(功能代码),可以直接调用
Oracle也为java写好的程序提供了相应的API文档(技术使用说明书)
去Oracle官网下载
键盘录入功能实现的三个步骤:
1.导包:告诉程序去JDK的哪个包中找扫描技术 import java.util.Scanner;
2.写一行代码代表得到键盘扫描器对象 Scanner sc=new Scanner(System.in);
3.等待用户输入数据 String name=sc.next();
注意:为什么使用System String 不需要导包呢?
System\String 在JDK中的java.lang包下
lang包不需要我们导包,是默认的包