본문 바로가기
학습/JAVA

3. 연산자(3)

by Elfen Lied 2022. 9. 29.
반응형

- Infinity, NaN 여부 체크 메소드

- 해당 래퍼클래스에 isInfinite(), isNaN() 메소드를 제공함

  • isInfinite() : 전달된 매개변수가 Infinity이면 true 반환
  • isNaN() : 전달된 매개변수가 NaN이면 true 반환
public class InfinityAndNaNCheck {

	public static void main(String[] args) {
		
		double infinity1 = 5/0.0;
		double nan1 = 5%0.0;
		
		System.out.println(Double.isInfinite(infinity1));
		System.out.println(Double.isNaN(nan1));
		
		float infinity2 = 5/0.0f;
		float nan2 = 5%0.0f;
		
		System.out.println(Float.isInfinite(infinity2));
		System.out.println(Float.isNaN(nan2));
	}
}

값
true
true
true
true

 

 

 

 - Scanner 객체 이용

import java.util.Scanner;

public class ScannerExample {

	public static void main(String[] args) {
		
		// new 연산자를 통해 객체 생성
		Scanner scan = new Scanner(System.in);
		
		System.out.print(">> 값 입력");

		// scan변수명을 통해 스캐너 객체의 nextLine()메소드 참조한다.
		String inputValue = scan.nextLine(); 
		System.out.println("입력한 값 : " + inputValue);
	}
}

 

 

- valueOf()

 

public class ValueOfExample {

	public static void main(String[] args) {
		
		String value1 = "1000";
		String value2 = "2000";
		System.out.println(value1 + value2);
	
		double dvalue1 = Double.valueOf(value1);
		double dvalue2 = Double.valueOf(value2);
		System.out.println(dvalue1 + dvalue2);
		
		int iValue1 = Integer.valueOf(value1);
		int iValue2 = Integer.valueOf(value2);
		System.out.println(iValue1 + iValue2);
		
		String hello = "Hello";
		int iHello = Integer.valueOf(hello);
	}
}

값
10002000
3000.0
3000

 

 

- 문자열 연산자

public class StringConcatExample {

	public static void main(String[] args) {
		String str1 = "JDK" + 3 + 3.0; // JDK33.0
		String str2 = 3 + 3.0 + "JDK" ; // 6.0JDK
		
		System.out.println(str1);
		System.out.println(str2);
		
		System.out.println("덧셈결과 " + (10+2));
		System.out.println("곱셈결과 " + 10*2);
	}
}

값
JDK33.0
6.0JDK
덧셈결과 12
곱셈결과 20

곱셈은 (괄호) 치지 않아도 먼저 연산

 

 

 

- 비교 연산자

public class CompareOperatorExample {
	
	public static void main(String[] args) {
	
		Scanner scan = new Scanner(System.in);
		System.out.print(">>첫 번째 값 입력 : ");
		int inputInt1 = scan.nextInt();
		System.out.print(">>두 번째 값 입력 : ");
		int inputInt2 = scan.nextInt();
		
		if(inputInt1 == inputInt2) {
			System.out.println("두 입력값은 같다");
			return;
		}
		if(inputInt1 != inputInt2) {
			System.out.println("두 입력값은 다르다");
		}
		if(inputInt1 > inputInt2) {
			System.out.println("첫 번째 입력값이 크다");
			return;
		}
		if(inputInt1 < inputInt2) {
			System.out.println("두 번째 입력값이 크다");
			return;
		}
	}
}

 

 

 

문자열 비교

 

 

- 문자열 객체 생성 방식

 

 

- equals() 메소드

public class StringEqualsDemo {

	public static void main(String[] args) {
		String str1 = new String("홍길동");
		String str2 = new String("홍길동");
		
		System.out.println(str1 == str2);
		System.out.println(str1.equals(str2)); // equals는 값을 비교
		
		String str3 = "홍길동";
		String str4 = "홍길동";
		System.out.println(str3 == str4);

	}
}


값
false
true
true

 

 

 

- 복합 대입연산자

public class AssignmentOperatorExample {

	public static void main(String[] args) {
		
		int result = 5;
		
		result += 10;
		//result = result + 10; 
		System.out.println(result);
		
		result = 10;
		result -= 3; // 10-3
		System.out.println(result); // 7
		
		result *= 3; // 21
		System.out.println(result);
		
		result /= 3; // 7
		System.out.println(result);
		
		result %= 2; // 1
		System.out.println(result);
	}
}

 

 

 

- 삼항 연산자

public class AssignmentOperatorExample2 {

	public static void main(String[] args) {
	
		Scanner scanner = new Scanner(System.in);
		System.out.println("점수입력 : ");

		int score = scanner.nextInt();
	
		String result = (score >= 60) ? "합격" : "불합격";		
		System.out.println(result);
	}
}

 

반응형

'학습 > JAVA' 카테고리의 다른 글

4. 반복문(for문, while문, do-while문  (0) 2022.09.30
4. 조건문(if문, switch문)  (0) 2022.09.29
3. 연산자(2)  (0) 2022.09.28
3. 연산자(1)  (0) 2022.09.28
3. 타입 변환  (0) 2022.09.27

댓글