[Java] chapter2

Ryong·2023년 11월 29일
0

Java

목록 보기
3/12
post-thumbnail

scanner

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: 특정 예외 타입에 대한 처리를 정의하는 부분.
    여러 개의 catch 블록이 있을 수 있습니다.
  • finally: 예외 발생 여부와 상관없이 항상 실행되는 코드 블록.
    선택적으로 사용
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);
}
profile
새로운 시작. 그리고 도약

0개의 댓글