04_java for문

2022. 9. 7. 12:42·자바/process

안녕하세요

오늘은 이전 시간에 다뤘던 자바의 switch문 이후에

 

03_java switch문

안녕하세요 오늘은 이전 시간에 다뤘던 자바의 분기 조건문 처리 이후에 02_java 분기 조건문 처리 (if else) 안녕하세요 오늘은 이전 시간에 다뤘던 자바의 코드 실행 흐름 및 제어문의 종류 이

dduldduck.tistory.com

자바의 for문에 대해 알아보겠습니다.

 


 

package javaexp.a04_process;

public class A04_For {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		1. 중괄호 블록 내용을 반복적으로 실행할 때, 사용된다.
		2. 종류
			for문 : 반복 step에 변수를 사용할 필요가 있을 때 사용된다.
				cf) 배열 데이터에서 단위 데이터를 반복적으로 사용할 때, 활용된다.
			while문 : 반복 블럭에서 특정 입력데이터에 의해 변경이 되어 반복을
					중단할 때 주로 사용된다.
			do{}while문 : 반복할 내용을 일단 한번은 수행하고 입력데이터에 의한
					반복여부를 처리할 때, 주로 사용된다.
					
		# for문
		1) 기본 형식
				for(초기화식1;조건식2;증감식4){
					실행문3
				}
				초기화식1 : 생략해도 되는데, 주로 초기값을 설정할 때, 사용한다.
					해당 반복문 block에서 사용할 초기값을 선언한다.
					이 초기화식은 한번만 호출되어 사용한다.
					ex) for (int cnt=1;;){} 지역변수로 초기값 선언
					ex) int cnt =1; // 전역변수로 초기값 선언
						for(;cnt<=10;;cnt++){}
						Systenm.out.println("현재 카운트변수: "+cnt);
						
				조건식2 : 반복 block을 다시 수행시켜줄 조건을 설정한다.
					보통 boolean(true/false)을 설정하는 것이 일반적이다.
					ex) for(;cnt<=25;){} 반복을 수행할 조건
					
				실행문3 : 실제 반복이 일어나는 구문을 말한다.
				
				증감식4 : 초기화식에 의해 초기화된 변수를 증가/감소 시켜준다.
					ex) for(;;cnt++){} for(;;cnt+=3){}
						for(;;cnt--){} for(;;cnt-=){}
			처리 프로세스 순서 : 초기화식 ==> 조건식 ==> 실행문 ==> 증감식
									==> 조건식 ==> 실행문 ==> 증감식
			cf)	for(;;) {} : 생략하면 while 문과 동일하다.
			
		
		 */
		for(int cnt=1;cnt<=10;cnt++) {
			System.out.println("카운트: "+cnt);
		}
		// ex1) 5~25까지 출력
		// ex) 100~120까지 출력
		for(int cnt1=5;cnt1<=25;cnt1++) {
			System.out.println("카운트: "+cnt1);
		}
		for(int cnt2=100;cnt2<=120;cnt2++) {
				System.out.println("카운트: "+cnt2);
			}
		/*
		# 반복문 처리 연습 단계
		1. 기본 구성요소 연습
			1) 초기값, 반복 조건 연습
			2) 증감연산자 연습
				cnt++, cnt--, cnt+=2, cnt-=3
			3) 출력할 내용에 대한 연습
				System.out.println() : 줄바꿈 있이 처리
				System.out.print() : 줄바꿈 없이 처리
				System.out.println("\t"); : 탭간격 처리
				System.out.println("\n"); : 줄바꿈 처리
				// cf) System,.out.printf(""): 특정 데이터의 형식(크기)
				* 특정한 형식으로 데이터 출력하세요 
		2. 반복문 밖에 외부 변수를 통한 처리(전역변수/지역변수)
			1) 지정된 변수 설정과 반복문의 변수와 혼합하여 출력하기..
				ex) 구구단의 단수, 1~10까지 반복변수, 혼합하여 구구단 출력
			2) 누적 데이터 처리
				합산할 변수 선언
				변수를 통해 누적 처리 데이터 출력
			cf) 개체변수, 메서드변수에 영향을 미쳐서 지역/ 전역변수로 처리할 수 있다.
		3. 반복문과 조건문을 혼합하여 처리하기
			1) 반복문 안에 조건을 넣어 특정한 경우에 출력 또는 연산 처리하기
				산술연산자(+,-,*,/,%) 특히 %(나머지값)을 활용하면 프로그램을
				보다 효율적으로 조건처리를 할 수 있다
				ex) 1~10 출력 내용 중에 짝수만 출력하기
				ex) 합산된 값이 20일때 출력하기
				ex) 1~100 출력하되 5단위로 줄바꿈 처리하기
				ex) 1~20까지 합산을 하되 마지막에는 =을 표기하기
					1 + 2 + 3 .... + 20 = @@@
			2) 조건문으로 특정한 경우 break와 continue를 통해서 프로세스를 제어 하기
				ex) 구구단에서 5인 경우에 중단 처리하기
		4. 반복문에서 반복문을 활용하기				
		 */
		System.out.println("# 5씩 증가 #");
		for(int cnt=1; cnt<=100; cnt+=5) {
			System.out.println(cnt);
		}
		System.out.println("# 2씩 감소 #");
		// 감소는 큰 데이터가 작은데이터로 변해가는 과정
		for(int cnt=10; cnt>0; cnt-=2) {
			System.out.println(cnt);
		}
		// * 증가와 감소에 따라서 반복 조건의 부호를 변경시켜야한다. (주의)
		// ex1) 10~50까지 3씩 증가 처리 출력하세요
	
		for(int cnt=10; cnt<=50; cnt+=3) {
			System.out.println(cnt);
		}
		// ex2) 10부터 0까지 카운트다운 처리하세요.
		for(int cnt=10; cnt>=0; cnt--) {
			System.out.println(cnt);
		}
		// ex3) 100부터 70까지 5씩 감소 처리 출력하세요
		for(int cnt=100; cnt>=70; cnt-=5) {
			System.out.println(cnt);
		}
		// ex4) 50부터 -20까지 4씩 감소 처리 출력하세요
		for(int cnt=50; cnt>=-20; cnt-=4) {
			System.out.println(cnt);
		}
		
		}
	}

