일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바 오류
- 자바
- HTML역사
- 크롤링
- 웹 브라우저 전쟁
- 웹브라우저 수용도
- Doit입문SQL
- 데이터베이스
- DoitSQL
- 숫자형식오류
- 생성자
- 숫자 형식
- 자바 예외
- 배열 3요소
- 크롤링 오류
- 예외
- SQL
- 함수
- html
- 우아한테크
- SQL입문
- dbms
- DoitSQL입문
- 배열 예제
- 페이지분석
- 키-값 데이터베이스
- 예제
- 함수 선언
- DoIt
- R1C3
- Today
- Total
프로그래밍
[자바 기초] day02 : 제어문 본문
2023.05.03.수
제어문
프로그램의 수행 순서를 제어하거나, 문장들의 수행 횟수를 조정하는 문장
제어문을 적절하게 사용한다면 코드의 재사용성을 높일 수 있다
코드의 재사용성이 높아지면 자원을 아낄 수 있고 오류의 파급효과를 줄일 수 있다
1) 조건문
: 분기점
: 버튼식 수행
: 양자택일
: 선택지
if 문
if(조건){
문장
}
else if(조건){
문장
}
else{
문장
}
조건이 참일 경우 해당 문장을 실행 후 넘어간다
if문의 조건을 실행 후 끝나는 것이 아닌 else if문 또한 조건이 참일 경우 실행하므로
범위가 좁은 순서대로 쓰는 것이 좋다
int a =4;
//범위가 좁은것부터 넓은 순서대로
if(a%10 == 0) {
System.out.println("10의 배수입니다");
}
else if(a%2 == 0) {
System.out.println("짝수입니다");
}
else
System.out.println("홀수입니다");
}
switch ~ case 문
변수와 case 값이 일치하면 해당 문장을 실행한다
public static void main(String[] args) {
int month = 8;
String monthString = "";
switch (month) {
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
default: monthString = "Invalid month";
break;
}
System.out.println(monthString);
}
여기서 쓰는 break는 보조제어문으로 자신이 속한 반복문을 즉시 벗어난다(종료)
또 다른 예로 continue 가 있다
continue는 주로 if문과 함께 사용되어 특정 조건을 만족하는 경우에
continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다
if 문은 범위, switch ~ case 문은 가짓수가 정해져 있을때 유용하다
예를 들면, 0~100점까지의 성적을 특정 단위로 A, B, C, D, F 로 나타낸다고 할때 if 문으로는 5번이면 되지만
switch ~ case 문은 0 ~ 100점까지의 101가지의 case를 써야할 것이다.
2) 반복문
: 수행이 반복처리될때
: N번, N회
: A부터 B까지, 범위
: 계속, 무한하게
while
반복 수행의 횟수를 모를때 주로 쓰인다
ex) 무한, 영원, 계속, ~~할때까지
while(조건) {
문장
}
public static void main(String[] args) {
int a = 9;
int b = 10;
int i = a;
while(i<=b) {
System.out.println(i+" ");
i++;
}
/*
if(a>b) {//교환
int tmp;
tmp=a;
a=b;
b=tmp;
}
*/
}
for
반복 수행의 횟수를 알때 주로 쓴다
ex) N번, N회, 1~100까지(범위)
for(초기식;조건식;증감식){
문장
}
초기값을 정한뒤 조건식이 참이면 문장을 실행한다
한번의 반복이 될때마다 증감한다
int a = 1;
int b = 5;
for(int i=a; i<=b; i++) {
System.out.print(i+" ");
}
int sum = 0;
for(int i=0; i<=100; i++) {
sum+=i;
}
System.out.println(sum);
무한루프 문
while 문과 if 문을 적절하게 사용한다면 무한루프 문을 만들 수 있다
단, 무한루프는 종료조건이 반드시 필요하다
무한루프는 '자원'을 과다하게 사용할 수 있어 비용이 증가할 수 있는 위험이 있다
public static void main(String[] args) {
int a = 33;
int b = 29;
if(a>b) {//교환
int tmp;
tmp=a;
a=b;
b=tmp;
}
int num = a;
while(true) {
System.out.print(num+" ");
num++;
if(num>b) {
break;
}
}
}
깃허브
https://github.com/jihyean/Java/tree/main/day02/src
'자바 > 자바 기초' 카테고리의 다른 글
[자바 기초] day03 : 난수 생성하기(Random 클래스 활용) (0) | 2023.05.06 |
---|---|
[자바 기초] day03 : 배열(array) (0) | 2023.05.04 |
[자바 기초] day02 : 이중 반복문(예제 중심) (0) | 2023.05.03 |
[자바 기초] day01 : 연산자 (0) | 2023.05.03 |
[자바 기초] day01 : 패키지, 클래스, 함수, 변수 (0) | 2023.05.03 |