运算符之1 算术运算符
/*
运算符之一:算数运算符
+(正) -(负) +(加) -(减) *(乘) /(初) %(取余数) (前)++ (后)++ (前)-- (后)-- +(连接)
*/
class AriTest
{
public static void main(String [] args)
{
//除号:/
int num1 = 12;
int num2 = 5;
int result1 = num1/num2;//int之间做运算,结果还是int型 整型结果还是整型
System.out.println(result1);//2
int result2 = num1/num2*num2;
System.out.println(result2);//10
double result3 = num1/num2;//int运算完已经是2了,赋值给double后面加.0
System.out.println(result3);//2.0
double result4 = num1/num2 + 0.0;//2.0
double result5 = num1/(num2 + 0.0);//2.4
double result6 = (double)num1/num2;//2.4
double result7 = (double)(num1/num2);//2.0
System.out.println(result5);
System.out.println(result6);
//%:取余运算
//结果的符号与被模数的符号相同 就是%前面的数
//后面开发中经常使用%来判断能否被除尽的情况
int m1 = 12;
int n1 = 5;
System.out.println("m1 % n1 = " + m1 % n1);//2
int m2 = -12;
int n2 = 5;
System.out.println("m2 % n2 = " + m2 % n2);//-2
int m3 = 12;
int n3 = -5;
System.out.println("m3 % n3 = " + m3 % n3);//2
int m4 = -12;
int n4 = -5;
System.out.println("m4 % n4 = " + m4 % n4);//-2
//(前)++ 先自增1,然后再运算
//(后)++ 先运算,后自增1 ***先写先加1,后写后加1
int a1 = 10;
int b1 = ++a1;
System.out.println("a1 = " + a1 + ",b1 = " + b1);// 11 11
int a2 = 10;
int b2 = a2++;
System.out.println("a2 = " + a2 + ",b2 = " + b2);// 11 10
int a3 = 10;
a3++;//++a3 (这么写没有区别)
int b3 = a3;//11
//注意点:
short s1 = 10;
//s1 = s1 + 1;不满足自动类型提升 编译失败
//s1 = (short)(s1 + 1);//正确
s1++;//自增1不会改变本身变量的数据类型
System.out.println(s1);//11
//问题
byte bb1 = 127;
bb1++;
System.out.println("bb1 = " + bb1 );//-128
//(前)-- 先自-1,然后再运算
//(后)-- 先运算,后自-1 ***先写先-1,后写后-1
int a4 = 10;
int b4 = a4--;//int b4 = --a4;
System.out.println("a4 = " + a4 + ",b4 = " + b4);
}
}
练习
/*
练习 数字***情况下,
让计算机输出个位,十位,百位
*/class AriExer
{
public static void main(String [] args)
{
int num = 187;
int bai = num / 100;
int shi = num % 100 / 10;
int ge = num % 10;
System.out.println("百位为:" + bai);
System.out.println("十位为:" + shi);
System.out.println("个位为:" + ge);
}
}