#콘솔 출력
: 프로그래밍 중 변수에 담긴 값을 확인하기 위해 출력하고자 할 때 사용한다.
(1) 출력: System.out.print()
: 소괄호 안의 내용을 출력한다.
(2) 출력 후 줄 바꿈: System.out.println()
: 소괄호 안의 내용을 출력하고 줄 바꿈을 한다.
(3) 형식대로 출력하기: System.out.printf()
: 지시자를 이용해 변수의 값을 여러 형식으로 출력한다.
EX. System.out.printf(지시자, 출력내용);
*지시자의 갯수와 출력내용의 수는 같아야 한다.
System.out.printf("오늘은 %c요일입니다.%n", '월');
System.out.printf("이번달은 %s년%c월입니다.", "2023", '7');
//출력값
//오늘은 월요일입니다.
//이번달은 2023년7월입니다.
지시자 | 출력 포맷 |
%b | 불리언 |
%d | 10진수 |
%o | 8진수 |
%x, %X | 16진수 |
%c | 문자 |
%s | 문자열 |
%n | 줄 바꿈 |
#콘솔 입력
: 처리를 수행하거나 저장하기 위한 데이터를 입력받을 때 사용한다.
(1) import java.util.Scanner;
: 데이터를 입력받는 기능을 하는 자바 프로그램. 위치는 java.util 에 존재하고, 위 코드를 입력해 스캐너를 사용할 수 있다.
(2) Scanner scanner = new Scanner(System.in);
: (1)에서 불러온 Scanner클래스를 new 연산자를 통해 인스턴스를 생성하고,
생성된 인스턴스를 변수 Sc에 할당하는 코드.
(3) String inputValue = sc.nextLine();
: 인스턴스 sc의 메서드 nextLine()을 통해 문자열 데이터를 입력받는다.
받은 문자열은 변수 inputValue에 할당되어 저장된다.
#제어문
: 자바가 실행되는 코드의 흐름은 위에서 아래로 이뤄진다.
제어문은 이 흐름을 개발자가 원하는 방향으로 바꿀 수 있게 해준다.
제어문에는 if/switch를 사용하는 조건문과 for/while/do while을 사용하는 반복문이 있다.
#제어문1 - 조건문
(1) if문
: if()의 소괄호 안에 boolean 조건식을 넣어준다.
그 뒤 중괄호 안해 실행블록에 조건식이 참일 때 실행되는 코드를 적는다.
(2) if~else문
: if()의 조건식이 True일 때 해당 블록이 실행되고, False일 때 다음 else if()문의 조건식을 검사한다.
else if()문의 조건식이 모두 false라면 나머지 경우인 else블록이 실행된다.
(3) switch
: if문과 다르게 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다.
조건문에서 입력값으로 들어온 값에 따라 동일한 값을 가진 'case'에 있는 실행문을 실행한다.
동일한 값의 'case'가 없다면 default로 가서 실행문을 실행한다.(default문은 생략 가능)
*Switch의 조건문에는 int, char, String 타입의 변수가 사용될 수 있다.
#제어문2 - 반복문
(1) for문
: for()문은 소괄호 안 조건식이 True인 동안 주어진 횟수만큼 실행문을 반복적으로 수행한다.
(2) 향상된 for문
: 반복실행을 위해 카운터 변수와 증감식을 사용하지 않고, 배열 및 컬렉션 항목의 개수만큼 반복하고 for문을 종료한다.
(3) while문
: while()문은 소괄호 안 조건식이 True경우 계속해서 반복한다.
조건식으로는 boolean이나 true/false 값을 산출하는 어떤 연산식이든 올 수 있다.
whild 문을 탈출하는 방법은 조건식을 벗어나는 경우와 break;를 사용하는 방법이 있다.
(4) do-while문
: while문은 처음 시작할 때 조건식을 검사하여 실행문을 실행할 지 결정하지만.
do-while문은 실행문을 우선 실행 후 결과에 따라 반복 실행을 결정할 수 있다.
(5) break문
: 반복문 for / while / do-while 과 switch문에서 실행 중지할 때 사용한다.
보통 if문과 같이 사용하여, if문의 조건식을 만족시 for / while문을 종료하는 식이다.
반복문이 중첩되어 있는 경우 가장 가까운 반복문만 종료한다.
public class Main {
public static void main(String[] args) {
for (int i = 1; i < 5; i++) {
for (int j = 5; j > 0; j--) {
System.out.println("i=" + i + " j="+ j);
break;
}
}
}
}
// 위 예제의 출력값은 다음과 같다.
/* i=1 j=5
i=2 j=5
i=3 j=5
i=4 j=5
*/
//break문은 i가 포함된 바깥쪽 for문이 아닌 가까운 j가 포함된 안쪽 for문(j가 5~1인 경우)을 break하였다.
여기서 break로 i가 포함된 반복문을 지정한다면 안쪽 for문에 쓰여진 break가 바깥쪽 for문을 제어할 수 있다.
public class Main {
public static void main(String[] args) {
Out : for (int i = 1; i < 5; i++) {
for (int j = 5; j > 0; j--) {
System.out.println("i=" + i + " j="+ j);
if(i == 2){
break Out;
}
}
}
}
}
//출력값
/*i=1 j=5
i=1 j=4
i=1 j=3
i=1 j=2
i=1 j=1
i=2 j=5*/
// i가 2일때 바깥쪽 반복문이 종료되었다.
(6) continue문
: 반복문 for / while / do-while 에서 사용된다.
블록 내부에서 for문의 증감문, 혹은 while / do-while문의 조건식으로 이동하여 작동한다.
*break문과의 차이점은 break문은 작동될 시 해당 반복문을 종료하지만
continue문은 조건문의 다음 차례로 넘어가 반복을 수행한다는 점이다.
보통 if문과 함께 사용하여, if문의 조건을 만족시 continue문을 실행하여 다음 반복으로 넘어간다.
'개발지 > Today I learn' 카테고리의 다른 글
[0717] 자바 객체지향프로그래밍 1 (클래스와 객체) (0) | 2023.07.17 |
---|---|
[0711] 자바 기초 10 (배열) (0) | 2023.07.14 |
[0710] 자바 기초 8 (연산자) (0) | 2023.07.12 |
[0707] 자바 기초 7 (StringTokenizer, StringBuilder, StringBuffer) (0) | 2023.07.11 |
[0706] 자바 기초 6 (String타입, String클래스의 메서드) (0) | 2023.07.10 |