JAVA基础(二)
- 类型转换知识
- 运算符的使用
- 怎么调用JAVA提供的程序
- 案例知识:键盘录用技术
类型转换
自动类型转换
-
类型范围小的变量,可以直接赋值给类型范围大的变量
-
byte -> short -> int -> long -> float -> double
-
char -> int
表达式的自动类型转换
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算
- 表达式的最终结果类型由表达式中的最高类型决定
- 在表达式中,byte、short、char是直接转换成int类型参与运算的
强制类型转换
类型范围大的数据或变量,不能直接赋值给类型范围小的变量,会报错
可以强行将类型范围大的变量、数值赋值给类型范围小的变量
数据类型 变量2 = (数据类型)变量1/数据
强制类型转换底层原理
强制类型转换可能造成数据(丢失)溢出
浮点型强转为整型,直接截断小数,保留整数
运算符
基本算数运算符
+,-,*,/,%(取余)
/:在Java中两个整数相除,结果还是整数,因为最高类型是整数(在前面*1.0)
“+”做连接符
- “+” 与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
- 能算则算,不能算就在一起
自增自减运算符
++,–,对当前变量值+1、-1
- 可以放在变量的后边,也可以放在变量的前边
- 只能操作变量,不能操作字面量
单独使用放前后没有区别
非单独使用
放在变量前面,先对变量进行+1,-1,再拿变量的值进行运算
放在变量后面,先拿变量的值进行运算,再对变量进行+1,-1
拓展案例
int c = 10;
int d = 5;
//c 11
//d 5
//rs3 10 + 12 - 4 - 5 + 1 + 12 = 26
int rs3 = c++ + ++c - --d - ++d + 1 + c--;
赋值运算符
基本赋值运算符:=
扩展赋值运算符:+=,-=,*=,/=,%=
- a+=b,等价于 a = (a的数据类型)(a + b),其余类似
- 扩展的赋值运算符隐含了强制类型转换
- 适合数据的累加操作
关系运算符
是对数据进行条件判断的符号,最终会返回一个比较的布尔结果
==、!=、>、>=、<、<=
int age = 19;
boolean rs = age >= 18;
System.out.printlb(age >= 18);
逻辑运算符
可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果
&(逻辑与)、|(逻辑或)、!(逻辑非)、^(逻辑异或)
&& (短路与,左边为false,右边则不执行)
||(短路或,左边为true,右边则不执行)
&,|,无论左边为真为假,右边都要执行
三元运算符
格式:条件表达式?值1:值2
例如:分数大于等于60?考试通过:成绩不合格
int rsmax = num1 > num2 ? num1 > num3 ? num1 : num3 : num2 > num3 ? num2 : num3;
# 三元运算符的嵌套,加上括号更好理解
运算符优先级
()
! - ++ --
* / %
+ -
<< >> >>>
< <= > >= instanceof
== !=
&
^
|
&&
||
?:
= += -= *= /= %= &=
案例知识:键盘录入技术
需求:请完成java程序与用户交互,比如录入用户输入的年龄、姓名等
API(应用程序编程接口)
- java写好的程序
- API文档:应用程序编程接口,技术说明书
键盘录入功能实现的三个步骤
-
导包:java.util.Scanner
-
创建对象
Scanner sc = new Scanner(System.in);
-
调用功能,等待接收用户的数据
int age = sc.nextInt();
String name = sc.next();