Java의 java.util 패키지에 포함된 클래스로, 키보드 입력이나 파일 등의 입력 소스로부터 데이터를 읽어오는데 사용
Scanner scanner = new Scanner(System.in);
int intValue = scanner.nextInt();
double doubleValue = scanner.nextDouble();
String stringValue = scanner.nextLine();
메서드 | 기능 |
---|---|
next() | String을 읽음. 단, 띄어쓰기 뒷부분은 읽지 않음. |
nextLine() | String을 읽음. 띄어쓰기를 포함하여 한 줄(즉, Enter를 치기 전까지)을 읽음. |
nextInt() | int 를 읽음. |
nextBoolean() | boolean 을 읽음 |
nextByte() | byte 를 읽음 |
nextShort() | short 를 읽음 |
nextLong() | long 을 읽음 |
nextFloat() | float 을 읽음 |
nextDouble() | double 을 읽음 |
[참조]
Scanner sc = new Scanner(System.in);
System.out.println("name, str input :");
String name1 = sc.next();
// 공백을 인식 못해서 만약 안 우 용 이라 입력하면 '안'만 출력
System.out.println(name1);
String name2 = sc.nextLine();
System.out.println(name2);
// 공백까지 인식을 하여 안 우 용 이라 입력하면 안 우 용 출력
String name = sc.nextLine();
int su = sc.nextInt();
System.out.println(su + "," + name);
// 출력이 잘 됨. (문자 먼저 받고 숫자 받으면)
int su2 = sc.nextInt();
String name2 = sc.nextLine(); // next()는 됨.
System.out.println(su2 + "," + name2);
// 숫자를 먼저 받으면 문자를 받기 전에 출력이 되어 버림.
// 버퍼에 숫자와 화이트스페이스가 있는데,화이트스페이스도 문자로 인식받아서
화이트스페이스가 영역에 올라가서 출력이 되는거임.
int x = 3, y =3 ;
if(x==y) System.out.println("same");
else System.out.println("not same");
// == 는 스택영역(실제 데이터 있는) 비교,
// String자체는 new 라는 스택영역에 들어가지만
// String으로 변수를 받으면 힙영역에는 문자열이 있고
// 스택영역에는 주소값이 있어서 == 로 하면 값이 다르다고 나옴.
// 그래서 비교해주는 함수를 밑에처럼 써야 함.
String s1 = new String("Korea");
String s2 = new String("Korea");
if(s1.equals(s2)) System.out.println("same");
if (flag.equalsIgnoreCase("n")) break; // 대소문자 무시
if (toUpperCase().equals("N")) break; //대문자로 바꿔서 비교
if (toLowerCase().equals("n")) break; // 소문자로 바꿔서 비교
Java에서 예외 처리는 프로그램 실행 중에 예상치 못한 상황이 발생했을 때, 프로그램이 안전하게 종료되도록 하는 기능을 제공
try-catch
try {
// 예외가 발생할 수 있는 코드
} catch (ExceptionType1 e1) {
// ExceptionType1에 대한 처리
} catch (ExceptionType2 e2) {
// ExceptionType2에 대한 처리
} finally {
// 예외 발생 여부와 상관없이 항상 실행되는 코드
}
throws
: 메서드에서 예외를 던질 수 있음을 나타내는 키워드.
메서드를 호출하는 코드에서 예외를 처리하도록 요구
public void methodName() throws SomeException {
// 예외가 발생할 수 있는 코드
}
if ~ else
: if 문은 주어진 조건이 참인 경우에 특정한 코드 블록을 실행하고, else 문은 조건이 거짓인 경우에 실행될 코드 블록을 지정
int number = 10;
if (number > 0) {
System.out.println("양수입니다.");
} else {
System.out.println("음수 또는 0입니다.");
}
Switch ~ case
: Switch 문은 주어진 표현식의 값에 따라 여러 가지 경우 중 하나를 선택하여 실행
int dayOfWeek = 3;
switch (dayOfWeek) {
case 1:
System.out.println("월요일");
break;
case 2:
System.out.println("화요일");
break;
// ... 중략 ...
default:
System.out.println("잘못된 요일");
}
For
: for 문은 주어진 조건식이 참인 동안 반복하여 코드 블록을 실행
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
While
: while 문은 주어진 조건식이 참인 동안 반복하여 코드 블록을 실행
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
Do ~while
: o-while 문은 코드 블록을 최초 한 번 실행한 후, 주어진 조건식이 참인 동안 반복
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 5);
확장 for문(foreach)
: 배열이나 컬렉션을 순회하는 데 사용. 이 문법은 배열 또는 컬렉션의 모든 요소를 차례로 꺼내어 코드 블록을 실행
int[] numbers = {1, 2, 3, 4, 5};
// 배열의 각 요소에 대해 코드 블록을 실행
for (int num : numbers) {
System.out.println(num);
}
Break
: break 문은 반복문이나 switch 문에서 실행을 중단하고 해당 블록을 빠져나감
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
continue
: continue 문은 반복문에서 현재 반복을 중단하고 다음 반복을 시작
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}