/*
java中的运算符
1,算数运算符
正+负- 加+ 减-乘*除/ 取模%
自增(前)++a 先运算后取值 自增(后)a-- 先取值后运算
自减(前)–a 先运算后取值 自减(后)a-- 先取值后运算
字符串连接+
*/
```java
```java
```java
class ArythmeticTest{
public static void main(String[] args) {
//除法 /
int num1 = 12;
int num2 = 5;
int result = num1 / num2;
System.out.println(result);//结果为2 ,因为是整数型
int result2 = num1 / num2 * num2;
System.out.println(result2);//结果10
double result3 = num1 / num2;
System.out.println(result3);//结果2.0,因为num1/num2的值是int型数值2,
double result4 = num1 / num2 + 0.0;//2.0 0.0为浮点型常量默认为double型, 2(int)+0.0(double)输出2.0(double)。
System.out.println(result4);
double result5 = num1 / (num2 + 0.0);//2.4 先计算括号,num2+0.0为double型,num1(int)/(num2+0.0)(double)为double型,输出2.4
System.out.println(result5);
double result6 = (num1 + 0.0) / num2 ;//2.4
System.out.println(result6);
double result7 = (double)num1 / num2;//2.4通过强转将num1转换为double型,再计算
System.out.println(result7);
double result8 = (double)(num1 / num2);//2.0 原理为通过+常量0.0或者强转double方法将参与除法运算的一个数值转为double型再运算,结果就 为double型
System.out.println(result8);
//取模运算
/*
取模运算的结果符号与被模数m有关,与m相同
实际应用中经常使用取模符号来判断变量能否被除尽。
*/
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
*/
int a1 = 10;
int b1 = ++a1;
System.out.println("a1=" + a1 + ",b1=" +b1 );//输出a1=11,b1=11
int a2 = 10;
int b2 = a2++;
System.out.println("a2=" + a2 + ",b2=" +b2 );//输出a2=11,b2=10
int a3 = 10;
a3++;//先运算在自增,a3++在此处不涉及运算,只自增到11
int b3 = a3;
System.out.println("a3=" + a3 + ",b3=" +b3 );//输出a3=11,b3=11
int a4 = 10;
++a4;//先自增再运算
int b4 = a4;
System.out.println("a4=" + a4 + ",b4=" +b4 );//输出a4=11,b4=11
short s1 = 10;
//s1 = (short)(s1 + 1);正确
//s1 = s1 + 1;错误 应为int型
s1++;//等同于s1 = (short)(s1 + 1);使用这种方式不会改变数据类型
System.out.println(s1);
byte byte1 = 127;
byte1++;//输出-128 ,自增不会改变数据类型,不会输出128,因为byte表示范围为-128到127,所以从头开始输出-128
byte1++;//输出-127
System.out.println(byte1);//输出-127
int i1 = 129;
byte byte2 = (byte)i1;
System.out.println(byte2);//输出-127,int型强转byte型也会有范围溢出的情况
/*
前-- ,先自减1,再运算
后-- ,先运算,再自减1
*/
int a5 = 10;
int b5 = --a5;
System.out.println("a5=" + a5 + ",b5=" +b5);//输出a1=9,b1=9
int a6 = 10;
int b6 = a6--;
System.out.println("a6=" + a6 + ",b6=" +b6);//输出a1=9,b1=10
int i2 = 21;
int i3 = i2--;//此时i2为21-1=20,i3为21
System.out.println(i3);//输出21
i3 = --i2;///此时,i2为20-1=19,先自减再运算
System.out.println(i3);//输出19
//给出一个整数,打印显示它的个位十位百位
//例如数字153的情况如下;个位:3,十位:5,百位:1
int i4 = 888;
int i5 = i4 / 100;
int i6 = i4 % 100 / 10;//也可以 i4 / 10 % 10
int i7 = i4 % 100 %10;//也可以 i4 % 10
System.out.println("个位=" + i7);
System.out.println("十位=" + i6);
System.out.println("百位=" + i5);
}
}
1071

被折叠的 条评论
为什么被折叠?