package javaexp.a04_process;

public class A05_For {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		/*
			# 출력할 내용에 대한 연습
				System.out.println() : 줄바꿈 있이 처리
				System.out.print() : 줄바꿈 없이 처리
				System.out.println("\t"); : 탭간격 처리
				System.out.println("\n"); : 줄바꿈 처리
				* 특정한 형식으로 데이터를 출력하세요
		 */
		for(int cnt=1; cnt<=10; cnt++) {
			System.out.println("안녕하세요!!"+cnt);
		}
		for(int cnt=1; cnt<=10; cnt++) {
			System.out.print("안녕하세요!!"+cnt);
		}
		for(int cnt=1; cnt<=10; cnt++) {
			System.out.println(",");
		}
		for(int cnt=1; cnt<=10; cnt++) {
			System.out.print(cnt+"\t");
		}
		System.out.println();
		// # 아래와 같이 여러가지 형식으로 화면에 출력하세요
		// ex1) 1 + 2 + .... 10 + 를 출력하세요
		for(int cnt=1; cnt<=10; cnt++) {
			System.out.print(cnt+" + ");
		}
		System.out.println();
		// ex2) ^^ 100 ^^ 99 ^^ .... 90 을 출력하세요
		for(int cnt=100; cnt>=90; cnt--) {
			System.out.print(" ^^ "+cnt);
		}
		System.out.println();
		// 구구단에서 숫자 5를 활용하여 다음과 같이 나타내세요
		//		5 * 1 = 5
		//		5 * 2 = 10
		//		5 * 3 = 15
		// 		..
		for(int cnt=1; cnt<=9; cnt++) {
			System.out.println("5 * 1 = "+ (cnt*5));
		}

