본문 바로가기
자바

자바 for 문 [북붙따라하기]

by 세상 모든 것 들은 그 자신을 위해 존재한다. 2020. 12. 28.

실행예제) 아래의 코드를 복붙하여 실행해 보시기 바랍니다. 설명은 예제 아래에 있습니다.

-----------------------------------------------------------------

public class Sample {

	public static void main(String[] args) {

		// for 문을 이용한 구구단 5단 출력 입니다.
		for (int i = 1; i < 10; i++) {
			System.out.println(" 5 x " + i + " = " + i * 5); // 5단 출력 입니다.
		}

	}
}

 

 

--------------------------------------------------------------------------


결과는:
 5 x 1 = 5
 5 x 2 = 10
 5 x 3 = 15
 5 x 4 = 20
 5 x 5 = 25
 5 x 6 = 30
 5 x 7 = 35
 5 x 8 = 40
 5 x 9 = 45

구성(사용방법)

 

for( 초기화문 ; 조건문 ; 증감문 ){

	조건문이 true일대 실행될 부분;
    
}

작동순서
1. 초기화문 을 실행 예) int i=0 ;
2. 조건문을 검사 해서 true 이면 실행 flase 이면  for문을 종료 시킨다.
3. true일때 실행하면 증감문을 실행하여 증가 또는 감소 를 실행한다.
4. 1,2,3,을 조건문이 만족 할때 까지 계속 반복

 

 

보통 for 문은 일정 횟수만큼 반복이 필요한 경우에 많이 사용한다.

예를 들어  "HI" 를 열번 반복 출력 하고 싶을때는 이렇게 합니다.

 

for ( int i = 0 ; i < 10 : i++ ){

          System.out.println("HI");

}

 

잘 사용하지는 않지만 이렇게 조건문 안에는 조건식이 한개 이상 들어가도 문제 없이 작동합니다.

아래의 코드를 복붙해서 실행해 보시기 바랍니다.

 

public class Sample {

	public static void main(String[] args) {

		      
		for (int i = 1, j=9; i < 10 && j>0; i++,j--) {
			System.out.printf(" %d x %d = %2d    " ,5,i,(i*5)); 
			System.out.printf(" %d x %d = %2d\n" ,5,j,(5*j)); 
		}

	}
}

 

결과는 :

 5 x 1 =  5     5 x 9 = 45
 5 x 2 = 10     5 x 8 = 40
 5 x 3 = 15     5 x 7 = 35
 5 x 4 = 20     5 x 6 = 30
 5 x 5 = 25     5 x 5 = 25
 5 x 6 = 30     5 x 4 = 20
 5 x 7 = 35     5 x 3 = 15
 5 x 8 = 40     5 x 2 = 10
 5 x 9 = 45     5 x 1 =  5

 

자바에서는 순환문(while,for등)은 상당히 많이 사용 됩니다.

 

저의 경우는 따라 하는 것이 가장 빨리 익혀 지는 이해가 좀 느린 편입니다.

시간 되시면 꼭 키보드로 한번씩 해보시는것이 좋습니다.

 

아래는 실전 예제 입니다.

 

					for (int i = 0; i < nResultCnt; i++) { // 테이블들어갈 내용을 만드는 부분

						strRecord[0] = "" + nCnt;
						nCnt++;
						strRecord[1] = strArrDichkRcvData[i].substring(27, 32);
						strRecord[2] = strArrDichkRcvData[i].substring(33, 43);
						strRecord[3] = strArrDichkRcvData[i].substring(43, 45);
						strRecord[4] = "..";
						//System.out.printf("번호 [%d][%s][%s][%s][%s][%s]\n", i, strRecord[0], strRecord[1], strRecord[2],
						//		strRecord[3], strRecord[4]);
						for (int j = 0; j < strArrID.length; j++) {
							if (strRecord[1].equals(strArrID[j]) == true) {
								strRecord[1] = strArrName[j];
							}
						}
						if (strRecord[3].equals("01")) {
							strRecord[3] = "[결제 완료]";
							strRecord[4] = strNowTime;
						} else if (strRecord[3].equals("--")) {
							strRecord[3] = "(대기중)";
						} else if (strRecord[3].equals("02")) {
							strRecord[3] = "(수정요청)";
						} else if (strRecord[3].equals("03")) {
							strRecord[3] = "(수정완료)";
						} else {
							strRecord[3] = "예전파일";
						}

						vtData = new ATableData(strRecord);
						tvMain.getItems().add(vtData); // 위의 포문에서 만들어진 레코드를 입력한다.
						taHelp.setText(">>> 검색이 완료 되었습니다.\n\n\n" + ">>> 네트워크 상태에 따라 속도 차이는 있습니다.");// 검색완료 메세지를 창에 출력한다.
						// taOutputContent.setText(">>> 검색이 완료 되었습니다.\n\n" + ">>> 네트워크 상태에 따라 속도 차이는
						// 있습니다.");// 검색완료 메세지를 창에
						// 출력한다.

					}

 

 

 

 

 

 

 

728x90
반응형

댓글