안녕하세요
오늘은 이전 시간에 다뤘던 자바의 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 |