티스토리 뷰
1. 제어문😊
- 제어문은 실행문의 수행 순서를 변경 하는것으로 조건문, 반복문, 분기문 이있다.
조건문 (=선택문) : 조건식의 결과에 따라 여러 실행 경로 중 하나를 선택한다. 종류로는 if문, switch문이 있다.
반복문 : 조건에 따라 같은 처리를 반복하며, for문, while문, do~while문이 있다.
분기문 : 실행 흐름을 무조건 변경하는 break문, continue문이 있다.
우선, 조건문에 대해서 먼저 알아 보겠습니다.
- 조건문 (if문, if~else문, 다중 if문, 중첩 if문, switch문)
1. if문 : 조건식이 true일때만, 실행문을 실행한다. 조건식이 true일대, 수행할 실행문이 하나라면 { } 을 생략할수 있다.
if (조건식) {
실행문(들);
}
이제, if문을 사용하여 예시를 들어보도록 하겠습니다🤚
import.java.util.Scanner;
public class SimpleIf{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("숫자를 입력하세요 : ");
int number = in.nextInt();
if(number % 2 == 0)
System.out.println("짝수!");
if(number % 3 == 0)
System.out.println("홀수!");
}
}
- 코드를 설명하자면, import.java.util.Scanner;는 자바를 코드로 작성할때 항상 써줘야하는 코드입니다. java.util 이라는 패키지 안에 있는 클래스들을 import 하겠다" 라는 의미입니다.
- "Scanner in = new Scanner(System.in);" 은 Scanner 클래스에서 객체를 생성을 꼭 해줘야만 사용할 수있습니다. 키보드로 입력을 받을때 사용합니다.
- "System.out.print"를 사용해 "숫자를 입력하세요 :" 를 화면에 출력해줍니다.
- "next()" 는 공백 이전까지의 문자열을 입력받는 메서드입니다.
- "nextInt()" 는 int형 정수를 입력받는 메서드입니다.
- if문을 사용하여, 만약 입력받은 수가 2로 나누었을때, 나머지가 0이면 "짝수!"를 출력하고, 2로 나누었을때, 나머지가 1이면 "홀수!" 를 출력합니다.
2. if~else문 : 조건식의 true 나 false에 따라 다른 실행문를 수행 할때 사용한다.
if (조건식) {
실행문(들);
} else {
실행문(들);
}
이제, if~else문을 사용하여 예시를 들어보도록 하겠습니다✍
import.java.util.Scanner;
public class SimpleIf{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("숫자를 입력하세요 : ");
int number = in.nextInt();
if(number % 2 == 0)
System.out.println("짝수!");
else
System.out.println("홀수!");
}
}
- 위의 if문과의 차이를 아시겠나요? 나머지 코드는 모두 동일하고, 2번째 if문을 else로 바꾸어 if~else문을 사용하였습니다. if~else경우에는 if문처럼 (조건식)을 써주지 않고 else 만 사용합니다.
- 코드 설명을 하자면, 만약에 입력받은수가 2로 나뉘어 나머지가 0이면 "짝수!"를 출력하고, 2로 나뉘어지지 않고 나머지가 0이 아닌 모든 경우는 다 else문에 의해 "홀수!"를 출력하게 되는것입니다.
if(number % 2 == 0)
System.out.println("짝수!");
else
System.out.println("홀수!");
System.out.println(number % 2 ==0 ? "짝수!" : "홀수!" );
그리고, 1번째의 있는 if~else문을 2번째의 있는 조건연산자를 이용해 더 간결하게 표현이 가능합니다.
조건식이 true이면 짝수를 출력하고, false이면 홀수를 출력하게 되는 구조입니다.
2. 다중 if문 : 조건식이 여러개일 경우에는 다중 if문을 사용한다. if문을 사용후 else if문을 연속 추가해 사용한다.
if (조건식1) {
실행문(들); // 조건식이 참일때만 실행
} else if (조건식2){
실행문(들); // 조건식1이 거짓이며 조건식2가 참일때 실행
} else if (조건식3){
실행문(들);
} else if (조건식4){
실행문(들);
} ...
} else {
실행문(들); // 모든 조건을 만족하지 않을때만 실행
}
이제, 다중 if문을 사용하여 예시를 들어보도록 하겠습니다⭐
import.java.util.Scanner;
public class Multi{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String grade;
System.out.print("점수를 입력하세요 : ");
int score = in.nextInt();
if(score >= 90)
grade = "A";
else if(score >= 80)
grade = "B";
else if(score >= 70)
grade = "C";
else if(score >= 60)
grade = "D";
else
grade = "F";
System.out.println("당신의 학점은" + grade);
}
}
- grade라는 변수를 String 문자열로 선언하고, 점수를 입력받는 출력문을 출력합니다.
- score라는 변수를 int형으로 선언하고, 출력문 뒤에 값을 입력받습니다.
- if문을 사용해 90점 이상일때는 grade 라는 변수에 "A"를 넣고, 90점 미만이면서 80점 이상일때는 "B"를, 80점 미만이면서 70점 이상일때는 "C"를 이런식으로 입력을 받고 60점미만을때는 "F"를 입력받습니다.
- 마지막으로, "당신의 학점은" 을 출력하고, grade 변수에 저장되어있는 값을 출력합니다.
3. 중첩 if문 : if문 안에 if문이 포함된것을 중첩 if문이라고 한다.
import.java.util.Scanner;
public class Multi{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String grade;
System.out.print("점수를 입력하세요 : ");
int score = in.nextInt();
if(score >= 90)
grade = "A";
else {
if(score >= 80)
grade = "B";
else {
if(score >= 70)
grade = "C";
else {
if(score >= 60)
grade = "D";
else
grade = "F";
}
}
}
System.out.println("당신의 학점은" + grade);
}
}
- 중첩 if문에서는 if절과 else절에 관환 실행문이 명확하게 표시되도록 중괄호를 사용하는것이 좋습니다.
- 설명은 위의 다중 if문과 동일합니다.
4. switch문 : switch문은 여러 개의 선택중 하나를 선택 할때만 사용하며, 다중 if문으로도 구현 가능하다.
switch (연산식) {
case 값1 :
실햄문(들); // 연산식 값이 값1과 일치할때 실행
case 값2 :
실행문(들): // 연산식 값이 값2과 일치할때 실행
case 값3 :
실행문(들):
defalut:
실행문(들): // 연산식 값과 일치하는 값이 없을때 실행
}
이제, switch문을 사용하여 예시를 들어보도록 하겠습니다😲
import.java.util.Scanner;
public class Multi{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("등수를 입력하세요 : ");
int rank = in.nextInt();
switch(rank) {
case 1:
System.out.println("일등입니다.");
break; // case 1 에서 탈출해라
case 2:
System.out.println("이등입니다.");
break; // case 2 에서 탈출해라
case 3:
System.out.println("삼등입니다.");
break; // case 3 에서 탈출해라
defalut:
System.out.println("등외입니다.");
}
}
}
- 등수를 입력받아, 예를 들어 2를 입력하면 case 2 로 이동하여 case 2에 있는 문들을 실행합니다. 그럼 "이등입니다."
라는 글이 출력됩니다. 그리고 braek; 문으로 case2를 탈출해서 실행문을 끝냅니다.
- 1,2,3 말고 3 초과를 하는 예를들어 4나 5를 입력하게 되면, "등외입니다."를 출력하게 되는겁니다.
- 그리고, 모든 switch문을 다중 if문으로 작성할수있는것은 아닙니다.
'언어 > Java' 카테고리의 다른 글
[자바 1장] 문법의 기초 (1) | 2021.08.02 |
---|