Notice
Recent Posts
천천히 빛나는
Java 기초 : 제어문 본문
if - else if 문
if (조건식1) {
수행문;
...
} else if(조건식2) {
수행문;
...
} else {
수행문;
...
}
기본 문법은 다음과 같다
public class Application1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("정수 하나를 입력하세요: ");
int num = sc.nextInt();
if (num == 0) {
System.out.println("입력하신 숫자는 0 입니다");
}
else if (num % 2 == 0){
System.out.println("입력하신 숫자는 짝수입니다");
}
else {
System.out.println("입력하신 숫자는 홀수입니다.");
}
}
}
이와 같이 if - else if - else를 사용할 수 있다
public class Lang_05 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println((a > b) & (b > 0));
System.out.println((a += 10) > 15 | (b -= 10) > 15); // true
System.out.println("a = " + a + ", b = " + b); // a = 20, b = 10
a = 10;
b = 20;
System.out.println((a += 10) > 15 || (b -= 10) > 15); // true
System.out.println("a = " + a + ", b = " + b); // a = 20, b = 20
}
}
하나짜리 연산자는 일찍 결정되어도 뒤에꺼까지 계산을 한다. or에서 앞에꺼가 true이면 뒤에 값과 상관없이 항상 True가 나오게 되는데 |이면 뒤에도 연산하고 ||은 뒤에 연산은 안한다.
switch 문
switch(비교할변수) {
case 비교값1 :
비교값1과 일치하는 경우 실행할 구문;
break;
case 비교값2 :
비교값2와 일치하는 경우 실행할 구문;
break;
default :
case에 모두 해당하지 않는 경우 실행할 구문;
break;
}
기본 문법은 다음과 같다.
비교할 변수에는 int 이하의 값들만 들어갈 수 있다. char, short, char, int만 들어갈 수 있게 된다.
.
public class Application1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("첫번째 정수 입력: ");
int first = sc.nextInt();
System.out.print("두번째 정수 입력: ");
int second = sc.nextInt();
System.out.print("세번째 정수 입력: ");
int third = sc.nextInt();
System.out.print("연산 기호 입력(+, -, *): ");
char op = sc.next().charAt(0);
int result = 0;
switch (op) {
case '+' :
result = first + second;
break;
case '-':
result = first - second;
break;
case '*':
result = first * second;
break;
default:
System.out.println("연산자 오류");
}
}
}
break를 사용하지 않으면 그 밑으로 쭉 실행되기 때문에 break를 사용해주어서 구현해야 한다
반복문
- for문
public class Application1 {
public static void main(String[] args) {
for (int i = 1; i<=1000; i++) {
System.out.println(i);
}
}
}
- while 문
Scanner sc = new Scanner(System.in);
String answer = "";
while(!(answer.equals("y"))) {
System.out.print("종료하고 싶다면 y를 입력하세요: ");
answer = sc.next();
}
String은 클래스인데 클래스는 메소드를 가지고 있다. equals라는 메소드를 사용해서 문자열이 같은지 판별을 한다
charAt(): 문자열에서 인덱스에 해당하는 문자를 char 형으로 반환하는 기능
length(): 문자열의 길이를 int형으로 반환하는 기능
- for문 VS while문
public class Application1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("문자열 입력: ");
String str = sc.nextLine();
System.out.println("===for 문===");
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
System.out.println(i + "번째 인덱스: " + ch);
}
System.out.println("===while 문===");
int i = 0;
while(i< str.length()) {
char ch = str.charAt(i);
System.out.println(i + "번째 인덱스: " + ch);
i++;
}
}
}
- do-while 문
초기식;
do {
1회차에는 무조건 실행하고, 이후에는 조건식을 확인하여 조건을 만족하는 경우 수행할 구문(반복할 구문);
증감식;
} while(조건식);
분기문
- break
Public static void main(String[] args) {
System.out.println("===while 문===");
int i = 0;
while(true) {
if(i == 100) {
break;
}
i++;
}
}
가장 가까이에 있는 반복문만 빠져나간다
- continue
public static void main(String[] args) {
for(int i = 1; i<=100; i++){
if(!(i%4==0 && i%5==0)){
continue;
}
System.out.println(i);
}
}
4의 배수, 5의 배수가 아니면 반복문의 나머지를 건너뛰고 다음 반복을 진행하게 된다
'JAVA > JAVA' 카테고리의 다른 글
Java 기초 : 정리본 (1) (0) | 2023.07.27 |
---|---|
Java 기초 : 배열 (0) | 2023.07.27 |
Java 기초 : 메소드와 API (0) | 2023.07.25 |
Java 기초 : 변수 (0) | 2023.07.21 |
IntelliJ : 프로젝트 생성 (Hello World 출력) (0) | 2023.07.18 |