今日内容
- 数据类型转换
- 算数运算符
- 比较运算符
- 逻辑运算符
- 三元运算符
- 简单方法定义和调用
1.数据类型的转换
1.自动类型转换
2.强制类型转换:小范围数据类型 变量名 = (小范围数据类型)大范围数据类型的值;
注意事项: 强制类型转换的时候有可能会出现数据溢出或者精度损失,所以谨慎使用 char类型的值能做运算
byte、short、char类型在进行运算的时候,首先会被提升为什么int类型 boolea类型的值不能参与运算
2.运算符
四则运算和取模:灵活应用/和%
加号的多种用法:
1.如果是数值型(char):那么加号就是加法运算
2.如果有一边是字符串类型:那么加号就是连接符号
//举例说明
int num = 10;
System.out.println(num+"+"); //10+
System.out.println(num"+"); //错误写法
自增自减运算符:
单独使用
没有区别
混合使用:
如果++或–在前:先运算再使用
如果++或–在后:先使用再运算
赋值运算符
基本赋值:=
复合赋值: += -+ … 如果一眼看不出来,那么分步骤写
比较运算符:== > < >= <= != 结果一定是布尔值
逻辑运算符: && || !
&& ||的短路:
&&:前面的条件是false,则不继续后面条件的判断
||:前面的条件是true,则不进行后面条件的判断
三元运算符
格式:
数据类型 变量名 = 条件判断?表达式A:表达式B;
注意:
表达式A和表达式B的类型要和变量的类型一致
3.方法的入门
方法能提高代码的重用性
方法的定义:
public static void 方法名(){ //无参数无返回值的方法
//方法名 小驼峰
}
方法的调用:
方法名();
day02_01_数据类型转换_自动转换
1.什么是自动类型转换:
小范围数据类型的值转成大范围的数据类型
自动类型转换不需要我们做特殊的处理
2.long类型的范围小于float类型的
day02_02_数据类型转换_强制转换
1.什么是强制类型转换
大范围数据类型的值转成小范围的数据类型
2.强制类型转换的格式是什么
小范围数据类型 变量名 = (小范围数据类型)大范围数据类型的值;
day02_03_数据类型转换_注意事项
1.在强制类型转换的时候会出现什么情况
数据溢出或者精度损失(不建议强制类型转换)
2.char类型的值能不能做运算
能
3.byte、short、char类型在进行运算的时候,首先会被提升为什么类型
int
4.boolea类型的值能不能参与运算
不能
day02_04_ASCII编码表
1. 1不就是1吗?为什么在ASCII码表中对应的是49
49代表的1是字符 '1'
2. 常见的码表是哪几种
ASCII码表
Unicode码表
day02_05_算术运算符_四则与取模运算
1. 对于整数来说,除得到的结果是什么
商
2. 在运算符中%代表什么意思
取余数
注意事项:
大的数据类型参与了运行,那么结果就是大的数据类型!
int num = 1234;
day02_06_算术运算符_加号的多种用法
1. +符号的常见用法
数值:进行加法运算,(char在做运算的时候能提升为int)
String+任何:连接操作
day02_07_算术运算符_自增自减运算符
1.前++后++的使用方式以及区别
使用:
单独使用:前和后没有区别
混合使用:
前:先运算再使用
后:先使用再运算
day02_08_赋值运算符
1. = 符号的含义
把等号右侧的值赋值给左侧的变量
2.复合运算符
+=
-=
*=
/=
%=
一眼看不出来,步骤分解!
注意事项:
1.常量不能被赋值
2.在进行复合赋值运算的时候隐含了一个强制类型转换
int num = 10;
System.out.println(num+10); //20
System.out.println(num); //10
day02_09_比较运算符
1. 比较运算符得到的结果是什么
布尔值
day02_10_逻辑运算符
1. 逻辑运算符得到的结果是什么
布尔值
2. && || !各自在什么情况下等于true或者等于false
什么情况下最终结果为true
&&:多个条件的结果都为true,那么最终结果为true
||:多个条件中只要有一个条件的结构为true,最终结果就为true
!: !后面的结果为false的时候,最终结果为true
什么情况下最终结果为false
&&:只要有一个条件为false,最终结果为false
||:条件全部为false,最终结果为false
!:!后面的结果为true,最终结果为false
3. &&和||的短路功能
&&: 如果左侧的条件为false,那么将比继续进行右边条件的判断
||: 如果左侧条件为true,那么将比继续进行右侧条件的判断
&:不具备短路功能的并且
|:不具备短路功能的或者
day02_11_三元运算符
1.三元运算符的格式
数据类型 变量名 = 条件判断?表达式A:表达式B;
2.表达式A和表达式B的数据类型,必须和左侧的数据类型一致吗
必须一致
一般三元运算符的结果是接收的。
day02_12_方法入门_概念引入
1.什么是方法,为什么要有方法
方法其实是功能
提高代码的重用性
day02_13_方法入门_方法的定义
1.方法定义的格式
//我们今天学习的无参数无返回值的方法
public static void 方法名(){
//参数就是方法名后面的小括号里面
//void 如果没有返回值就写void
}
2.注意事项: a.方法定义的先后顺序没有关系 b.不能嵌套 c.方法定义好后不会执行,必须调用(在main方法中),才会执行该方法大括号中的所有代码
day02_14_方法入门_方法的调用
1.如何执行方法
方法名();
day02_15_编译器的优化
强转优化:
对byte short char 类型来说,如果右侧的赋值没有超过左侧的范围,那么编译器自动进行对应类型的强转
常量优化
如果等号右侧是常量,那么在编译的时候,就把值给计算出来,进行赋值操作
左侧的值不能超过右侧的范围
注意:右侧不能有变量参与