🚀

プログラミング自主学習 30日目 比較演算子/論理演算子

2023/06/25に公開

比較演算子

==, >,<=のように、基本型データーの大小を比較する演算子。
整数==整数はOK 文字列はequalsメソッドで比較する。
equalsも!equalsを使って!=のように一致していないのかをチェックできる。

boolean result = !str1.equals(str2);

ただし、0.1F == 0.1は精密度の違いがあるため、booleanで比較してみると値がfalseである。

public class CompareOperationExample {
	public static void main(String[] args) {
		int num1 =10;
		int num2 =10;
		boolean result1 = (num1 == num2);
		boolean result2 = (num1 != num2);
		boolean result3 = (num1 <= num2);
		System.out.println("result 1: " + result1);
		System.out.println("result 2: " + result2);
		System.out.println("result 3: " + result3);
		
		char char1 = 'A';
		char char2 = 'B';
		boolean result4 = (char1 < char2);
		System.out.println("result 4:" + result4);
		
		int num3 = 1;
		double num4 = 1.0;
		boolean result5 = (num3 == num4);
		System.out.println("result 5:" + result5);
		
		float num5 = 0.1f;
		double num6 = 0.1;
		boolean result6 = (num5 == num6);
		boolean result7 = (num5 == (float)num6);
		System.out.println("result 6: "+ result6);
		System.out.println("result 7: "+ result7);
		
		String str1 ="자바";
		String str2 ="java";
		boolean result8 = (str1.equals(str2));
		boolean result9 = (! str1.equals(str2));
		System.out.println("result 8: "+ result8);
		System.out.println("result 9: "+ result9);
	}
} 
 

論理演算子

^(XOR): 一つがTRUE、一つがFALSEの際に演算結果がTRUE。

package ch03.sec07;

public class LogicalOperationExample {
	public static void main(String[] args) {
		int charCode ='A';
		//int charCode ='a';
		//int charCode ='5';
		
		if((65<=charCode) & (charCode<=90)) {
			System.out.println("대문자시군요.");
		}
		
		if((96<=charCode) && (charCode<=122)) {
			System.out.println("소문자이시군요.");
		}
		
		if((48<=charCode) && (charCode<=57)) {
			System.out.println("0-9 숫자이시군요.");
		}
		
		//------------------------------------------
		
		int value = 6;
		//int value = 7;
		
		if((value%2==0) | (value%3==0)) {
			System.out.println("2 또는 3의 짝수이시군요");
		}
		
		boolean result = (value%2==0) || (value%3==0);
		if(!result) {
			System.out.println("2 또는 3의 배수가 아니군요.");
		}
	}
}

Discussion