day04
前情回顾
知识回顾
案例解决
-
演练 mp3信息的打印
表达式
什么是表达式
赋值运算符
等号的本质
图形化等号
交换两个整数变量的值
数据类型的转换
自动类型转换
-
关于自动类型转换
-
理解自动类型转换
- 大小杯子案例
-
自动类型转换详情
-
单精转双精
-
整数转小数
-
字符转整数
-
字符转小数
字符可以转换成整数
整数是可以转换成小数的
所以
字符是可以自动转换成小数的
-
-
不可以的转换
-
不同类型的强弱比较
数据类型强弱关系
小数97.0》整数97》字符 a
-
相同类型的强弱比较
对于整数而言
long>int>short>byte
因此
当我们把 一个int类的数据赋值给一个long类型的数据时,会自动的发生数据类型的转换
int a = 100;
long b=a;
强制类型转换
-
关于
大类型要转换为小类型的情况下,可以使用强制类型转换
相当于
有两杯子
一个是1000ml的杯子,里面有10ml的水
另一个100ml的杯子
当大类型转小类型,自动转换是会报错的
但是实际情况下
小杯子是完全有能力去接收大杯中的水的
要想实现这样的一种杯子中水的转换,可以使用转制类型转换
大类型转小类型,用到的技术,强制类型转换。。。。
-
格式
(目标类型) 数据
-
规则
-
案例
-
小数转整数
-
short257转byte
参考案例
把short的257强转为byte类型
数据被切,结果为1
原理图
简单了解
-
-
强调
- 强转可能会生数据的丢失
- 强转需要小心
-
演练
-
演练
-
笔记本市场份额
-
需求
去年Apple笔记本所占市场份额是20
今年增长的市场份额是9.8
求今年所占份额?
-
分析
今年的份额 = 去年的份额 + 增长的份额
-
答案
-
-
自动类型提升
-
规则
-
例子
输入与输入
为什么需要输出语句?
为什么需要输入语句?
Scanner类
具有输入功能的Scanner对象
- 简单理解对象与功能
用法
例子
巩固
Scanner的用法强化_pyhui的技术博客-CSDN博客
https://blog.csdn.net/ifubing/article/details/108023010
小结
- 获得一个对象
- 使用对象的方法
演练
运算符
赋值运算符
-
用法
操作符 描述 = 直接赋值 += 先求和再赋值 -= 求差后赋值 *= 求积后赋值 /= 求商后赋值 %= 求余后赋值 -
强调
+=的意义
n += 2
相当于
n = n+2
-
演练
算术运算符
-
二元运算符
-
用法
-
演练
7%5
7/2
-
-
一元运算符
-
用法
-
演练
-
演习
a++的理解示意图_pyhui的技术博客-CSDN博客
https://blog.csdn.net/ifubing/article/details/108028805
-
-
三元运算符
-
用法
-
格式
- 数据类型 返回结果 = 逻辑表达式?成立时返回结果:不成立时的返回结果
-
例子
-
例子二
-
-
演练
-
代码况读题
-
问题
-
答案
-
-
46天之后
-
问题
需求:
1,46天离现在有几周时间?
2,如果今天是星期天,那么46天以后是星期几?
-
分析
》周分析
八天距离现在只有一周?
8/7
四十六天距现在有几周?
46/7
结论
周数 = 天数/7
》星期几分析
今天星期天,三天后星期三
七天后星期天
八天后,星期一
结论,星期几 = 天数%7
-
-
求圆的面积
-
需求
已知圆的半径 radius = 1.5,求面积
提示,面积公式:
圆的面积 = 圆周率 * 半径的平方
圆周率 pi = 3.1415926
-
答案
-
-
购物打折
- 需求
- 答案
-
关系运算符
-
符号
-
用法
- 结果 = 数据1 关系运算符 数据2
-
返回值
关系运算符的运算结果
是一个布尔数据
成立为true
不成立为false
-
例子
逻辑运算符
is_man = true;
(! is_man) — . f
-
符号
-
与
bool res = 条件1 && 条件2
如果条件1,满足
并且
条件2,也满足
那么结果为true
如果,条件1或者条件2,有任意一个不符合要求
结果为false
-
或
boolean res = 条件1 || 条件2
或代表的是二选的关系
例子
某某找对象
要求是
要么很有钱
要么很漂亮
满足其中一个条件
即为真
如果两个都不满足
即为假
-
非
boolean res = ! 条件
如果条件结果为true,res的结果为false
如果条件的结果为false, res的结果为true
-
-
演练
-
需求
我要找一份工作
我是要有求的
通勤时间低于2小时
并且
工资要高于2000
-
代码
-
运算符的优先级
参照表
演练
-
表达式(3+40%6)>(9/2*3)的结果是什么?
-
a =!(1+2*(38/4)%5>6||3!=9-6)
-
复杂的表达式
-
复杂的表达式2