01 - 2 반복
While 문 💡
사전 판단 반복 구조
실행 전에 반복을 계속할지를 판단
|
package alogrithm_1_2;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.Scanner;
public class SumWhile {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.println("1부터 n까지의 합을 구합니다.");
System.out.println("n의 값 : ");
int n = stdIn.nextInt();
int sum = 0;
int i = 1;
while (i <= n) {
System.out.println("sum 더하기 전 : " + sum);
sum += i;
System.out.println("sum 더한 후 : " + sum);
i++;
}
System.out.println("1부터 " + n + "까지의 합은" + sum +" 입니다.");
}
}
for문 💡
사전 판단 반복문
✋하나의 변수를 사용하는 반복문은 while문 보다는 for문이 더 좋다!
|
package alogrithm_1_2;
import java.util.Scanner;
public class SumFor {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.println("1부터 n까지의 합을 구합니다.");
System.out.println("n의 값 : ");
int n = stdIn.nextInt();
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
System.out.println("1부터 " + n + "까지의 합은" + sum +" 입니다.");
}
}
✍️ 전위형 증가, 후위형 증가 연산자 (for문에 주로 사용)
|
확장 for 문
확장 for문을 사용하면 배열의 스캔을 매우 간단하게 구현
for (double i : a) { //확장 for문
sum += i;
}
package alogrithm_2_1;
public class ArraySumForIN {
public static void main(String[] args) {
double[] a = {1.0, 2.0, 3.0, 4.0, 5.0};
for (int i = 0; i < a.length; i++) {
System.out.println("a["+ i + "] : " + a[i]);
}
double sum = 0;
for (double i : a) { //확장 for문
sum += i;
}
System.out.println("모든 요소의 합은 " + sum + " 입니다.");
}
}
() 안의 콜론(:) ⇒ "~의 안에 있는"
확장 for문의 장점
- 배열의 길이를 조사하는 수고를 덜어줌
- iterator와 같은 방법으로 스캔
✅ 인덱스 자체의 값이 필요하지 않으면 확장 for문으로 구현하는 것이 좋다.
do ~ while 문 💡
사후 판단 반복문
루프 본문을 한 번 실행한 다음에 계속 반복할 것인지 판단
✋ for문은 처음에 제어식을 평가한 결과가 0이면 루프 본문은 한 번도 실행 ❌
✋ do문은 루프 본문이 반드시 한 번은 실행 ⭕
do {
실행문
} while (조건문);
package alogrithm_1_2;
import java.util.Scanner;
public class SumForPos {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int n;
System.out.println("1부터 n까지의 합을 구합니다.");
do {
System.out.print("n의 값 : ");
n = stdIn.nextInt();
} while (n <= 0) ;
int sum = 0;
for(int i=1; i <= n; i++) {
sum += i;
}
System.out.println("1부터 " + n + "까지의 합은" + sum +" 입니다.");
}
}
논리연산자
논리 연산자는 &&(AND), ||(OR), !(NOT) 3개로 이루어져 있으며, 반드시 결과가 참(True)과 거짓(False) 으로 도출
- - && (AND)
A | B | Result | |
A && B | 0 | 0 | 0 |
1 | 0 | 0 | |
1 | 1 | 1 | |
0 | 1 | 0 |
- - || (OR)
A | B | Result | |
A || B | 0 | 0 | 0 |
1 | 0 | 1 | |
1 | 1 | 1 | |
0 | 1 | 1 |
- ! (NOT)
A | Result | |
!A | 0 | 1 |
1 | 0 |
단축평가 왼쪽 피연산자의 평가 결과만으로 정확해지는 경우 오른 쪽 피연산자의 평가를 수행하지 않음
&, |이 논리연산을 하게 되는 경우에는 좌측과 우측 모두 수행 |
해당 내용은 Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 을 참고하여 정리했습니다.
'공부' 카테고리의 다른 글
[Linux] CentOS 7 ERROR - connect network is unreachable (0) | 2023.03.06 |
---|---|
[알고리즘] 알고리즘 - # 2. 배열과 자바 접근 (0) | 2023.02.23 |
[LinuxMaster] CentOS 7 환경 구축하기 - (Oracle Virtual Box) (0) | 2023.02.10 |
[Linux] Oracle VM VirtualBox 설치 및 Ubuntu 가상머신(VM) 구축하기 (4) | 2023.01.18 |
[GIT] Git Hub push error 해결하기 - error : failed to push some refs to.. (2) | 2023.01.16 |