if(조건식) {
조건식의 결과가 '참'일 때 실행하고자 하는 문장;
}
public class Control1_1 {
public static void main(String[] args) {
char ch = 'b';
if (ch >= 'a' && ch <= 'z') {
System.out.println("해당 문자는 영문 소문자입니다.");
}
}
}
if 문 내에서 하나의 문장을 실행 할 때에는 { } 생략 가능
if (조건식) {
조건식의 결과가 '참'일 때 실행하고자 하는 문장;
} else {
조건식의 결과가 '거짓'일 때 실행하고자 하는 문장;
if (조건식1) {
조건식1의 결과가 '참'일 때 실행하고자 하는 문장;
} else if (조건식2) {
조건식 2의 결과가 '참'일 때 실행하고자 하는 문장;
} else {
조건식 1의 결과도 '거짓'이고, 조건식2 의 결과도 '거짓'일 때 실행하고자 하는 문장;
switch (조건식) {
case 값1:
조건식의 결과가 값1과 같을 경우 수행할 문장;
break;
case 값2:
조건식의 결과가 값2와 같을 경우 수행할 문장;
...
default:
조건식의 결가와 일치하는 case 문이 없을 때 수행할 문장;
}
public class switchCase {
public static void main(String[] args) {
// Switch Case
// 석차에 따른 장학금 지급
// 1등 : 전액 장하금
// 2등 : 반액 장학금
// 3등 : 반액 장학금
// 그 외 : 장학금 대상 아님
// If Else 문을 이용 (여러 조건 또는 범위에 해당하는 조건)
int ranking = 1; // 등수
if (ranking == 1) {
System.out.println("전액 장학금");
} else if (ranking == 2 || ranking == 3) {
System.out.println("반액 장학금");
} else {
System.out.println("장학금 대상 아님");
}
System.out.println("조회 완료 #1");
// Switch Case 문을 이용 (명확한 케이스가 있는 경우)
ranking = 1;
switch (ranking) {
case 1:
System.out.println("전액 장학금");
break;
case 2:
System.out.println("반액 장학금");
break;
case 3:
System.out.println("반액 장학금");
break;
default:
System.out.println("장학금 대상 아님");
}
System.out.println("조회 완료 #2");
// case 2 와 3 을 통합
ranking = 2;
switch (ranking) {
case 1:
System.out.println("전액 장학금");
break;
case 2:
case 3:
System.out.println("반액 장학금");
break;
default:
System.out.println("장학금 대상 아님");
}
System.out.println("조회 완료 #3");
}
}
for (초기화;조건식;증감식) { 조건식의 결과가 '참'인 동안 반복적으로 실행하고자 하는 문장; }실행순서
1. 초기화
2. 조건식
3. 조건식 이 '참'일 경우 문장 수행
4. 증감식
5. 조건식이 '거짓'이 될 때 까지 반복
public class For {
public static void main(String[] args) {
// 반복문 For
// 반복문 사용
for (int i = 0; i < 10; i++ ) {
System.out.println("어서오세요. gilgyu 입니다. " + i);
}
// 짝수만 출력 (fori 만 적고 엔터)
for (int i = 0; i < 10; i += 2) {
System.out.print(i); // 0, 2, 4, 6, 8
}
System.out.println();
// 홀수만 출력
for (int i = 1; i < 10; i += 2) {
System.out.print(i); // 1, 3, 5, 7, 9
}
System.out.println();
// 거꾸로 숫자
// 5, 4, 3, 2, 1
for (int i = 5; i > 0; i--) {
System.out.print(i); // 5, 4, 3, 2, 1
}
System.out.println();
// 1부터 10까지의 수들의 합
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
System.out.println("현재까지 총합은 " + sum +"입니다.");
}
System.out.println("1부터 10까지의 모든 수의 총합은 " + sum + "입니다.");
}
}
Math.random() -> 0.0 과 1.0 사이의 임의의 double 값을 변환합니다.
- 0.0 <= Math.random() < 1.0
public class Control4_1 {
public static void main(String[] args) {
// 괄호 { } 안의 내용을 20번 반복
// 1. 1 ~ 10 사이의 난수를 20개 출려가시오.
// 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
// 2. -5 ~ 5 사이의 난수를 20개 출력하시오.
// -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5
for (int i = 0; i < 20; i++) {
// 1번
// System.out.println(Math.random() * 10);
// System.out.println((int)(Math.random() * 10));
System.out.println((int)(Math.random() * 10) + 1);
// 2번
// System.out.println((int)(Math.random() * 11)); // 0 ~ 10
System.out.println((int)(Math.random() * 11) - 5); // - 5 ~ 5
}
}
}
while (조건식) { 조건식의 결과가 '참'인 동안 반복적으로 실행하고자 하는 문장; }실행 순서
1. 조건식
2. 조건식 이 '참'일 경우 문장수행
3. 조건식이 '거짓'이 될 때 까지 반복
public class Control5_1 {
public static void main(String[] args) {
int i = 10;
while (i-- != 0) {
System.out.println(i); // 무한루프에 빠진다
}
while (i != 0) {
i--;
System.out.println(i);
}
}
}
do { 조건식의 결과가 '참'인 동안 반복적으로 실행하고자 하는 문장; } while (조건식);실행 순서
1. 처음 한 번은 무조건 실행
2. 조건식
3. 조건식이 '참'일 경우 문장 수행
4. 조건식이 '거짓'이 될 때 까지 반복
public class DoWhile {
public static void main(String[] args) {
// 반복문 While
int distance = 25; // 전체 거리 25m
int move = 0; // 현재 이동 거리 0m
int height = 2; // 키 2m
while (move + height < distance) {
System.out.println("발차기를 계속 합니다.");
System.out.println("현재 이동 거리 : " + move);
move += 3; // 3m 이동
}
System.out.println("도착했습니다.");
// Do While 반복문
do {
System.out.println("발차기를 계속 합니다.");
System.out.println("현재 이동 거리 " + move);
move += 3;
} while (move + height < distance);
System.out.println("도착했습니다.");
}
}
// 조건문이 false 일때 while 반복문일 경우에는 반복문 안의 명령은 실행하지 않고 바로 나가지만 do while 경우 한번은 실행하고 나온다.
자신이 포함된 하나의 반복문을 벗어납니다.
public class Control6_1 {
public static void main(String[] args) {
int sum = 0;
int i = 0;
while (true) {
if (sum > 100)
break;
++i;
sum += i;
}
System.out.println("i = " + i); // i = 14
System.out.println("sum = " + sum); // sum = 105
}
}
자신이 포함된 반복문의 끝으로 이동
- 그리고 다음 반복으로 넘어갑니다.
- 전체 반복 중에서 특정 조건시 반복을 건너뛸 때 유용합니다.
public class Control6_2 {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
// 3의 배수는 건너뜀 : 3, 6, 9
if (i % 3 == 0)
continue;
System.out.println("i = " + i);
}
}
}
반복문에 이름을 붙여서 하나 이상의 반복문을 벗어납니다.
public class Control6_3 {
public static void main(String[] args) {
allLoop :
for (int i = 2; i < 10; i++) {
for (int j = 1; j < 10; j++) {
if (i == 5) {
break allLoop;
}
System.out.println(i + "*" + j + "=" + (i * j));
}
}
}
}
오늘은 조건문과 반복문을 공부하였다. 오늘 공부한 내용도 전부 이해하지는 못하였다. 몇일 째 그냥 교재 보고 따라서 하는 거 밖에 없는데 몇 달뒤에는 얼마나 바뀔까 하는 걱정도 살짝 들기도 한다. 이렇게 공부하는게 맞는거겠지?...ㅎ