Java기초(for문)

김용민·2023년 3월 16일
0
post-thumbnail
		// 일정한 횟수만큼 반복하고 싶을때
		int cnt = 0 ;		// 횟수 체크 변수
		while(cnt<5) {		// 반복 조건
			System.out.println("Hello");	// 종속문장
			cnt++;							// 증감식
		}
		System.out.println();
		
		// for문으로 변경
		for(int i = 0; i < 5; i++) {	// (1)변수 선언; (2)조건; (4)증감식
			System.out.println("Java");	// (3)종속문장
		}
		System.out.println();
		

여러 프로그래밍 언어들이 거의 비슷하겠지만 Java 반복문에는 for문과 while이 있다.

why? 반복문을 두개 쓰는걸까?

두 반복문의 차이가 뭔지 비교해보자!

While문 for문
횟수가 정해지지 않는 무한반복! 정해진 숫자만큼 반복을 할때 !
횟수를 돌리는 변수가 남아버림 종속문 안에서 횟수를 돌리는 변수가 끝남!

크게는 위의 두가지며, 조건에 따라서 반복을 하고, 변수를 이용한 증감식을 바탕으로
반복을 한다는 것은 같으나 종속문장의 길이가 길어질 경우에 for문이 더
한눈에 시작, 조건, 증감을 판단하기에 더 좋다는 장점이 있다.
(무조건 for문이 좋다는것은 아님!! 용도에 따라 while이 나은 경우도 있음)

아래는 간단한 예시 두개를 가져왔다.

// 1) char 배열에 대해서 작업을 수행할 때
		String str = "Readability counts";
		char[] arr = str.toCharArray();
		for(int i = 0 ; i < arr.length; i++) {
			char ch = arr[i];
			System.out.printf("%c : %d\n", ch, (int)ch);
		}
		System.out.println();
		
// 2) 배열 혹은 iterable한 컬렉션에 대하여 index를 생략할때
		for(char ch : arr) {
			System.out.printf("%c : %d\n", ch, (int)ch);
		}
		System.out.println();

위의 두개는 간단한 예시인데, 1)코드는 String이라는 Reference 자료형과
primitive타입 자료형인 char의 배열을 이용해서 String에 들어있는 글자를
하나하나 나누고 그 글자의 ASCII코드를 출력해주는 코드 이고,
2) 코드는 List나 ArrayList나 배열같은 index를 통해 전개되는 자료형을
순서대로 같은 자료형에 넣어서 반복해주는 1) 코드에서 index를 생략한 코드이다

2)코드의 진행은 다음과 같다
arr 0번 인덱스값 -> char ch에 넣음 -> System.out.printf문 실행
arr 1번 인덱스값 -> char ch에 넣음 -> System.out.printf문 실행
....

2)코드는 단순히 index 순서대로 가져와서 쓰기는 좋으나(간단하고 빠름)
어떤 인덱스의 값을 조절 한다거나 좀 더 섬세한 작업들은 하기 힘드므로
1) 코드를 주로 할 줄 알아야 한다.

profile
안녕하세요

0개의 댓글