1.算术运算符
符号 | 作用 |
+ | 加 |
— | 减 |
* | 乘 |
/ | 除 |
% | 取余 取模(得到的结果是余数,没有余数则取余结果为0) |
- 如果在计算的时候有小数参与,则计算结果有可能不精确
- 只有整数参与计算,结果只能为整数 如10 / 3 = 3
练习1:键盘录入一个三位数,将其拆分为个位、十位、百位打印输出
公式:个位 数值 %10;
十位 数值 / 10 %10
百位 数值 /100 %10
千位 ......
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
// 键盘录入一个三位数,将其拆分为个位、十位、百位打印输出
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
int a = i /100;
// 百位 数值/100%10
int b = (i -a *100) /10;
// 十位 数值/10%10
int c = i %10;
// 个位 数值%10
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
2.隐式转换和强制转换
隐式转换(自动类型提升):把一个取值范围小的数值转换为取值范围大的数据
取值范围:byte < short < int < long < float < double
两种提升规则:1)不同类型的数据进行计算,会先将小类型转换为大类型,再进行计算; 2)byte、short、char三种类型的数据进行计算时,会先提升为int型,再进行计算
强制转换:目标数据类型 变量名 = (目标数据类型) 被强转的数据!!可能会导致数据发生错误
3.字符串的“+”操作和字符的"+"操作
字符串的“+”操作:当 “+”操作中出现字符串时,这个“+”就成为了字符串连接符,会将前后的数据拼接,产生一个新的字符串。
字符的"+"操作:每个字符都会对应一个十进制数字(ASCII码表),char类型的数据在计算时会转换为int型数字,再进行相加
5.自增自减运算符
++ 自增运算符
-- 自减运算符
public class HelloWorld {
public static void main(String[] args) {
int a =0;
a++;
System.out.println(a);//1
++a;
System.out.println(a);//2
a--;
System.out.println(a);//1
--a;
System.out.println(a);//0
}
}
6.赋值运算符
符号 | 作用 | 说明 |
= | 赋值 | a=10; |
+= | 加后赋值 | a+=b;将a+b的值赋给a |
-= | 减后赋值 | a-=b; |
*= | 乘后赋值 | a*=b; |
/= | 除后赋值 | a/=b; |
%= | 取余后赋值 | a%=b;将a%b的值赋给a |
7.关系运算符(返回值为true或false)
符号 | 说明 |
== | 等于 |
!= | 不等于 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
练习:键盘录入两个整数,表示你和你约会对象的衣服时髦度(手动录入1~10之间的整数,不能有其他)
如果你的时髦程度大于你对象的时髦程度,相亲就成功,输入true,否则输出false
import java.util.Scanner;
public class HelloWorld {
/*键盘录入两个整数,表示你和你约会对象的衣服时髦度
(手动录入1~10之间的整数,不能有其他)
如果你的时髦程度大于你对象的时髦程度,相亲就成功,输入true,否则输出false*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int my = sc.nextInt();
int you = sc.nextInt();
System.out.println(my > you);
}
}
8.逻辑运算符
符号 | 作用 | 说明 |
& | 逻辑且(与) | 两边都为真,结果才为真 |
| | 逻辑或 | 两边都为假,结果才为假 |
^ | 逻辑异或 | 两者相同为假,不同为真 |
! | 逻辑非 | 取反 |
短路逻辑运算符:
&& 短路与:如果第一个为假,则直接判断结果为假,无需判断第二个条件的真假
|| 短路或:如果第一个条件为真,则直接判断结果为真,无需判断第二个条件的真假
练习:数字6是一个伟大的数字,键盘录入两个整数,如果其中一个是6,则输出true; 如过它们的和是6的倍数,则输出true;其他情况均输出false
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
/*数字6是一个伟大的数字,键盘录入两个整数,
* 如果其中一个是6,则输出true;
* 如过它们的和是6的倍数,则输出true
* 其他情况均输出false*/
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
boolean result = a==6 || b ==6 || (a+b)%6==0;
System.out.println(result);
}
}
9.三元运算符
关系表达式?表达式1:表达式2;
如果关系表达式结果为真,则执行表达式1,否则执行表达式2
练习1:动物园有两只老虎,体重通过键盘录入获得,请判断两只老虎体重是否相同
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
/*动物园有两只老虎,体重通过键盘录入获得,
请判断两只老虎体重是否相同*/
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
String result = a==b?"相同":"不同";// 结果必须有值接收
System.out.println(result);
}
}
练习2:一座寺庙里有三个和尚,已知他们的身高分别为150cm、210cm、165cm,请获取三个和尚的最高身高
public class HelloWorld {
public static void main(String[] args) {
/*一座寺庙里有三个和尚,已知他们的身高分别为150cm、210cm、165cm,
请获取三个和尚的最高身高*/
int height1 = 150;
int height2 = 210;
int height3 = 165;
int temp = height1>height2?height1:height2;
int max = temp>height3?temp:height3;
System.out.println(max);
}
}