算術演算子
オペレーター | 計算 | 例 | 結果 | 備考 |
+ | 正の符号 | +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
}
}
改善:ユーザーが入力した任意の番号
スキャナーの紹介
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);
}
}
操作プロセス:
計算結果: