文章目录
- 一.运算符
- 算数运算符
- 练习:
- 二.算术运算符的高级用法
- "+"操作的三种情况
- 数字相加
- 字符串相加
- 字符相加
- 三.自增自减运算符
- 基本用法
- 四.赋值运算符&关系运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 五.短路逻辑运算符
- 六.三元运算符
一.运算符
运算符:
对字面量或者变量进行操作的符号
表达式:
用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式
不同运算符连接的表达式体现的是不同类型的表达式
算数运算符
实践一下
加 减 乘
运行结果:
除 取模
运行结果
练习:
数值拆分
需求:键盘录入一个三位数,将其拆分为个位,十位,百位后打印在控制台
公式总结:
个位:数值 %10
十位:数值 /10 % 10
百位:数值 /100 % 10
千位:数值 /1000 % 10
…
代码呈现:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//需求:键盘录入一个三位数,将其拆分为个位,十位,百位后打印在控制台
//1.键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数");
int number = sc.nextInt();
//2.获取个位 十位 百位
//个位:数值 %10
int ge = number % 10;
//十位:数值 /10 % 10
int shi = number / 10 % 10;
//百位:数值 /100 % 10
int bai = number / 100 %10;
System.out.println(number+"的个位是:"+ge +"十位是:"+shi +"百位是:"+bai);
}
}
结果为:
二.算术运算符的高级用法
"+"操作的三种情况
数字相加
问题:变量c是什么类型的? double
问题:变量c是什么类型的?
隐式转换:
把一个取值范围小的数值,转成取值范围大的数值
隐式转换的两种提升规则
思考:
第一题:double 第二题:int
小结:
练习:
强制转换:
练习:
代码呈现:
public class Test2 {
public static void main(String[] args) {
byte b1 = 10;
byte b2 = 20;
byte result = (byte)(b1 + b2);
System.out.println(result);
}
}
字符串相加
练习:
字符相加
字符+操作
练习:
三.自增自减运算符
基本用法
int a = 10;
a++;
System .out.prinln(a);//a=11
int a = 10;
++a;
System .out.prinln(a);//a=11
tip: 第一次运算之后a的值会更新 然后再进行下面的运算!!!
练习:
代码呈现:
结果:
tip: x的值是最新的x的值.
四.赋值运算符&关系运算符
赋值运算符
分类
举例练习:
关系运算符
分类
举例说明:
练习
代码呈现:
逻辑运算符
分类
举例说明:
使用场景:
五.短路逻辑运算符
练习:
代码呈现:
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int one = sc.nextInt();
System.out.println("请输入第二个整数");
int two = sc.nextInt();
boolean result = (one == 6 || two == 6 || (one + two) % 6 == 0 );
System.out.println(result);
}
}
六.三元运算符
练习:
代码呈现:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一只老虎的体重");
int a = sc.nextInt();
System.out.println("请输入第二只老虎的体重");
int b = sc.nextInt();
String result = ( a == b ? "相同":"不相同");
System.out.println(result);
}
}
练习2:
代码呈现:
public class Test3 {
public static void main(String[] args) {
int hight1 = 150;
int hight2 = 210;
int hight3 = 165;
int temp = hight1 > hight2 ? hight1 : hight2;
int hightmax = temp > hight3 ? max : hight3;
System.out.println("他们的最高身高是:"+ hightmax);
}
}