-
[java] 제어문(if,switch,while,for)java 2023. 1. 16. 00:16
4-1 if문 -조건문
if문의 기본 구조
if(조건문) { ; ; }else if(조건문){ ; ; }else{ ; ; }
비교 연산자
< , > , ==(같다), !=, >=, <=
&&(and) , ||(or), !(not)
조건문에 자주 활용되는 List자료형의 contains() 메소드
import java.util.ArrayList; import java.util.HashMap; public class HelloWorld { public static void main(String[] args){ ArrayList<String> pocket = new ArrayList<>(); pocket.add("paper"); pocket.add("handphone"); pocket.add("money"); if (pocket.contains("money")) { System.out.println("택시 타고가"); }else{ System.out.println("걸어가라"); } } }
4-2 switch/case문 -조건문
입력변수와 일치하는 case값이 있다면 해당 case문에 속한 문장이 실행된다.
case문을 수행한뒤 switch문을 빠져나가기 위해 break를 넣어주어야하고
만약 break문이 빠져있다면, 그 다음 case문이 이어서 실행되는 구조이다.
switch조건문에 들어갈수있는 입력변수 타입은 byte, short, char, int만 가능하다.switch/case문 기본 구조
switch(입력변수){ case 입력값1: break; case 입력값2: break; default break; }
4-3 while 문 -반복문
while문 기본구조
while(조건문){ ; ; ; }
public class HelloWorld { public static void main(String[] args){ int treeHit =0; while (treeHit < 10) { treeHit++; System.out.println("나무를 " + treeHit + "번 찍었습니다"); if (treeHit == 10) { System.out.println("나무 넘어갑니다"); } } } } 나무를 1번 찍었습니다 나무를 2번 찍었습니다 나무를 3번 찍었습니다 나무를 4번 찍었습니다 나무를 5번 찍었습니다 나무를 6번 찍었습니다 나무를 7번 찍었습니다 나무를 8번 찍었습니다 나무를 9번 찍었습니다 나무를 10번 찍었습니다 나무 넘어갑니다
무한루프
public class HelloWorld { public static void main(String[] args){ while(true){ System.out.println("ctrl-c를 눌러야 종료됩니다"); } } }
break;
switch/case문과 마찬가지로 반복문을 빠져나가도록 설계하려면 break;문을 추가해주면된다.
public class HelloWorld { public static void main(String[] args){ int coffee = 10; int money = 300; while (money > 0){ System.out.println("돈을 받았으니 커피를 줍니다."); coffee--; System.out.println("남은 커피의 양은" + coffee + "입니다"); if(coffee ==0){ System.out.println("커피가다 떨어져 판매중지"); break; // 반복문 종료 } } } }
continue;
while문의 맨처음(조건문)으로 돌아간다.
public class HelloWorld { public static void main(String[] args){ int a =0; while (a<10){ a++; if (a%2 == 0){ continue; // 짝수이면 조건문으로 돌아감 } System.out.println(a);//홀수만 출력 } } }
4-4 for문
for문의 구조
for(초기값; 조건문; 증감){ }
전형적인 for문
public class HelloWorld { public static void main(String[] args){ String[] numbers = {"one", "two", "three"}; for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } } }
for에서 continue/break
- while문과 마찬가지로 조건문으로 돌아가서 초기값을 하나 증가시킨다.
- while문과 마찬가지로 for 문을 벗어난다
이중 for 문
System.out.print : \n없이 출력
System.out.println : \n포함하여 출력
구구단을 출력하는 프로그램
public class HelloWorld { public static void main(String[] args){ for(int i =2;i<10;i++){ for(int j =1;j<10;j++){ System.out.print(i * j + " "); } System.out.println(""); } } }
4-5 for each문
iterate는 루프를 돌릴 객체이다. interate객체가 한개씩 var로 차례차례 들어가면서 loop문이 수행되는 구조이다.
- iterate로 사용할 수 있는 자료형은 루프를 돌릴수있는 자료형(배열, ArrayList등)
- 반복횟수를 명시적으로 주는것은 불가능하며, 1스탭씩 순차적으로 반복할떄만 사용가능하다는 제약이 있음.
for each문의구조
for(type var: iterate){ loop문 }
public class HelloWorld { public static void main(String[] args){ String[] numbers = {"one", "two", "three"}; for (String number : numbers) { System.out.println(number); } } }
import java.util.ArrayList; import java.util.Arrays; public class HelloWorld { public static void main(String[] args){ ArrayList<String> numbers = new ArrayList<>(Arrays.asList("one", "two", "three")); for (String number : numbers) { System.out.println(number); } } }
'java' 카테고리의 다른 글
[java] 메소드 (0) 2023.01.16 [java] 클래스 (0) 2023.01.16 3장 연습문제 (0) 2023.01.15 [java] 자료형과 형변환 (0) 2023.01.12 [java] 명명규칙 (0) 2023.01.12