+들어가며
이번 시간이 개인적으론 너무 고역이었다. 수업을 듣는날 불면증으로 겨우 3시간만 자고 수업을 들어서일까? 내용이 하나도 머리에 들어오지 않았고 무언가를 해서 제출해야한다는 생각만이 몸을 지배해 내 심장의 루틴을 조금 빠르게 움직이도록 바꿔놓았다. 끝나고 다시보니 어느정도 익숙했던 것들이라 겨우 이해는 됐지만 역시 잘 정리해둬야 할 내용들 뿐이라 빠르게 재활운동을 해야할 것 같다.
+비교문
기본적으로 if if-else switch문이 있는데 if와 if-else문의 차이는 if문은 조건식이 참일 경우 실행하는 문장 뿐이고 그 조건식이 거짓일 땐 실행하지 않고 다음 코드로 가는 반면에 if-else문은 거짓일 경우에도 실행할 문장이 있다는 정도라 기본적인 if문을 구성하는 법을 익힌다면 사용하기 쉬워보인다. if문은 기본구조가 if (조건식) {실행 문장} 의 형태를 가지고 있고 실행문장이 단일 문장이면 중괄호는 생략가능하다. if-else의 경우 위의 형태에 else만 추가된 것이라 어떤 코드가 어떤 상황에서 사용되는지 중괄호의 범위를 헷갈리지 않는다면 수월하게 쓸 수 있을 것이다. if-else의 응용으로 보다 많은 조건식으로 상황을 세세하게 쪼갤경우 다중 if-else문을 사용할 수 있는데 이 역시도 else if 라는 if문절이 추가된 것이라 크게 다른 점이 없다. 다중 if-else만으로는 효율적으로 대처 할 수 없는 아주 많은 상황에 대응해야할 프로그램의 경우 switch문을 사용하는데 switch (식) { case 값1 실행문장 break case 값2 실행문장 break .....default 실행문장} 의 구조로 되어있으며 switch의 식과 case의 값을 계속 비교하며 일치할 경우 그 case에 들어있는 문장을 실행하는 형식으로 작동한다. 이때 비교값과 일치하는 값이 없으면 default문을 실행하는데 이건 생략이 가능하다.
switch문을 다루면서 break문은 중요한데 이 문구가 없으면 다음 case문으로 실행하기 때문이다. 의도적으로 빼는 경우를 제외하고 해당 case를 실행한뒤 switch문을 종료하고 싶다면 항상 체크해야한다.
+반복문
반복은 크게 두가지로 횟수로 제어하는 for문 조건으로 제어하는 while문과 do while문이 있다. 기본적으로 c와 같은 구조이며 for문은 for (초기문(1); 조건식(2); 반복 후 작업(4)){실행 문장(3)}의 형태로 되어 있다. 이때 초기문 속 카운트 변수를 반복문 이후에도 사용하려면 미리 정의 해야하는데 반복문 속 카운트 변수는 그 for 문 안에서만 존재하는 지역변수 이기 때문이다.초기문과 반복후작업은 세미콜론으로 분리하며 반복 조건이 true이거나 비어 있는 경우 무한 반복으로 실행된다. while문은 조건으로 반복하는데 조건식엔 논리 관계연산자가 사용된다. 이때 c와 차이점이라면 java는 불리언 값이 1과0이 아닌 true,false로 되어있어 while의 조건식에도 1과0대신 true false를 사용한다. while의 구조는 while (조건식) {실행문장}의 구조이며 반복 조건이 없으면 컴파일 오류, 처음부터 반복 조건을 통과하지 못하면 아예 실행하지 않는다. do-while문은 while과 달리 무조건 최소 한번은 작업문을 실행하며 이 역시 조건이 없으면 컴파일 오류가 발생한다. 이러한 반복문은 중첩하여 사용가능하며 보통 2중 또는 3중 반복을 사용한다. 반복문 속 실행코드에 continue와 break문을 사용할 수 있는데 continue의 경우 반복문을 빠져나가지 않고 반복문의 처음으로 돌아가 다음 반복으로 진행되고 break의 경우 비교문에서의 작동처럼 반복문을 빠져나가는 역할을 한다.
+응용실습






이건 여러가지 도형을 그려주는 프로그램으로 우선 사용자에게 메뉴를 보여주고 이후 사용자가 선택한 메뉴에 따른 도형을 출력해주는 형태로 되어있다. 각 도형은 그 도형을 그릴수 있는 중첩 반복문으로 구성되어 있으며 이것들을 전부 다른 메소드로 만들면서 메인에선 그 함수를 호출하는 방식으로 작성했는데 만약 내가 수정한다면 저 if부분을 switch로 바꿔보는 것도 좋을 것 같다.
'JAVA' 카테고리의 다른 글
| 6주차 객체 지향 프로그래밍 체험 (0) | 2026.04.14 |
|---|---|
| 5주차 나의 위치를 체감하기 (0) | 2026.04.05 |
| 4주차 배열 (0) | 2026.03.29 |
| 2주차 변수와 자료형 (0) | 2026.03.15 |