for 문 Do it! 알고리즘 입문: 자바 편 (15)[책리뷰 & Book review]
Java에서 for문을 간단하게 사용하는 방법은 크게 두 가지가 있습니다:
일반적인 for문: 초기값, 조건식, 증감식을 사용하여 반복문을 작성합니다 1.
예를 들어, 1부터 10까지 출력하는 코드는 다음과 같습니다:
Java
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.
개선된 for문 (for-each문): 배열이나 컬렉션의 모든 요소를 순회하는 데 사용됩니다 2. 예를 들어, 배열의 모든 요소를 출력하는 코드는 다음과 같습니다:
Java
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
이 두 가지 방법은 Java에서 for문을 간단하게 사용하는 기본적인 방법입니다.
어떤 방법을 사용할지는 코드의 요구 사항과 개인의 코딩 스타일에 따라 달라집니다
자바 for문은 무엇인가?
Java에서는 주로 세 가지 유형의 for문을 사용합니다: 기본 for문,
Enhanced for문, 그리고 Java 8 이후 도입된 Stream API를 이용한 for문입니다.
기본 for문:
이는 가장 일반적인 for문 형태입니다.
java
for (초기식; 조건식; 증감식) {
// 반복해서 실행할 코드
}
예를 들면,
java
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
위 코드는 0부터 4까지의 숫자를 출력합니다.
Enhanced for문 (for-each문):
이 형태의 for문은 주로 배열이나 컬렉션을 순회할 때 사용됩니다.
java
for (타입 변수명 : 배열이나 컬렉션) {
// 반복해서 실행할 코드
}
예를 들면,
java
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
위 코드는 numbers 배열의 모든 요소를 출력합니다.
Stream API를 이용한 for문:
Java 8부터 Stream API가 도입되면서, 이를 활용한 반복문 작성이 가능해졌습니다.
java
배열이나 컬렉션.stream().forEach(변수 -> {
// 반복해서 실행할 코드
});
예를 들면,
java
List<String> names = Arrays.asList("John", "Jane", "Tom", "Emily");
names.stream().forEach(name -> {
System.out.println(name);
});
위 코드는 names 리스트의 모든 요소를 출력합니다.
각각의 for문은 사용하는 상황과 필요에 따라 선택해서 사용하면 됩니다.
3
향상된 for문에 대해서
향상된 for문(Enhanced for loop), 또는 for-each 문이라고도 불리는 이 구문은 Java 5부터 도입되었으며, 주로 배열이나 컬렉션을 순회할 때 사용합니다. 기본적인 사용 방법은 다음과 같습니다:
java
for (타입 변수명 : 배열 또는 컬렉션) {
// 반복해서 실행할 코드
}
배열과 함께 사용하는 경우:
java
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
위 코드는 numbers 배열의 모든 요소를 출력합니다.
컬렉션과 함께 사용하는 경우:
java
List<String> names = Arrays.asList("John", "Jane", "Tom", "Emily");
for (String name : names) {
System.out.println(name);
}
위 코드는 names 리스트의 모든 요소를 출력합니다.
Multi-Dimensional 배열과 함께 사용하는 경우:
java
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int[] row : matrix) {
for (int element : row) {
Systehttp://m.out.print(element + " ");
}
System.out.println();
}
위 코드는 2차원 배열 matrix의 모든 요소를 출력합니다.
Map과 함께 사용하는 경우:
java
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
위 코드는 Map의 모든 키-값 쌍을 출력합니다.
향상된 for 문은 컬렉션 또는 배열의 요소를 순회할 때 편리하며, 코드를 간결하게 작성할 수 있습니다. 하지만 인덱스를 통한 접근이 필요하거나, 역순으로 순회해야 하는 등의 경우에는 기존의 for문을 사용해야 합니다.
향상된 for문과 if문
향상된 for문과 if문을 함께 사용하면, 배열이나 컬렉션의 특정 요소에 대한 조건을 검사하고 해당 조건에 따라 다른 작업을 수행할 수 있습니다. 다음은 몇 가지 예제입니다:
특정 값이 있는지 확인하기1
Java
String[] words = {"apple", "banana", "cherry", null, "grape"};
for (String word : words) {
if (word != null) {
System.out.println(word);
} else {
break; // null 값을 만나면 루프를 종료합니다.
}
}
이 코드는 words 배열의 모든 요소를 출력하되, null 값을 만나면 루프를 종료합니다 1.
특정 조건을 만족하는 요소 찾기2
Java
int[] scores = {85, 90, 78, 92, 88};
char grade;
for (int score : scores) {
if (score >= 90) {
grade = 'A';
} else if (score >= 80) {
grade = 'B';
} else if (score >= 70) {
grade = 'C';
} else if (score >= 60) {
grade = 'D';
} else {
grade = 'F';
}
System.out.println("Score: " + score + ", Grade: " + grade);
}
이 코드는 scores 배열의 각 점수에 대해 등급을 결정하고, 점수와 등급을 출력합니다 2.
특정 값이 있는지 확인하고 해당 값을 출력하기3
Java
String[] words = {"apple", "banana", "cherry", "grape"};
String target = "banana";
boolean found = false;
for (String word : words) {
if (word.equals(target)) {
System.out.println("Found: " + word);
found = true;
break; // 찾은 경우 루프를 종료합니다.
}
}
if (!found) {
System.out.println("Not found: " + target);
}
이 코드는 words 배열에서 target 문자열을 찾고, 찾은 경우 해당 값을 출력하며,
찾지 못한 경우 “Not found” 메시지를 출력합니다
이러한 방식으로 향상된 for문과 if문을 함께 사용하면, 배열이나 컬렉션의 요소를 효율적으로 처리할 수 있습니다.
'컴퓨터공부 > 책리뷰 & book review' 카테고리의 다른 글
Do it! 알고리즘 입문: 자바 편 (17)[책리뷰 & Book review] (0) | 2024.02.02 |
---|---|
Do it! 알고리즘 입문: 자바 편 (16)[책리뷰 & Book review] (1) | 2024.02.01 |
Do it! 알고리즘 입문: 자바 편 (14)[책리뷰 & Book review] (0) | 2024.02.01 |
Do it! 알고리즘 입문: 자바 편 (13)[책리뷰 & Book review] (1) | 2024.01.31 |
댓글