사용자 입력 라이브러리
사용자 입력을 받기 위해서는 다음 모듈을 import 해야 합니다.
import java.util.Scanner;
정수형인 경우와 문자열인 경우 다음과 같이 Scanner로 선언한 변수의 nextInt(), next() 메서드를 통해 전달받을 수 있습니다.
Scanner sc = new Scanner(System.in);
// 정수형인 경우
int num = sc.nextInt();
// 문자열인 경우
String input = sc.next();
이때 "Hello World"를 사용자가 입력했을 때, next() 메서드의 경우 띄어쓰기 이전인 "Hello"만 받아옵니다.
그러므로 다음 "World"를 가져오기 위해서는 다른 변수에 next() 메서드를 사용하여 전달해야합니다.
import java.util.Scanner;
class Exam01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
String nextStr = sc.next();
System.out.println(str + "123");
System.out.println(nextStr + "123");
sc.close();
}
}
// jun123
// james123
문자열 비교
다른 언어와 다르게 두 문자열이 동일한지 비교할 때는 '=='를 통해 비교할 수 없습니다. 하지만 int의 경우에는 비교가 가능하죠.
왜 이럴까요?
바로 Int 타입은 Primitive 타입으로, Java에서 기본적으로 미리 가지고 있는 타입입니다. 하지만 String 타입은 엄밀히 말하면 Primitive 타입은 아닙니다. 준 Primitive 타입으로 설명할 수 있습니다.
그렇다면 두 문자열이 같은지 비교하려면 어떤 방식을 사용할 수 있을까요?
바로 equals 메서드 입니다. → (문자열).equals(비교하고자하는 문자열)
import java.util.Scanner;
class Exam01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
String str2 = "jun"
// 비교 불가!!
if (str == str2) {
System.out.println(true);
}
// 비교 가능!!
if (str.equals(str2)) {
System.out.println(true);
}
sc.close();
}
}
'Java > 기본' 카테고리의 다른 글
[Java] 메서드 선언과 호출 (0) | 2023.06.19 |
---|---|
[Java] 배열과 반복문 (0) | 2023.06.19 |