배울 내용
1. 제어문 - 반복문
2. 반복문 연습문제 풀이
배운 내용
for(int i=0, j=100; i<=50 && j>=50; i++, j--) {
실행문;
실행문;
}
자바에서는 향상된 for문을 제공한다.ㅣ
향상된 for문은 배열 및 컬렉션 항목의 개수만큼 반복하고 자동으로 for문을 빠져나간다.
public class EnhancedForLoop {
public static void main(String[] args) throws Exception {
String[] menu = {"마라탕", "떡볶이", "꿔바로우"};
for(String list : menu) {
System.out.println(list + "하나 주세요.");
}
}
}
/*
마라탕 하나 주세요.
떡볶이 하나 주세요.
꿔바로우 하나 주세요.
*/
While문 과 do-while문의 차이는
while문은 시작할 때부터 조건식을 검사해서 블록 내부를 실행할지 결정하지만
do-while문은 블록 내부의 실행문을 우선 실행시키고 실행 결과에 따라 반복 실행을 계속할지 결정한다.
피드백
어제 다 풀지 못한 제어문 문제를 수업시간 이후에 풀었다.
얼레벌레해서 정답은 맞혔지만, 레퍼런스 코드를 보니 '아.. 이렇게 간단하게 짤 수 있었구나..' 하게 되었다.
그 중 예시는
피타고라스 정리가 맞는지 판별하는 문제였는데 (저작권에 위반될까바 다 첨부하진 못하겠다.)
if ( side1 > side2 && side1 > side3){
int a = (side2 * side2) + (side3 * side3);
int b = (side1 *side1);
return a==b;
}
if ( side2 > side1 && side2 > side3){
int c = ( side1 * side1) + (side3 *side3);
int d = (side2 * side2);
return c==d;
}
if (side3> side1 && side3 > side2){
int e = (side1 * side1) + (side2 * side2);
int f = (side3 * side3);
return e==f;
}
return false;
이런식으로 하나하나 경우 따져서 곱하고 난리 부르스를 쳤는데, 레퍼런스는
제곱한것들을 각각 변수에 넣어놓고 그걸 꺼내서 OR을 사용해 IF문 조건으로 사용했다.
좀 더 효율성있게 코드를 작성할 수 있도록 더 많은 레퍼런스를 보고, 한번 더 생각해봐야겠다...