算术运算符
运算符 | 运算 | 范例 | 结果 | 备注 |
+ | 正号 | +3 | 3 | |
加 | 3+5 | 8 | ||
- | 负号 | b=4;-b; | -4 | |
减 | 5-3 | 2 | ||
* | 乘 | 3*4 | 12 | |
/ | 除 | 10/5 | 2 | |
% | 取模(即取余) | 13%5 | 3 | |
++ | 自增(前) | a=2; b=++a; | a=3; b=3 | 先自增,再运算 |
自增(后) | a=2; b=a++; | a=3; b=2 | 先运算,再自增 | |
-- | 自减(前) | a=2; b=--a; | a=1; b=1 | 先自减,再运算 |
自减(后) | a=2; b=a--; | a=1; b=2 | 先运算,再自减 |
目录
-
+运算符
(1)表示正数
(2)表示相加操作
(3)进行字符串的拼接
public class TestOpe01{
public static void main(String[] args){
//表示正数
System.out.println(+5); //5
//表示相加操作
System.out.println(5+6); //11
System.out.println(5+'6'); //5+54——>59
//字符串的拼接
/*
规则:+左右两侧的任意一侧有字符串,
那么这个加号就是字符串拼接的作用,
结果一定是字符串
*/
int num=50;
System.out.println("num="+num); //num=50
System.out.println(5+6+"7"); //11+"7"——>"117"——>117
System.out.println(5+'6'+"7"); //5+54+"7"——>59+"7"——>"597"——>597
System.out.println("5"+6+"7"); //"56"+"7"——>"567"——>567
System.out.println("5"+'6'+"7"); //"56"+"7"——>"567"——>567
System.out.println("5"+'6'+'7'); //"56"+'7'——>"567"——>567
}
}
-
除法运算符(/)
在进行除法运算时,当除数和被除数都是整数时,得到的结果也是一个整数;
如果除法运算有小数参与,得到的结果会是一个小数。
public class TestOpe02{
public static void main(String[] args){
System.out.println(12/3); //4
System.out.println(12/3.0); //4.0
}
}
-
取模运算符(%)
在进行取模运算时,运算结果的正负取决于被模数(%左边的数)的符号。与模数(%右边的数)的符号无关。
如,(-5)%3的结果为-2,5%(-3)的结果为2。
public class TestOpe03{
public static void main(String[] args){
System.out.println(-5%3); //-2
System.out.println(-5.0%3); //-2.0
System.out.println(5%-3); //2
System.out.println(5.0%-3); //2.0
}
}
-
练习1(/与%)
public class TestOpe04{
public static void main(String[] args){
//实现功能:任意给出一个四位数,求出每位上的数字并输出
//任意给出一个四位数
int num=2345;
//求出每位上的数字
int num1=num%10; //2345——>5
int num2=num/10%10; //2345——>234——>4
int num3=num/100%10; //2345——>23——>3
int num4=num/1000; //2345——>2
//输出每位上的数字
System.out.println("个位上的数字为:"+num1); //个位上的数字为:5
System.out.println("十位上的数字为:"+num2); //十位上的数字为:4
System.out.println("百位上的数字为:"+num3); //百位上的数字为:3
System.out.println("千位上的数字为:"+num4); //千位上的数字为:2
}
}
改进:由用户输入任意数
引入Scanner扫描器
import java.util.Scanner; public class TestOpe04{ public static void main(String[] args){ //实现功能:任意给出一个四位数,求出每位上的数字并输出 //任意给出一个四位数 Scanner input=new Scanner(System.in); System.out.println("请录入一个四位数:"); int num=input.nextInt(); //求出每位上的数字 int num1=num%10; int num2=num/10%10; int num3=num/100%10; int num4=num/1000; //输出每位上的数字 System.out.println("个位上的数字为:"+num1); System.out.println("十位上的数字为:"+num2); System.out.println("百位上的数字为:"+num3); System.out.println("千位上的数字为:"+num4); } }
-
自增(++)运算符
在进行自增++或自减--运算时,无论这个变量是否参与到运算中去,只要用++运算符,这个变量本身最终都加1操作。
如果++在后,先运算,后加1 ; 如果++在前,先加1,后运算。
public class TestOpe05{
public static void main(String[] args){
int a=5;
a++;
System.out.println(a); //6
a=5;
++a;
System.out.println(a); //6
/*
总结:无论这个变量是否参与到运算中去,
只要用++运算符,这个变量本身最终都加1操作。
*/
a=5;
int m=a+++7; //先运算m=a+7 ,再自增a=a+1。
System.out.println(m); //12
System.out.println(a); //6
a=5;
int n=++a+7; //先自增a=a+1 ,再运算n=a+7。
System.out.println(n); //13
System.out.println(a); //6
}
}
运行结果:
-
练习2(++)
public class TestOpe06{
public static void main(String[] args){
int a=5;
//注:运算符优先级 ++ > +
System.out.println(a++ + a++);
System.out.println(a++ + ++a);
System.out.println(++a + a++);
System.out.println(++a + ++a);
}
}
运算过程:
运算结果: