1、算数运算符
符号 | 作用 | 说明 |
---|---|---|
+ | 加 | 参照小学一年级 |
- | 减 | 参照小学一年级 |
* | 乘 | 参照小学二年级,与“×”相同 |
/ | 除 | 参照小学二年级,与“÷”相同 |
% | 取余 | 获取的是两个数据做除法的余数 |
2、整型默认数据类型为int
int a = 10
将10赋值给整型a
+
:是运算符,并且是算术运算符
a + b
: 是表达式,由于+
是算术运算符,所以这个表达式叫算术表达式
3、如果基本数据类型参与运算,则会将小的运算符转换为大的运算符
public class Test {
public static void main(String[] args) {
System.out.println(5 / 2);
System.out.println(5 / 2.0);
System.out.println(5.0 / 2);
System.out.println(5.0 / 2.0);
}
}
整数相除只能得到整数 如果想要得到小数,需要有小数参与运算
4、字符串拼接时,如果后面是整型,直接将它拼接在一起
public class Test {
public static void main(String[] args) {
System.out.println("年龄为:" + (23 + 1));
}
}
年龄为24岁
5、自增自减运算符有两种使用方式
单独使用
++和--无论是放在变量的前边还是后边,结果是一样的
参与操作使用
如果放在变量的后边,先将变量原本的值取出来参与操作,随后再进行自增,自减
int a = 10;
int b = a++;
如果放在变量的前边,变量先完成自增长,然后再参与运算
int a = 10;
int b = ++a;
++、–只能操作变量,不能操作常量
6、如果有运算符,则先做运算(由左到右)
7、数据转换类型分为强制转换和隐式转换
public class AssignmentOperate {
public static void main(String[] args) {
int a=1;
a+=1;//a=a+1;
byte b=1;
b+=1;// b=b+1;
b= (byte) (b+1);
// 扩展的赋值运算符包含了隐式的强制转换
}
}
8、关系运算符 比较运算符
public class RelationOperate {
public static void main(String[] args) {
System.out.println(1 == 5);
System.out.println(1 != 5);
System.out.println(1 > 5);
System.out.println(1 <5);
System.out.println(1 >= 5);
System.out.println(1 <= 5);
}
}
9、&&遇false右边不执行,||遇true右边不执行
10、运算符的优先级
1)短路与大于短路或
2)三元运算符,赋值运算符和自增自减运算符从右往左计算
3)先算括号里面的
11、求三个整数的最大值
需求:键盘录入三个整数,找出最大值并打印在控制台
public class MaxFromThreeNum {
public static void main(String[] args) {
/**
* 1.调用键盘录入接口
* 2.提示用户输入第一个数
* 3.接收第一个数
* 4.提示第二个数
* 5.接收第二个数
* 6.提示第三个数
* 7.接收第三个数
* 8.将第一个数和第二个数进行比较得到最大值
* 9.将刚刚的最大值和第三个数进行比较得到最大值
* 10.打印最大值即可
*/
// 调用键盘录入接口
Scanner scanner = new Scanner(System.in);
// 提示用户输入第一个数
System.out.println("请输入第1个整数");
// 接收第一个数
int num1 = scanner.nextInt();
// 提示第二个数
System.out.println("请输入第2个整数");
int num2 = scanner.nextInt();
System.out.println("请输入第3个整数");
int num3 = scanner.nextInt();
int temp = num1 > num2 ? num1 : num2;
System.out.println("第一个数和第二个数的最大值为:" + temp);
int max = temp > num3 ? temp : num3;
System.out.println("三个数的最大值为:" + max);
}
12、数值拆分
需求:键盘录入一个三位数,将其拆分为个位,十位,百位后,打印在控制台
public class NumberSplit {
public static void main(String[] args) {
/**
* 1.引入键盘录入接口
* 2.提示用户输入信息
* 3.接收用户输入的信息
* 4.将输入的信息判断是否为整数(过)
* 5.求得十位数,个位数,百位数
* 6.打印出来
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个三位数的整数");
int num = scanner.nextInt();//324
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100 % 10;//一般要考虑多一位
System.out.println("个位数为:" + ge);
System.out.println("shi位数为:" + shi);
System.out.println("bai位数为:" + bai);
}
}