ホームページ > Java > &#&チュートリアル > Javaにおける各種演算子の応用例の分析

Javaにおける各種演算子の応用例の分析

王林
リリース: 2023-05-04 21:43:05
転載
1671 人が閲覧しました

1. 算術演算子

1. はじめに

Java では、算術演算子、-、*、/、% はそれぞれ加算、減算、乗算、除算、および剰余を表します。

2. アプリケーション

Java には 3 つのタイプがあります: 1. 通常の操作。 2. プラスとマイナスとして使用します。 3. コネクタとして (任意のデータ型のデータが文字列に接続されている場合、その番号がコネクタになります)

例: Java の

package com;
public class liu {
	public static void main(String[] args) {
		//实例一:作为正常运算
		int c = 1;
		int d = 2;
		int e = c + d;
		System.out.println(e)  //最后结果为3;
		//实例二:作为连接符
		//已知有两个变量a和b,值分别为1和2,在控制台上输出a + b = 3, 1 + 2 = 3
		int a = 1;
		int b = 2;
		System.out.println(a + " + " + b + " = " + (a + b));  
		//控制台显示结果为:a + b = 3。
		//注意此时的"+","="作为字符串,而(a + b)则进行运算。
	}
}
ログイン後にコピー
-

があります。 2 つのタイプ: 1. 通常の動作。 2. プラスとマイナスとして使用します。

例:

package com;
public class liu {
	public static void main(String[] args) {
		int a = 1;
		int b = 3;
		int c = b-a;
		System.out.println(c);  //运算结果:2。
	}
}
ログイン後にコピー
*

例:

package com;
public class liu {
	public static void main(String[] args) {
		int i = 4;
		int j = 2;
		int a = i*j;
		System.out.println(a);//8
	}
}
ログイン後にコピー
/

関係する/演算される 2 つの数値が両方とも整数の場合、結果は整数になります。それ以外の場合は浮動小数点数になります。

例:

package com;
public class liu {
	public static void main(String[] args) {
        //实例1:作为整数运算
		int i = 4;
		int j = 2;
		int a = i / j;
		System.out.println(a);//2
     	//实例2:作为浮点运算
		int i = 5;
		double j = 2;
		double a = i / j;
		System.out.println(a);//2.5
	}
}
ログイン後にコピー
%

整数の剰余演算 (モジュロとも呼ばれます) は % で表されます。

package com;
public class liu {
	public static void main(String[] args) {
		int i = 2;
		int j = 3;
		System.out.println(i % j);  //0
		int a = 4;
		int b = 2;
		System.out.println(a % b); //2
	}
}
ログイン後にコピー

2. 自動インクリメント演算子と自動デクリメント演算子

単独で使用: 前後に関係なく、結果は同じです。詳細については例 1 を参照してください。詳細。

操作に参加します: 最初: 最初にそれ自体に 1 を追加し、次に操作に参加します。詳細については、例 2 を参照してください。後ろ: 最初に操作に参加し、次にそれ自体に 1 を追加します。例 3 を参照してください。詳細については。

例:

package com;
public class liu {
	public static void main(String[] args) {
		//实例1:单独运算。
		int i = 1;
		i++; // i = i + 1
		++i;
		System.out.println(i);//结果都等于2。
		//实例2:++在前。
		int i = 1;
		int j = ++i;
		System.out.println(j);//2
		System.out.println(i);//2	
		//实例3:++在后。
		int i = 1;
		int j = i++;
		System.out.println(j);//1
		System.out.println(i);//2
	}
}
ログイン後にコピー

単独で使用: – が前にあるか後ろにあるかに関係なく、結果は同じです。詳細については、例 1 を参照してください。 。

操作に参加します: – 前部: 最初にそれ自体を 1 だけデクリメントしてから、操作に参加します。詳細については、例 2 を参照してください。 – 後部: 最初に操作に参加し、次に操作に参加します。自身を 1 ずつ減らします。詳細については、例 3 を参照してください。

package com;
public class liu {
	public static void main(String[] args) {
		//实例1:单独运算。
		int i = 2;
		i--; // i = i - 1
		--i;
		System.out.println(i);//结果都等于1。
		//实例2:--在前。
		int i = 1;
		int j = --i;
		System.out.println(j);//1
		System.out.println(i);//1	
		//实例3:--在后。
		int i = 1;
		int j = i--;
		System.out.println(j);//2
		System.out.println(i);//1
	}
}
ログイン後にコピー

3. 代入演算子

代入では二項演算子を使用でき、その形式は非常に単純です: x = 4 は x = x 4 と同等です。

一般的な代入演算子は、=、=、-=、*=、/=、%= です。

以下では = を例にします:

package com;
public class liu {
	public static void main(String[] args) {
		int i = 1;
		i += 2; // i = i + 2
		System.out.println(i); //输出结果3 
		byte b = 1;
		b += 2; // b = (byte)(b + 2)
		System.out.println(b);
	}
}
ログイン後にコピー

