들어가기 전
해당 내용은 자바의 신 3판을 읽고 내용 정리 및 공부한 내용을 정리한 글입니다!
자바의 신 Vol 1: 기초 문법편 | 이상민 - 교보문고
자바의 신 Vol 1: 기초 문법편 | 현장 전문가가 쓴 자바 기초 입문서다. NAVER, NHN, SKPlanet 등에서 성능 전문가의 풍부한 경험을 바탕으로 자바를 실무에 맞게 제대로 쓸 줄 알게 해주는 입문서를 목
product.kyobobook.co.kr
5장. 제가 조건을 좀 따져요
1. 조건문
(1) IF
if (boolean 값) 처리문장1;
else if (boolean 값) 처리문장2;
else 처리문장3;
- 소괄호 안에는 boolean 형태의 결과가 있어야한다.
- 소괄호 안의 결과는 true일 때 처리하는 처리문장을 적고 세미콜론으로 끝낸다.
- 처리문장 없이 세미콜론막 적어도 오류 없이 동작한다.
- if 문이 false 일 경우 else if를 검사하고 else if가 false일 경우 else를 실행한다.
만약 if나 else if에서 true이다면 그 후 검사는 하지 않고 종료 된다. - 코드의 가독성을 위해서 소괄호로 묶어주는 것이 좋다
🔥 if - else 는 보통 두가지 이상의 값을 비교하거나 단순히 true, false 여부만 확인하고 할때 많이 사용한다.
하지만 학점이나 이자 계산 같이 하나의 값이 여러 범위에 걸쳐서 비교할때는 switch 구문을 사용하는것이 좋다.
(1) Switch
switch(비교대상변수) {
case 점검값1"
처리문장1;
...
break;
case 점검값2"
처리문장2;
...
break;
...
default:
기본처리문장;
...
break;
}
- switch(비교대상변수) 는 생략할 수 없다.
- 중괄호 안에는 case 점검값: 이 오거나 default: 이 나와야한다. case 문장이 무조건 있어야한다.
case를 마무리 하고 싶다면 break; 추가 해주면 된다. - default는 앞에 있는 조건에 맞지 않는 경우에 수행된다.
case문에서 한번이라도 걸렸으면 default는 실행되지 않고 모든 case의 조건에 맞지 않는 경우에만 실행된다. - switch 문장에서는 그 한번 조건을 만족시켜 줬다면 그 다음 break가 올 때 까지 어떤 case가 오든지 상관 안하고 계속 통과하면서 실행하라는 것들을 실행한다.
2. 반복문
(1) while
while(boolean조건) {
처리문장;
...
}
- boolean 조건 값이 true 값 일 경우에만 중괄호 안에 있는 내용들이 수행된다 만약 조건값이 false 이라면 아예 while 문이 수행되지 않는다.
- while 은 중괄호가 끝난 이후에 다시 위로 올라가 boolean 조건을 확인해보고 이 값이 true 이면 중괄호 안의 내용이 계속 살행된다.
- continue 뒤의 있는 문자을 건너 뛰고, boolean 조건 점검 부분으로 다시 가라는 의미이다!
만약 이때 위치를 잘못 사용한다면 무한루프에 빠질 수 있으니 조심해야한다.
⚠ 무한루프란 조건이 false인 시점이 오지 않아서 계속 조건을 검사하는 경우를 말한다.
서비스가 장애로 연결 될 수 있기 때문에 조심해야한다.
(2) do-while
do {
처리문장;
...
} while(boolean조건);
- 적어도 한 번은 반복문장이 실행된다.
while문은 조건에 한 번도 맞지 않으면 한 번도 실행되지 않지만,
do-while 문은 “한 번은 꼭 실행시키고 싶을 때 사용”한다. - 이때 while의 소괄호 뒤에 세미콜론은 반드시 입력 해줘야한다.
(3) for
for(초기화; 종료조건; 조건 값 증가) {
반복문장
}
- 초기화라고 되어 있는 부분에서는 변수를 초기화 한다.
- 종료조건 구문이 수행된다. 이 종료 조건 내의 결과는 if 문과 동일하게 boolean 타입만 위치할 수 있다.
true 이면 for 루프 내의 반복문장이 수행되고, 그렇지 않으면 for 루프는 종료된다. - 중괄호 내의 작업이 종료되면 조건 값 증가가 수행된다. 보통은 초기화에서 선언한 변수를 여기서 증가시킨다.
- 조건 결과가 false 일 경우에는 for루프가 끝나고 다음 문장이 수행된다.
(4) label
두개 이상의 for나 while 루프가 있을 때 사용된다. 많이 사용하지는 않고
두개 이상의 반복문이 사용했을때 label을 사용하게 되는데 아래는 2중 루프이다.
for(int i=0; i<10; i++) {
for (int j=0; j<10; j++ {
처리문장;
}
}
만약 여기서 label을 사용하려면 아래와 같이 코드를 작성하게 되면 label의 무한 루프 내의 문장은 전혀 수행되지 않는다.
startLabel:
for(int i=0; i<10; i++) {
for (int j=0; j<10; j++ {
if (j==4) continue startLabel;
처리문장;
}
}
정리해보자.
책에 있는 질문에 대한 나의 정답을 적은 것이다.
'ON > 개발지식' 카테고리의 다른 글
[책리뷰] 자바의 신 3판 - 8장. 참조 자료형에 대해서 더 자세히 알아봅시다. (0) | 2023.12.11 |
---|---|
[책리뷰] 자바의 신 3판 - 7장. 여러 데이터를 하나에 넣을 수는 없을까요? (0) | 2023.12.08 |
[책리뷰] 자바의 신 3판 - 5장.계산을 하고 싶어요 (1) | 2023.12.05 |
[책리뷰] 자바의 신 3판 - 4장.정보를 어디에 넣고 싶은데 (0) | 2023.12.04 |
[책리뷰] 자바의 신 3판 - 3장.자바를 제대로 알려면 객체가 무엇인지를 알아야 해요 (1) | 2023.12.04 |
들어가기 전
해당 내용은 자바의 신 3판을 읽고 내용 정리 및 공부한 내용을 정리한 글입니다!
자바의 신 Vol 1: 기초 문법편 | 이상민 - 교보문고
자바의 신 Vol 1: 기초 문법편 | 현장 전문가가 쓴 자바 기초 입문서다. NAVER, NHN, SKPlanet 등에서 성능 전문가의 풍부한 경험을 바탕으로 자바를 실무에 맞게 제대로 쓸 줄 알게 해주는 입문서를 목
product.kyobobook.co.kr
5장. 제가 조건을 좀 따져요
1. 조건문
(1) IF
if (boolean 값) 처리문장1;
else if (boolean 값) 처리문장2;
else 처리문장3;
- 소괄호 안에는 boolean 형태의 결과가 있어야한다.
- 소괄호 안의 결과는 true일 때 처리하는 처리문장을 적고 세미콜론으로 끝낸다.
- 처리문장 없이 세미콜론막 적어도 오류 없이 동작한다.
- if 문이 false 일 경우 else if를 검사하고 else if가 false일 경우 else를 실행한다.
만약 if나 else if에서 true이다면 그 후 검사는 하지 않고 종료 된다. - 코드의 가독성을 위해서 소괄호로 묶어주는 것이 좋다
🔥 if - else 는 보통 두가지 이상의 값을 비교하거나 단순히 true, false 여부만 확인하고 할때 많이 사용한다.
하지만 학점이나 이자 계산 같이 하나의 값이 여러 범위에 걸쳐서 비교할때는 switch 구문을 사용하는것이 좋다.
(1) Switch
switch(비교대상변수) {
case 점검값1"
처리문장1;
...
break;
case 점검값2"
처리문장2;
...
break;
...
default:
기본처리문장;
...
break;
}
- switch(비교대상변수) 는 생략할 수 없다.
- 중괄호 안에는 case 점검값: 이 오거나 default: 이 나와야한다. case 문장이 무조건 있어야한다.
case를 마무리 하고 싶다면 break; 추가 해주면 된다. - default는 앞에 있는 조건에 맞지 않는 경우에 수행된다.
case문에서 한번이라도 걸렸으면 default는 실행되지 않고 모든 case의 조건에 맞지 않는 경우에만 실행된다. - switch 문장에서는 그 한번 조건을 만족시켜 줬다면 그 다음 break가 올 때 까지 어떤 case가 오든지 상관 안하고 계속 통과하면서 실행하라는 것들을 실행한다.
2. 반복문
(1) while
while(boolean조건) {
처리문장;
...
}
- boolean 조건 값이 true 값 일 경우에만 중괄호 안에 있는 내용들이 수행된다 만약 조건값이 false 이라면 아예 while 문이 수행되지 않는다.
- while 은 중괄호가 끝난 이후에 다시 위로 올라가 boolean 조건을 확인해보고 이 값이 true 이면 중괄호 안의 내용이 계속 살행된다.
- continue 뒤의 있는 문자을 건너 뛰고, boolean 조건 점검 부분으로 다시 가라는 의미이다!
만약 이때 위치를 잘못 사용한다면 무한루프에 빠질 수 있으니 조심해야한다.
⚠ 무한루프란 조건이 false인 시점이 오지 않아서 계속 조건을 검사하는 경우를 말한다.
서비스가 장애로 연결 될 수 있기 때문에 조심해야한다.
(2) do-while
do {
처리문장;
...
} while(boolean조건);
- 적어도 한 번은 반복문장이 실행된다.
while문은 조건에 한 번도 맞지 않으면 한 번도 실행되지 않지만,
do-while 문은 “한 번은 꼭 실행시키고 싶을 때 사용”한다. - 이때 while의 소괄호 뒤에 세미콜론은 반드시 입력 해줘야한다.
(3) for
for(초기화; 종료조건; 조건 값 증가) {
반복문장
}
- 초기화라고 되어 있는 부분에서는 변수를 초기화 한다.
- 종료조건 구문이 수행된다. 이 종료 조건 내의 결과는 if 문과 동일하게 boolean 타입만 위치할 수 있다.
true 이면 for 루프 내의 반복문장이 수행되고, 그렇지 않으면 for 루프는 종료된다. - 중괄호 내의 작업이 종료되면 조건 값 증가가 수행된다. 보통은 초기화에서 선언한 변수를 여기서 증가시킨다.
- 조건 결과가 false 일 경우에는 for루프가 끝나고 다음 문장이 수행된다.
(4) label
두개 이상의 for나 while 루프가 있을 때 사용된다. 많이 사용하지는 않고
두개 이상의 반복문이 사용했을때 label을 사용하게 되는데 아래는 2중 루프이다.
for(int i=0; i<10; i++) {
for (int j=0; j<10; j++ {
처리문장;
}
}
만약 여기서 label을 사용하려면 아래와 같이 코드를 작성하게 되면 label의 무한 루프 내의 문장은 전혀 수행되지 않는다.
startLabel:
for(int i=0; i<10; i++) {
for (int j=0; j<10; j++ {
if (j==4) continue startLabel;
처리문장;
}
}
정리해보자.
책에 있는 질문에 대한 나의 정답을 적은 것이다.
'ON > 개발지식' 카테고리의 다른 글
[책리뷰] 자바의 신 3판 - 8장. 참조 자료형에 대해서 더 자세히 알아봅시다. (0) | 2023.12.11 |
---|---|
[책리뷰] 자바의 신 3판 - 7장. 여러 데이터를 하나에 넣을 수는 없을까요? (0) | 2023.12.08 |
[책리뷰] 자바의 신 3판 - 5장.계산을 하고 싶어요 (1) | 2023.12.05 |
[책리뷰] 자바의 신 3판 - 4장.정보를 어디에 넣고 싶은데 (0) | 2023.12.04 |
[책리뷰] 자바의 신 3판 - 3장.자바를 제대로 알려면 객체가 무엇인지를 알아야 해요 (1) | 2023.12.04 |