for문 기본 구조
for (초기치; 조건문; 증가치; {
수행문...}
}
for문 예시
public class zzzz {
public static void main(String[] args) {
for (int i = 0; i < 6; i++) { //초기치 값은 0 이고 i 가 6보다 작을 떄까지 작동하고 i는 계속 증가해라
System.out.println(i);
}
}
}
//0
//1
//2
//3
//4
//5
for문 예제
5명 중 택시비가 있는 사람은 택시타고 없으면 걸어가라 *택시 비용은 최소 2,500원
public class zzzz {
public static void main(String[] args) {
int[] money = {1000, 1500, 2000, 2500, 3000}; //money를 가지고 있는 5명
for (int i = 0; i < money.length; i++) { //초기치 i = 0, i가 money의 배열 수 보다 작을 떄 까지 동작, i는 증가
if (money[i] < 2500) { //money[i], money 배열 안에 있는 값이 2500 보다 작으면
System.out.println((i+1)+"번은 걸어가"); //i+1 i가 0으로 시작되니 1을 더해 1번 부터 출력되게 한다.
} else {
System.out.println((i+1)+"번은 택시타"); //2500 보다 크면 택시타
}
}
}
}
//1번은 걸어가
//2번은 걸어가
//3번은 걸어가
//4번은 택시타
//5번은 택시타
continue; - 다시 for문으로 돌아가
public class zzzz {
public static void main(String[] args) {
int[] money = {1000, 1500, 2000, 2500, 3000};
for (int i = 0; i < money.length; i++) {
if (money[i] < 2500) {
continue; //money[i] 값이 2500보다 참이면 다시 for문으로 돌아가고 거짓이면 다음 문장 실행
}
System.out.println((i+1)+"번은 택시 타고 가세요");
}
}
}
//4번은 택시 타고 가세요
//5번은 택시 타고 가세요
이중 for 문
구구단을 예시로 보자
public class zzzz {
public static void main(String[] args) {
for (int i = 2; i < 10; i++) { //i 값을 2로 준다 2댠, 3단 구구단 0x0 중 앞 쪽에 해당
for (int n = 1; n < 10; n++) { //for 문 하나를 더 열어 뒤 쪽 값을 넣어 준다 0x0 중 뒤족에 해당
System.out.print(i * n + " "); //print를 사용하면 줄 바꿈 없이 출력하게 됨, " " 공백을 넣어 보기 좋게 가공
} //닫아주고
System.out.println(""); //println 'ln' 줄바꿈이 포함된 출력문을 넣어 보기 좋게 단을 나눠줌
}
}
}
//2 4 6 8 10 12 14 16 18
//3 6 9 12 15 18 21 24 27
//4 8 12 16 20 24 28 32 36
//.......
1번 for문 = i
2번 for문 = n
으로 보고
i가 n을 만나면 i는 n이 다 수행될 때 까지 i 는 고정이 된다
2(i) x 1(n), 2(i) x 2(n), 2(i) x 3(n) .....
n이 조건문 까지 다 수행되면 i 가 행동한다
3(i) x 1(n), 3(i) x 2(n), 3(i) x 3(n) .....
정리하면 i는 n값이 다 나올 때까지 고정되고 다 되면 다시 i로 돌아가 반복 수행
출처: https://yoonhihi.tistory.com/m/35
for each문
public class zzzz {
public static void main(String[] args) {
String[] numbers = {"one", "two", "three"};
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
}
}
위 예제를 for each문을 통해 다음 처럼 변경 가능
public class zzzz {
public static void main(String[] args) {
String[] numbers = {"one", "two", "three"};
for(String number: numbers) {
System.out.println(number);
}
}
}
for each 기본구조
for (type data: iterate) {
명령문
}
iterate는 객체이고
for each는 객체에 크기만큼 반복 횟수를 정합니다.
ArrayList로 구현한 예제
import java.util.ArrayList;
import java.util.Arrays;
public class zzzz {
public static void main(String[] args) {
ArrayList<String> numbers = new ArrayList<>(Arrays.asList("one", "two", "three"));
for (String number : numbers) {
System.out.println(number);
}
}
}
여기서 반복되는 iterate는 객체입니다.
for each는 객체에 크기만큼 반복 횟수를 정합니다.
반응형
'JAVA' 카테고리의 다른 글
클래스, 메소드, for문, 스캐너를 이용한 구구단 출력 (0) | 2022.11.04 |
---|---|
Scanner - 입력 (0) | 2022.10.28 |
while (반복문) (0) | 2022.10.13 |
switch/case (0) | 2022.10.13 |
if (참, 거짓) (0) | 2022.10.13 |