今日内容
- 运算符
* 算数运算符
* 自增自减运算符
* 赋值运算符
* 逻辑运算符
* 比较运算符
* 三元运算符
- 数据输入(键盘录入)
* 实现人机交互, 使程序运算的数据变得更加灵活
- 流程控制语句(重点★★★★★)
1. 算术运算符
- 运算符
* 对常量和变量进行操作的符号
*
* System.out.println(10 + 20); // 2个常量进行加法运算!
* int a = 1;
* int b = 2;
* System.out.println(a + b);- 表达式
* 用运算符把常量或者变量连接起来符号,java语法的式子就可以称为表达式。
- 运算符的分类?
- 算数运算符有哪些?
总结:
1.
算术运算、赋值运算、自增自减运算、关系运算符、逻辑运算符、三元运算符
2.
+ 加法运算
— 减法运算
* 乘法运算
/ 除法运算(获得的是商)
% 除法运算(获得的是余数) ★★★★★
- 算术运算符取余和除法的区别
* / 得到的是商
* % 得到的余数
问题:
12345 / 100 等于多少? 123
12345 % 100 等于多少? 45
12345 / 100 % 100 等于多少? 123%100 = 23
- 注意:
整数相除结果只能是整数, 如果想计算出小数, 必须要有浮点类型数据参数运算
public class Demo01{
public static void main(String[] args){
double num = 12.5;
int a = 3;
System.out.println(num+a); // 15.5
System.out.println(num-a); // 9.5
System.out.println(num*a); // 37.5
System.out.println(num/a); // 4.166666666666667
System.out.println(num%a); // 0.5
}
}
2. 字符的+操作【一般用于面试】
- 思考: System.out.println(‘a’ + 1); // 输出结果? // 98
字符参与运算的时候,会将字符转成对应码表(万国码)的数值
- 注意: 当char类型在跟整数类型的数据进行运算的时候, 实际上是?
它会将char类型的数据根据底层的码表进行转换成对应的数值(int类型),然后参与运算!
本质:它在进行一个数据类型提升!char---->>>int
- 重点关注:
1. char类型在和整数类型运算的时候, 会查找底层的ASCII数值(万国码), 然后再运算
2. 小的数据类型在和大的数据类型相加的时候, 会先将小的数据类型提升为大的之后, 再进行运算.
- 结论:
不同的基本数据类型参与运算时,整个算术表达式的类型会自动进行提升,提升为参与运算的最高等级。
double d = 'a'+3.14; // 首先将字符a提升为int类型,与double类型的数据进行加法运算,会将字符a对应的int类型的数值97转成double类型的97.0,最后与double类型的3.14进行运算!
提升规则:
单独记忆 : byte类型,short类型和char类型将被提升到int类型
整个表达式的类型自动提升到表达式中最高等级操作数相同的类型
等级顺序:byte,short,char , int , long , float , double
3. 字符串的+操作【一般用于开发】
- 字符串在与[任意数据类型]用+号串联的时候都会 ?
进行字符串拼接!(不是进行运算的!),如果有多个+出现,它会从左到右依次执行!
- 结论: 有了字符串的+操作,以后我们打印的效果会更加友好!
public class Demo03{
public static void main(String[] args){
int a = 1;
int b = 3;
System.out.println("2个变量的和是:"+(a+b)); // 2个变量的和是:4
System.out.println("2个变量的和是:"+a+b); // 2个变量的和是:13
}
}
- 5分钟时间练习
定义两个变量:
int a = 3;
int b = 4;
请输出字符串格式的:3 + 4 = 7
public class Demo04{
public static void main(String[] args){
int a = 5;
int b = 7;
//System.out.println("3 + 4 = "+(a+b)); // 3 + 4 = 7
// 将常量3删除,写2个 "",然后在这个""里面写2个+ 【“+变量名称+”】
System.out.println(""+a+" + "+b+" = "+(a+b)); // 5 + 7 = 12
System.out.println("请输出字符串格式的:"+a+"+"+b+" ="+(a+b)); // 请输出字符串格式的:5+7 =12
}
}
- +号总结
1.运算:
int sum = 3+4;
2.表示正数:
System.out.println(+10);
3.进行字符操作:
首先会将字符提升了int类型的数字(字符在码表中对应的数值),然后参与运算!
单独: byte short char ======>>> 直接提升为int
(1个byte和1个short相加的结果是 int【先分别将byte和short提升为int,最终是2个int相加】 )
与其它的(long float double)一起运算