조건문(if문)

값이 참이면 실행되고 거짓이면 실행되지 않는다.

Console.WriteLine("나이를 입력하세요 : ");
int age = Convert.ToInt32(Console.ReadLine());

if(age >= 19) 
{
    Console.WriteLine("회원가입되었습니다.");
}

 

조건은 여러 개 설정 할 수 있다.

Console.WriteLine("나이를 입력하세요 : ");
int age = Convert.ToInt32(Console.ReadLine());

if (age >= 19) 
{
    Console.WriteLine("회원가입되었습니다.");
}
else if (age < 1)
{
    Console.WriteLine("아직 태어나지 않았습니다.");
}
else
{
    Console.WriteLine("만 19세 이상이어야합니다.");
}

 

위에서 아래로 실행하며 참과 만나면 조건문에서 빠져나온다. 때문에 겹치는 조건이 있는지 확인해야한다.

if (age > 100) 
{
    Console.WriteLine("나이가 너무 많습니다.");
}
else if (age >= 19)
{
    Console.WriteLine("회원가입되었습니다.");
}
else if (age < 1)
{
    Console.WriteLine("아직 태어나지 않았습니다.");
}
else
{
    Console.WriteLine("만 19세 이상이어야합니다.");
}

 

문자열의 조건문

 Console.WriteLine("이름을 입력하세요 : ");
 String name = Console.ReadLine();

 if (name == "")
 {
     Console.WriteLine("이름을 입력하지 않았습니다.")
 }
 else
 {
     Console.WriteLine("안녕하세요, " + name + "님");
 }

'='는 값을 대입하는 것이기 때문에 '=='를 쓴다.

 

같지 않을 때에는 '!='를 쓴다.

 Console.WriteLine("이름을 입력하세요 : ");
 String name = Console.ReadLine();
 
if (name != "")
{
    Console.WriteLine("안녕하세요, " + name + "님");
}
else
{
    Console.WriteLine("이름을 입력하지 않았습니다.");
}

 

 

조건문(Conditional)

if 문

int a = 1;
int b = 100;

if (a == b) {
    System.out.println("a == b");
} else if (a < b) {
    System.out.println("a < b");
} else if (a <= b) {
    System.out.println("a <= b");
} else {
    System.out.println("else");
} // a < b

if가 참일 때, 코드를 실행한다. if가 거짓이라면 else를 실행한다.

조건을 여러 개 하고 싶다면 else if를 사용한다. 다중 조건문일 경우, 조건을 만족하는 다른 조건문이 있어도 최초의 분기만 실행한다.

 

switch 문

int a = 10;

switch (a + 1) {

    case 9:
        System.out.println("a + 1 == 9");
    case 10:
        System.out.println("a + 1 == 10");
    case 11:
        System.out.println("a + 1 == 11");;
}

switch의 값이 일치하는 case인 "a + 1 == 11"가 출력된다. 그렇다면 거꾸로 나열하면 어떻게 될까?

int a = 10;

switch (a + 1) {

    case 11:
        System.out.println("a + 1 == 11");
    case 10:
        System.out.println("a + 1 == 10");
    case 9:
        System.out.println("a + 1 == 9");;
}

황당하게도 "a + 1 == 11", "a + 1 == 10", "a + 1 == 9" 모두 출력된다. case 같은 경우에는 조건을 만족했다고 조건문을 끝내지 않는다. 조건을 끝내고 싶다면 아래처럼 break라는 키워드를 작성해야 빠져나갈 수 있다.

int a = 10;

switch (a + 1) {

    case 11:
        System.out.println("a + 1 == 11");
        break;
    case 10:
        System.out.println("a + 1 == 10");
        break;
    case 9:
        System.out.println("a + 1 == 9");
         break;
    default:
        System.out.println("default");
}

default는 모든 case에 만족하지 않을 경우 실행되는 코드이다.

 

 

반복문(Loops)

어떠한 작업을 반복적으로 수행할 수 있도록 하는 형식

 

for 문

for (int i = 0; i < 10; i++) {
    System.out.println(i);
}

for 문을 만들려면 괄호( ) 안에 먼저 int 형태의 초기화된 변수를 만들어준다. 그리고 변수의 범위를 정해준다. 조건식이 없으면 반복문이 계속 수행되어 무한루프에 빠지게 된다. i가 1씩 늘어나도록 ++ 증감식을 붙여준다. 이렇게하면 i가 10보다 작을 때까지 1씩 커지며 반복한다.

즉, 정리하면 for 문에는 초기화된 변수, 조건식, 증감식이 있어야한다.

 

while 문, do-while 문

int b = 10;

while (b > 0) {
System.out.println(b);
b--;
}

for 문은 초기화된 변수를 내부에서 만들지만 while 문은 보통 외부에서 만든다.

int b = 0;

do {
	System.out.println(b);
    b--;
} while (b > 0);

do-while 문은 일단 do로 조건없이 실행을 시킨 뒤, 중괄호{} 뒤에 while을 붙여 실행한다. do-while 문은 while 문과 다르게 먼저 실행 후, 조건문을 반복한다. 즉, while 문에 있는 조건과 무관하게 최초 한 번은 무조건 실행하는 반복문이다.

 

 

'Back-End > Java' 카테고리의 다른 글

함수  (0) 2023.05.15
자료구조 - 배열, 리스트, 맵  (0) 2023.05.12
연산자  (0) 2023.05.10
콘솔 입출력  (0) 2023.05.09
String 문자열  (2) 2023.05.09

+ Recent posts