		// ex4) 1) I love you ! ♥ ♥ 2) I love you ! ♥ ♥ 3) I love you ! ♥ ♥ 4) I love you ! ♥ ♥
		for(int cnt=1; cnt<=4; cnt++) {
			System.out.print(cnt+") I love you ! ♥ ♥ ");
		}
		System.out.println();
		// ex5) 100 - 90 - 80 - 70 - 60 - 50
		for(int cnt=100; cnt>=50; cnt-=10) {
			System.out.print(cnt+" - ");
		}
		System.out.println();
		/*
		# 반복문 밖에 외부 변수를 통한 처리
			1) 지정된 변수 설정과 반복문의 변수와 혼합하여 출력하기..
				ex) 구구단의 단수, 1~10까지 반복변수, 혼합하여 구구단 출력
			2) 누적 데이터 처리
				합산할 변수 선언
				변수를 통해 누적 처리 데이터 출력
		 */
		int sum = 0; // 반복문 밖의 전역변수 설정
		for(int cnt=1; cnt<=10;cnt++) {
			int sum01 = 0;
			sum01+=cnt;
			sum+=cnt;
			System.out.print("합산1:"+sum01+"\t");
			System.out.println("합산2:"+sum);
		}
		int grade = 7;
		for(int cnt = 1; cnt<=9;cnt++) {
			System.out.println(grade+" X "+cnt+" = "+(grade*cnt));
		}
		// 김밥 한개당 2500으로 첫번째 날째는 1개를 판매, 두번째 날짜는 2개를 판매... 10일 동안 판매된 김밥을 출력하고
		// 판매액을 프로그램적으로 구하세요.
		int kimbap = 2500;
		int totSell = 0;
		for(int date=1; date<=10;date++) {
			int dateTot = kimbap*date;
			System.out.println(date+"째날 판매 금액:"+dateTot);
			totSell +=dateTot;
		}
		System.out.println("총 판매금액:"+totSell);
		// 지역 변수 : 반복문 안에 선언 초기화되는 변수 - date, dateTot
		// 전역 변수 : 반복문 밖에서 반복문 안에 데이터를 처리할 수 있는 변수 - kimbap, totSell
		// # 아래 내용을 지역 변수와 전역 변수를 활용하여 처리하세요..
		// ex1) 1~20까지 합을 출력하세요..
		int sum01= 0;
		for(int cnt=1 ; cnt<=20; cnt++) {
			sum01+=cnt;
		}
		System.out.println(sum);
		// ex2) 2 + 4 + 6 + .. 10 + 의 합을 출력 (출력 형식도 처리)하세요..
		int sum02= 0;
		for(int cnt=2; cnt<=10; cnt+=2) {
			System.out.print(cnt+" + ");
			sum02+=cnt;
		}
		System.out.println("총합 ="+sum02);
		// ex3) 짜장면 가격이 5000일때, 1~10그릇까지 가격을 출력하세요
		//		@@그릇 @@@원
		int jjajang=5000;
		for(int cnt=1; cnt<=10;cnt++) {
			System.out.println(cnt+"그릇 "+(jjajang*cnt)+"원");
		}
		
		// ex4) 100에서 1/4로 4회 누적해서 나눈 값을 아래의 형식으로 출력하세요
		//		1회	100	25
		//		2회 	25	6.22222
		//		3회 ...
		//		4회 ...
		int num01=100;
		double nanum=0.25;
		for(int cnt=1; cnt<=4; cnt++) {
			System.out.println(cnt+"회"+"\t"+"\t"+(num01*nanum/cnt)+"\t");
		}
	}

}

package javaexp.a04_process;