4. 関係演算子

関係演算子の結果はブール型データである必要があり、これは true のいずれかを意味します。 、または false

一般的な関係演算子: >、<、>=、<=、!=、==。

例:

package com;
public class liu {
	public static void main(String[] args) {
		int i = 3;
		int j = 2;
		System.out.println(i > j);//true
		System.out.println(i < j);//false
		System.out.println(i >= j);//true
		System.out.println(i <= j);//false
		System.out.println(i != j);//true
		System.out.println(i == j);//false  
		// ==是比较两边的大小,=是赋值。
	}
}
ログイン後にコピー

5. 論理演算子

左辺と右辺のデータのデータ型はすべてブール型で、結果もすべてブール型になります。

&(単一の AND)

2 つの辺のうちの 1 つが false である限り、結果は false になります

例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true & true); 
		System.out.println(true & false); //false
		System.out.println(false & false);
		System.out.println(false & true); //false
	}
}
ログイン後にコピー

| ( Single Or)

2 つの側面のうちの 1 つが true である限り、結果は true になります。

例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true | true);
		System.out.println(true | false);
		System.out.println(false | false); //false
		System.out.println(false | true);
	}
}
ログイン後にコピー

^(XOR)

両方の辺が同じ場合は false になり、両方の辺が異なる場合は true になります。

例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true ^ true); //false
		System.out.println(true ^ false);
		System.out.println(false ^ false); //false
		System.out.println(false ^ true);
		
	}
}
ログイン後にコピー

! (非)

は正反対です。

例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(!true); //false
		System.out.println(!false); //true
		System.out.println(!!true); //true
		System.out.println(!!!true); //false
	}
}
ログイン後にコピー

&&(Double AND)

2 つの辺のうちの 1 つが false である限り、結果は false になります。

例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true && true);
		System.out.println(true && false); //false
		System.out.println(false && false); //false
		System.out.println(false && true);  //false
	}
}
ログイン後にコピー

& と && の違いは何ですか?

  • &&: 左側が false の場合、右側は実行されなくなり、結果は false になります。

  • &: 左側が false の場合でも、右側は実行され、結果は false になります。

|| (二重 OR)

両側のいずれかが true である限り、結果は true になります。

例:

package com;
public class Demo12 {
	public static void main(String[] args) {
		System.out.println(true || true); //true
		System.out.println(true || false); //true
		System.out.println(false || false); //false
		System.out.println(false || true); //true
	}
}
ログイン後にコピー

| と || の違いは何ですか?

  • ||: 左側が true の場合、右側は実行されなくなり、結果は true になります。

  • |: 左側が true の場合でも、右側は引き続き実行され、結果は true になります。

6. ビット演算子

両側のデータは数値であり、結果も数値です。

一般的なビット演算子: & (AND ビット演算)、| (OR ビット演算)、^ (XOR ビット演算)、~ (ビット単位の否定)、>> (右シフト演算)、<< ; (左シフト演算)、>>> (符号なし右シフト)。

例:

package com;
public class Demo01 {
	public static void main(String[] args) {
	    System.out.println(3 & 2); //2
		System.out.println(3 | 2); //3
		System.out.println(3 ^ 2); //1
		System.out.println(~3);//-4
		System.out.println(3 >> 2);//0
		System.out.println(3 << 2);//12
		System.out.println(3 >>> 2);//0
		System.out.println(-3 >> 2);//-1
		System.out.println(-3 >>> 2);
	}
}
ログイン後にコピー

>> >>> の違いは何ですか?

>>: データが負の数の場合、左端の符号ビットは 1 です。右シフトの後、左に 1 を追加する必要があります。

データが正の数の場合、左端の符号ビットは 0 です。右シフト後、左に 0 を追加する必要があります。

>>>: データが正負に関係なく、右シフト後、左に 0 が加算されます。

7. 三項演算子

形式: 条件式? 式 1 : 式 2; x > y ? x : y

条件式 式の結果ブール型である必要があります

実行プロセス:

条件式が true の場合、式 1 は実行され、式 2 は実行されません

If 条件 If式が false の場合、式 2 は実行され、式 1 は実行されません

例:

package com;
public class Demo02 {
	public static void main(String[] args) {
		//获取两个数的较大值
		int i = 2;
		int j = 3;
		//第一种:
		int max = i > j ? i : j;
		System.out.println(max);  //3
		//第二种:
		System.out.println(i > j ? i : j);
		//表达式1和表达式2既然会得到一个结果,如果传递给一个变量去接收,该变量的数据类型应该和表达式1和表达式2的结果的数据类型匹配。
		//浮点型:
		double d = 3 > 2 ? 1 : 2;
		System.out.println(d); //输出:1.0
		//字符型:
		char c1 = 3 > 2 ? 97:98;
		System.out.println(c1); //输出:a
	}
}
ログイン後にコピー

以上がJavaにおける各種演算子の応用例の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート