코딩공부 20일차-2: 프로그래머스 자바 입문 - 3. 제어문
#비전공자개발 공부 20일차
프로그래머스 자바 입문 강의를 듣는 중이다
https://school.programmers.co.kr/learn/courses/5
자바 입문
자바 입문 가장 널리 쓰이는 프로그래밍 언어 Java로 프로그래밍의 기초를 다져보세요. 이 강의의 내용을 책으로 만나고 싶으시면 여기를 눌러 책 정보를 확인하세요. 강의를 다 들었는데, 지금
school.programmers.co.kr
파트3 제어문:
if문
간단한 if문 안에서는 그 조건이 true일 때만 가동된다
예제에서 x와 y의 값이 같기 때문에 x < y는 false다
if 후 {}로 묶으면 그 안에 있는 모든 명령이 if 조건에 종속되지만
아래처럼 {}로 묶지 않으면 그 밑의 한 줄만 영향을 받게 된다
때문에 마지막줄의 "test2"는 if 조건과 상관없이 그냥 출력한다
if / else if / else 로 다양한 조건을 줄 수도 있다
else if의 개수엔 제약이 없지만 너무 많이 사용하는 것은 좋지 않다
파트3 제어문:
논리연산자
논리연산자의 종류는 다음과 같다
&& 둘 다 참일 때만 true
|| 둘 중 하나만 참이면 true
! 해당하는 피연산자가 false면 true(반대)
^ 두 값이 다르면 true
조건문과 논리연산자를 사용한 예시
실습에서는
① 특정 나이 이하이거나 이상일 때 (청소년, 고령자 할인처럼) 할인을 적용하거나 하지 않는다
② 20대에 해당하는지 >= 20, < 30 으로 확인한다
좋은 예시 같다
파트3 제어문:
삼항연산자
이 부분은 프로그래머스에서 요약을 잘해주었다
삼항연산자는 세 항을 쓰는 것인데, if문과 거의 비슷하다고 볼 수 있다
실습에서는 hour >= 로 두어
오전인지 오후인지 출력하는 코드를 만들었다
자바에서 시간을 불러오는 게 1줄, 응용이 5줄인 듯하다
파트3 제어문:
switch문
switch문의 키워드는
switch, case, default, break
키워드는 다음과 같이 쓰인다
case는 여러 번 쓸 수 있고 if, else if의 기능과 같다
break가 없으면 switch문은 적힌 모든 값을 출력하므로 멈춰주어야 한다
default는 if문의 else와 같다
실습
역시나 import로 달력을 들여오는 것 같다
case에는 값이 하나만 들어가는 건지 case 3: case 4: case 5:를 한 줄에 모두 써야하는 것이 불편했다
16. 조건이 여러 개 일 때 간단히 표현되는 switch-case 문
if - else if - else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현비교 조건이 특정 값이나 문자열인 경우 사용break 문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함자
velog.io
검색해서 찾아보니 case n, m, ... 하고 -> 붙이면 case를 굳이 여러 번 안써도 되는 것 같기도 해서 해봤는데
일단 프로그래머스 실습에선 오류라고 뜨긴 한다 14부터 적용되어서 그런 건지 yield를 안 써서 그런 건지?
파트3 제어문:
while문
자바에 있는 반복문의 종류는
while, do while, for
while문 뒤에 조건을 주고
출력할 값
멈추기 위한 조건 등을 주면 된다
위의 예시에서 i++가 없었다면 i는 계속 0을 출력하는 무한루프가 벌어진다
두 번째 예제에서 짝수는 2로 나누었을 때 나머지 값이 0이면 된다는.. 컴활에서 자주 사용한 식이 나왔다
※실습하다가 발견한 주의사항..※
while문{}로 묶기
;로 끝내기
파트3 제어문:
do while문
다른 언어에선 배운 기억이 없는 do while
만족되지 않으면 실행되지 않는 while문과 달리
do while은 최소 한 번은 무조건 실행된다
탭이었던 아톰과 달리 이클립스에서 컨트롤 + 스페이스바 누르면 자동으로 불러지는 명령들이 있다
do 아래 있는 건 무조건 한 번 출력되고
이후 조건에 따라 while문이 실행된다
위에선 Scanner 클래스와 system.in을 이용해 키보드가 입력하는 값을 불러온다
따라서 이 예제에선 키보드로 1, 2, 3... 여러 개를 쳐보다가
while 조건에서, 키보드 입력값이 10이 아닐 경우 위를 계속 반복하기 때문에
10을 입력하면 반복문 종료!가 출력된다
파트3 제어문:
for문
for문에선 한 줄로 작성할 수 있다
위의 예시에서, for문에 if문을 추가해 짝수가 아니라면 continue;
즉, 아래 total 식으로 가지 않고 다시 위로 올라간다
때문에 짝수들끼리의 합만 출력할 수 있다
예시처럼 break;를 사용해 i가 50이 되면 아예 멈추게 할 수도 있다
continue; break;는 for문 뿐 아니라 while, do while에서도 사용 가능하다
실습에서 자꾸 오류 뜨길래
{} 위치 바꿔보고 다 해봤는데... 계속 보니까
출력할 때 system이라고 소문자로 시작해서 그런 거였다..
이렇게 사소한 걸로도 오류가 나니 힘든 거구나 싶다
목표한 강의량은 도달했다
자바스크립트에서 배운 구문들이 거의 똑같아서 복습하는 마음가짐으로 했다
언어가 달라져도 이렇게 비슷하면 다른 언어들도 배우기엔 괜찮겠는걸..?
언어를 응용해서 적용시키는 게 개발자가 해야 할 일이겠지만..^^
일단은 입문이니까 같은 구문도 다양한 설명으로 접하며 완전히 이해하는 과정이라고 생각하는 중이다