반복문은 3가지로 For, While, Do~While이 있음.
for(초기식; 조건식; 증감식) {} 으로 구성되어있다.
System.out.println("(번외)정수를 입력하시오 : ");
int num2 = sc.nextInt();
for (int i = 1 ; i < num2+1; i++) {
if (num2 > 0 && num2 < 4) {
System.out.println("안녕");
}else {
System.out.println("잘가");
break;
}
}
위에서 코드를 설명하자면 입력하라는 안내문이 출력되어서 값을 입력받은 값을 'num2' 변수에 저장하여서 해당 수를 반복횟수로 지정한다 이 때 +1을 해주었는데 굳이 이렇게 안하고 비교연산자를 <= 로 수정하여도 작동은 된다. 해당 반복문에서 입력받은 변수의 값이 1~3이면 안녕을 해당 숫자의 횟수만큼 출력을 하고 그 외의 값이면 "잘 가"라는 값을 출력하고 반복문을 종료한다
새로운 문제가 2개 왔다. 결국 입력한 정수까지 n번째 부터 더하는 값이다 나는 이 두 개의 문제를 한 번에 해결하기위해 코드를 변경했다.
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("정수를 입력하시오 : ");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int first = 0;
int result = 0;
while (true) {
System.out.println("입력하신 정수의 범위 안에서 몇 번째 부터 더하기를 시작하시겠습니까? : ");
first = sc.nextInt();
if (first <= num) {
break;
}else {
System.out.println("입력하신 수는 처음 입력한 정수의 범위 밖입니다.");
}
}
while (first <= num) {
result += first;
first++;
}
System.out.println(String.format("입력하신 수는 %d이고, 그 수까지의 총 합은 %d 입니다", num, result));
}
처음 정수를 입력받고 몇 번 째부터 값을 더할지를 무한 반복문에 넣어서 유저가 처음 입력한 값 안에 해당 숫자가 들면 반복문을 종료시키고 시작값과 처음 정수값 까지의 반복을 while문으로 실행한다. 이 때 for문을 안쓴 이유는 유저의 값을 무엇으로 입력하느냐에 따라서 이 반복이 얼마나 될 지 정의되기 떄문이다. 즉 개발자는 사용자가 값을 입력하기 전까지는 반복문이 몇 번 실행될 지 알지 못한다.
Do While문의 경우 안쓰는 경우가 빈번하다.
고로 다루지는 않겠다.
무한 루프가 발생되지 않게 주의하자. 만약 무한 루프가 발생하게되면 해당 코드는 절대 끝나지 않는 코드가 되어서 계속 리소스를 잡아먹게 되는 문제가 발생한다. 이것을 끝내기 위해서 조건식과 증감식을 잘 적어둘 것.
설 5일 이라는 연휴가 끝나고 다시 다니기 시작하는 학원인데 뭔가 푹 쉬어서 그런가 더 피로에 잘 빠지는거 같아서 얼른 생활패턴을 잡아야겠다는 생각이 들었다. 그리고 학원에서 반복문을 가리키길래 짬짬히 남는 시간에 SQLP와 DA 쪽 자격증을 찾아보았다. 이 두 자격증은 내 진로에 필요한 자격증 중 하나로 판단되기 때문에 잘 알아보고 취득을 해야겠다고 마음 속으로 정했다.