신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

숫자 비교

Scanner 객체를 이용해서 숫자를 입력 받는다.

 

그리고, if문을 이용하여

'num' 값과 내가 입력한값이 동일한값인지 비교한다.

 

동일하면 콘솔창에 match!

동일하지 않다면 Not match! 가 출력되도록 한다.

 

package exam01;

import java.util.Scanner;

public class number01 {

    public static void main(String[] args) {
        int num = 12;
        
        int input = 0;
        
        Scanner sc = new Scanner(System.in);
        System.out.print("Input Your Number(Intger Type) : ");
        input = sc.nextInt();
        
        if(input == num) {
            System.out.println("Match!");
        }else {
            System.out.println("Not Match!");
        }
        
        sc.close();
    }
}​

 

 

숫자를 비교하는 방법은 매우 쉽다.

그냥 == 연산자를 이용하면 된다.

(또는 !=, >, <, >=, <= 등등..)

 


 

문자열 비교

문자열 비교도 숫자 비교할때처럼 해보자

 

==연산자를 이용하여,

내가 입력한 값과 동일한 값이 나오는지 확인해보면

package exam01;

import java.util.Scanner;

public class str01 {

    public static void main(String[] args) {
        String str = "Hello";
        
        String input = null;
        
        Scanner sc = new Scanner(System.in);
        System.out.println("Please input your message (Stirng type) : ");
        input = sc.nextLine();
        
        if(input == str) {
            System.out.println("Match!");
        }else {
            System.out.println("Not Match!");
        }
        
        sc.close();
    }
}​

 

 

똑같이 Hello를 입력했지만, 다르다고 나온다.

 

int, double, float, char 등등의 자료형은

Java에서 제공해주고 있는 기본 자료형(프리미티브 타입의 자료형)이다.

 

String은 기본자료형(프리미티브)은 아니다.

자바에서는 객체의 이름을 설정할때, 맨앞글자를 대문자로 한다.

String을 보면 맨 앞글자가 대문자이다.

이를 보고 String이 객체라는 것을 알 수 있다.

 

== 연산자를 이용하게 되면, String의 주소를 확인하기 때문에

당연히 다르다고 나온다.

 

그렇다면, 문자열을 비교하고 싶다면 어떻게 해야할까.

String 객체내에 .equals() 라는 메소드가 존재한다.

 

equals() 메소드를 이용하여 문자열을 비교한다.

위의 코드를 수정해서 다시 실행해보자

package exam01;

import java.util.Scanner;

public class str01 {

    public static void main(String[] args) {
        String str = "Hello";
        
        String input = null;
        
        Scanner sc = new Scanner(System.in);
        System.out.println("Please input your message (Stirng type) : ");
        input = sc.nextLine();
        
//        if(input == str) {
        if(input.equals(str)) {
            System.out.println("Match!");
        }else {
            System.out.println("Not Match!");
        }
        
        sc.close();
    }
}​

 

동일하다는 결과를 얻을 수 있다.

 

문자열 비교 응용

 

package exam01;

import java.util.Scanner;

public class str02 {

    public static void main(String[] args) {
        String name = null;
        String gender = null;
        int age = 0;
        
        Scanner sc = new Scanner(System.in);
        
        System.out.print("Name : ");
        name = sc.nextLine();
        System.out.print("Gender(male or female) : ");
        gender = sc.nextLine();
        System.out.print("Age : ");
        age = sc.nextInt();
        
        if(gender.equals("male")) {
            System.out.println("Hi! " + name + " You're " + age +" years old man!");
        }else if(gender.equals("female")) {
            System.out.println("Hi! " + name + " You're " + age +" years old woman!");
        }else {
            System.out.println("Error");
        }
    }
}​

 

 

 

 


 

궁금한 내용이 있으면 댓글로 알려주세요

아는 범위에서 열심히 알려드리겠습니다.^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기