public class A06_For {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		# 반복문에 조건문 사용
		1. 여러가지 조건 사용 형식
			1) 비교연산(==,!=,>=,<=,>,<), 논리식(!, &&, ||), equals()
			2) 연산자 +, -, *, /, %
				ex) 짝수인 경우 if(cnt%2==0)
					n	1	2	3	4	5	6	7	8	9
					n%3 1	2	0	1	2	0	1	2	3
		2. 조건문 사용시 처리하는 중단 형식
			1) break;
			2) continue;
		 */
		// 반복문과 연산식의 사용
		// ex) 1~100까지 숫자 중에 10~20까지만 출력을 제외하고 출력 처리 하세요
		for(int cnt=1; cnt<=100;cnt++) {
			if(!(cnt>=10 && cnt<=20)) { // cnt<10 || cnt>20
				System.out.print(cnt+",");
			}
		}
		System.out.println();
		// ex) 1~20의 숫자 중에 짝수만 출력하세요.. 합산은 1~20까지 처리하세요..
			int tot = 0;
			for(int cnt=1;cnt<=20;cnt++) {
				tot+=cnt;
				if(cnt%2==0) {
					System.out.print(cnt+" ");
				}
				
			}
			System.out.println("\n1~20까지 합:"+tot);
		// 100~90까지 합산을 아래의 형식으로 하고 최종적으로 결과를 처리하세요
		// 100 + 99 + ... 90 = @@(합산결과)
			tot = 0;
			for(int cnt=100; cnt>=90;cnt--) {
				
				System.out.print(cnt);
				if(cnt!=90) {
				System.out.print(" + ");
				}else {
				System.out.print(" = ");
				}
				tot+=cnt;
			}
			System.out.println(tot);
			
			// ex1) 100에서 90까지 아래의 형식으로 처리하여 뺀 최종 결과값을 출력하세요
			//		100 - 99 - 98 ...90 =@@@
			tot=0;
			
			for(int cnt=100; cnt>=90;cnt--) {
				
				System.out.print(cnt);
				
				if(cnt!=90) {
					System.out.print(" - ");
				}else {
					System.out.print(" =");
				}
				tot-=cnt;
				
			}
			
			// ex2) 1~ 100까지 출력하되 조건물을 이용하여 5단위로 줄바꿈 출력 하세요
			//		1	2	3	4	5
			//		6	7	8	9	10
			//		...
			//		96	97	98	99	100
			for(int cnt=1; cnt<=100; cnt++) {
				if(cnt%5==0) {
					System.out.println(cnt+"\t");
				}else {
					System.out.print(cnt+"\t");
				}
				
			}
			// ex3) 1~10까지 해당 수가 홀인지 짝인지 표시 하세요..
			//		1(홀), 2(짝), 3(홀),...10(짝)
			for(int cnt=1;cnt<=10;cnt++) {
				if (cnt!=10) {
				if(cnt%2==0) {
					System.out.print(cnt+"(짝), ");
				}else {
					System.out.print(cnt+"(홀), ");
				}
				
			}else {
				System.out.println(cnt+"(짝)");
			}
			}
		

		

	}

}


이후에는 자바의 break, continue문에 대해 알아보도록 하겠습니다.

 

05_java break, continue문

안녕하세요 오늘은 이전 시간에 다뤘던 자바의 for문 이후에 04_java for문 안녕하세요 오늘은 이전 시간에 다뤘던 자바의 switch문 이후에 03_java switch문 안녕하세요 오늘은 이전 시간에 다뤘던 자바

dduldduck.tistory.com

 

'자바 > process' 카테고리의 다른 글

06_java 이중 반복문  (0) 2022.09.07
02_java 분기 조건문 처리  (0) 2022.09.07
05_java break, continue문  (2) 2022.09.07
03_java switch문  (0) 2022.09.07
01_java 코드실행 흐름 및 제어문의 종류  (0) 2022.09.07
'자바/process' 카테고리의 다른 글
  • 02_java 분기 조건문 처리
  • 05_java break, continue문
  • 03_java switch문
  • 01_java 코드실행 흐름 및 제어문의 종류
뚤떡이
뚤떡이
프로그래밍을 알아가며 저와 함께 성장하는 블로그 입니다
  • 뚤떡이
    뚤떡이의 발개벗긴개발
    뚤떡이
  • 전체
    오늘
    어제
    • 분류 전체보기 (73)
      • Docker (2)
      • 자바 (29)
        • start (10)
        • calcu (4)
        • process (7)
      • 플러터 (1)
      • 알고리즘 (12)
        • 개념 (2)
        • 구현 (5)
        • 백준 (0)
        • 프로그래머스 (5)
      • 이클립스 (4)
        • 초기설정 (4)
      • SQL (5)
      • IT 잡동사니 (10)
      • 개발 관련 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    #electron
    #프로젝트
    #번역
    synology
    스팸메일 #메일보안 #gophish #it보안 #오픈소스
    윈도우 크롬 원격
    크롬 원격 데스크톱
    #자동화
    시놀로지
    크롬 원격
    MAC 크롬 원격
    개발일지 #프로젝트후기 #gpt4 #번역 #자동화 #python #electron
    #개발일지
    GLPI
    #python #개발일지 #번역 #메모리최적화 #websocket #redis #비동기프로그래밍
    #python
    요구사항 정의서
    IT자산관리
    #apachesuperset #시놀로지 #db2 #데이터시각화 #기술블로그
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
뚤떡이
04_java for문
상단으로

티스토리툴바