공통 특징:
초기화, 조건식, 증감식 그리고 수행할 블럭{} 또는 문장으로 구성
문법
for (초기화; 조건식; 증감식) {
// 조건식이 true일 때 수행될 문장들을 적는다.
}
1부터 사용자가 입력한 값까지의 합을 구하는 메서드
public int sumOneToArg(int end) {
int sum = 0;
for (int i = 1; i <= end; i++) {
sum += i;
}
return sum;
}
// end = 10 일 경우 출력 결과
55
55
ASCII 코드 문자 출력
public void ascii(char start, char end) {
for (char i = start; i <= end; i++) {
System.out.printf("%c \t", i);
}
}
A B C D E
조건식과 수행할 블럭{} 또는 문장으로 구성(초기화를 미리 해야한다. 전역변수로)
문법
while (조건식){
// 조건식의 연산결과가 true일 때 수행될 문장들을 적는다.
}
While을 사용해 숫자 출력
public void printNumbers(int start, int end) {
while (start <= end) {
System.out.println(start);
start++;
}
}
1
2
3
4
5
블럭{}을 먼저 수행한 다음에 조건식을 계산한다.
블럭{}이 최소한 1번 이상 수행될 것을 보장한다.
즉, 조건식이 true일 경우 do문장 실행하고 false일 경우 종료한다.
Do-While 최소 한 번 실행
public void executeAtLeastOnce() {
int count = 0;
do {
System.out.println("This will run at least once.");
count++;
} while (count < 1);
}
This will run at least once.
조건식 결과가 true일 경우 해당 블록 실행.
형태: if, if-else, if-else if.
if문 안에 또 다른 if문을 중첩해서 넣을 수 있다.
큰 수 반환 메서드
// a가 b보다 크다면 a를 반환, 그렇지 않다면 b를 반환.
public int checkMaxNumber(int a, int b) {
if (a > b) {
return a; // a가 더 크다면 a 반환
} else {
return b; // 그렇지 않다면 b 반환
}
}
5
조건식 결과에 따라 특정 case 실행.
break 문으로 종료를 명시해야함!!
default는 어떤 case도 해당하지 않을 경우 실행.
switch문 안에 또 다른 switch문을 중첩해서 넣을 수 있다.
사칙연산 계산기
public double calculate(int x, char operator, int y) {
double result = 0.0;
switch (operator) {
case '+':
result = x + y;
break;
case '-':
result = x - y;
break;
case '*':
result = x * y;
break;
case '/':
result = (y != 0) ? (x / (double) y) : 0.0;
break;
default:
System.out.println("사칙연산만 가능합니다.");
}
return result;
}
8
equals() (동등성 비교)비교 대상: 객체의 내용(값)을 비교.
동작 방식: 두 객체가 논리적으로 동일한 값을 가지고 있는지 확인.
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
System.out.println(str1.equals(str2)); // true (값이 같음)
System.out.println(str1.equals(str3)); // true (값이 같음)
== (동일성 비교)비교 대상: 객체의 참조(Reference)를 비교
동작 방식: 두 객체가 같은 메모리 주소를 가리키고 있는지를 확인.
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
System.out.println(str1 == str2); // true (리터럴 풀에서 같은 객체를 참조)
System.out.println(str1 == str3); // false (str3은 새로운 객체 생성)