반응형

👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇
오늘의 학습 For문
중요한것 : 반복할 횟수를 정의하는게 가장 중요하다
문법을 이해 할 때엔 개발자의 의도를 제거한다
반복문에 의도를 이해하려 한다면 망한다
횟수를 정하지 않으면 무한 반복이 된다.
반복문읜 시작과 끝을 정해준다.
끝을 지정하지 않는다면 무한루프를 돌게된다
**반복횟수 / 시작과 끝** 설정이 가장 중요하다
For문 기본 문법
for( [초기값] ; [ 반복조건 = 반복 종료문 ]; [증가식] ) {
[ 반복 실행문 ]
}
간단 예제
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
반복 횟수 0/1/2/3/4 = 총 5번
출력 문 : 01234
해당 표를 사용하면서 for문의 반복으로 인한 변화를 익혀야 한다.
주의 사항 : 코드를 한줄 한줄 라인으로 각기 해석 한 다음, 전체적으로 의도를 해석 한다
예제와 실습
package Study_0921;
public class Study01 {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
// 30부터 34까지
System.out.println(30 + i);
}
System.out.println("------------------------");
for (int i = 0; i < 10; i++) {
System.out.println(i);
i = i+1;
}
System.out.println("------------------------");
}
}
package Study_0921;
public class Study02 {
public static void main(String[] args) {
int cnt = 0;
for (int i = 0; i < 5; i++) {
System.out.print(cnt+", ");
cnt++;
}
System.out.println("\n----------------------------");
for (int i = 0; i < 5; i++) {
System.out.print(i + ", ");
}
}
}
package Study_0921;
public class TEST01 {
public static void main(String[] args) {
/*1부터 10까지 숫자를 합한 값을 출력하시오*/
int sum = 0;
for (int i = 1; i <=10 ; i++) {
sum += i;
System.out.print(sum + " ");
}
System.out.println("\n-----------------------------");
System.out.println("결과 : " + sum);
}
}
package Study_0921;
public class TEST02 {
public static void main(String[] args) {
// 1부터 10까지 숫자 중 짝수만 합 하시오
int sum = 0;
for (int i = 2; i <=10; i+=2){
sum+=i;
// System.out.print("i의 값 : " + i + "\nsum의 합산 값 : " + sum + "\n");
// System.out.println("----------------");
}
System.out.println("결과 : " + sum);
sum = 0;
for (int i = 0; i <= 10; i++) {
sum = i%2==0 ? sum+=i : sum;
// System.out.println("i의 값 : "+ i);
// System.out.println("sum의 값 : "+ sum);
// System.out.println("---------------------------");
}
System.out.println("결과 : " + sum);
}
}
실습 과제
1. 1부터 100까지 숫자 중 홀수는 더하고 짝수는 뺀 결과값 1개를 출력하시오.
2. 1부터 100까지 숫자 중 홀수는 홀수끼리 더한 값을 짝수는 짝수끼리 더한 값을 각각출력하시오.
3. 1부터 100까지 숫자 중 홀수는 모두 몇개인가?
4. 100부터 999까지의 숫자의 모든 숫자의 합을 구하시오.
453인 경우 4+5+3로 합한 값의 모든 총합을 구하시오.
5. 범인은 100부터 999까지 숫자에 숨어 있다.
범인은 십의 자리에 있고. 3의 배수이다. 범인 숫자를 모두 출력하시오.
6. 범인을 찾아라. 0부터 100까지 숫자중 하나이다. 0부터 1 2 3 순서대로 합한 값을
누적한다. 합한 값이 44를 넘어가게 하는 숫자 한개가 범인이다.
범인 숫자를 출력하시오.. (단, 수업시간에 다루지 않은 기술을 사용금지)
7. System.out.println("abc"); // i변수 값을 출력후 줄바꿈을 하는 코드이다.
System.out.println("def");
// 위코드를 실행하면
abc
def
System.out.print("abc"); // ln이 빠지면 i변수 값을 출력 후 줄바꿈을 하지 않는 코드이다.
System.out.print("def");
// 위코드를 실행하면
abcdef
문제>> 다음과 같이 출력하게 하시오.
1+2+3+4+5+6+7+9+9+10=결과값
8. 피보나치 수열구하기.
i는 피보나치 수의 갯수이다. 1 2 3 4 5 6 7 8 총 8개의 피보나치 수를 구하고 합한 값을
출력하시오.
for(int i=1;i < 8; i++){
}
결과 : 1 + 1 + 2 +3 + 5 + 8 + 13 + 21 = 합한 값
문제 풀기
package TASK;
public class Task01 {
public static void main(String[] args) {
// 1부터 100까지 숫자 중 홀수는 더하고 짝수는 뺀 결과값을 출력하시오
int sum = 0;
for (int i = 1; i <= 100 ; i++) {
if (i%2==0){
sum-=i;
} else {
sum+=i;
}
}
System.out.println("결과 값 : " + sum);
}
}
package TASK;
public class Test02 {
public static void main(String[] args) {
// 1부터 100까지 숫자 중 홀수는 홀수끼리 더한 값을 짝수는 짝수끼리 더한 값을 각각출력하시오.
int evenNum = 0;
int oddNum = 0;
for (int i = 0; i <=100; i++) {
if (i%2==0){
evenNum += i;
}
else if (i%2==1){
oddNum += i;
}
}
System.out.println("짝수 값 : " + evenNum + "\n홀수 값 : " + oddNum);
}
}
package TASK;
public class Test03 {
public static void main(String[] args) {
// 1부터 100까지 숫자 중 홀수는 모두 몇개인가?
int cnt = 0;
for (int i = 1; i <=100 ; i++) {
if (i%2==1){
cnt++;
}
}
System.out.println("홀수의 갯 수 : " + cnt);
}
}
package TASK;
public class Task04 {
public static void main(String[] args) {
// 100부터 999까지의 숫자의 모든 숫자의 합을 구하시오.
// 453인 경우 4+5+3로 합한 값의 모든 총합을 구하시오.
int subTot= 0;
for (int i = 100; i < 1000; i++) {
int subNum = i / 10;
int subNum3 = i % 10;
int subNum2 = subNum % 10;
int subNum1 = subNum / 10;
subTot += subNum1 + subNum2 + subNum3;
}
System.out.println(subTot);
}
}
package TASK;
public class Task05 {
public static void main(String[] args) {
// 범인은 100부터 999까지 숫자에 숨어 있다.
// 범인은 십의 자리에 있고. 3의 배수이다. 범인 숫자를 모두 출력하시오.
int viv = 0;
int viv1 = 0;
for (int i = 100; i < 1000 ; i++) {
viv = i%100;
viv1 = viv/10;
if(viv1%3==0) {
if (viv1 != 0){
System.out.println(i);
}
}
}
}
}
package TASK;
public class Test06 {
public static void main(String[] args) {
/*
범인을 찾아라. 0부터 100까지 숫자중 하나이다. 0부터 1 2 3 순서대로 합한 값을
누적한다. 합한 값이 44를 넘어가게 하는 숫자 한개가 범인이다.
범인 숫자를 출력하시오.. (단, 수업시간에 다루지 않은 기술을 사용금지)
*/
int sum = 0;
int cnt = 0;
for (int i = 0; i < 100; i++) {
sum += i;
if (sum < 44) {
cnt++;
}
}
System.out.println(cnt);
}
}
package TASK;
public class Test07 {
public static void main(String[] args) {
/*
System.out.println("abc"); // i변수 값을 출력후 줄바꿈을 하는 코드이다.
System.out.println("def"); // 위코드를 실행하면
abc
def
System.out.print("abc"); // ln이 빠지면 i변수 값을 출력 후 줄바꿈을 하지 않는 코드이다.
System.out.print("def");
// 위코드를 실행하면
abcdef
문제>> 다음과 같이 출력하게 하시오.
1+2+3+4+5+6+7+9+9+10=결과값
*/
int tot = 0;
for (int i = 1; i <= 10; i++) {
if (i == 10){
tot+=i;
System.out.print(i+ "="+tot);
} else {
tot+=i;
System.out.print(i + "+");
}
}
}
}
package TASK;
public class Test08 {
public static void main(String[] args) {
/*
피보나치 수열구하기.
i는 피보나치 수의 갯수이다. 1 2 3 4 5 6 7 8 총 8개의 피보나치 수를 구하고 합한 값을 출력하시오.
for(int i=1;i < 8; i++){
}
결과 : 1 + 1 + 2 +3 + 5 + 8 + 13 + 21 = 합한 값
*/
int numF1 = 1 , numF2 = 1, numSum = 0;
for (int i = 0; i < 8; i++) {
int numTot = numF1 + numF2;
if (numF1 >= 21) {
System.out.print(numF1);
} else {
System.out.print(numF1 + " + ");
}
numSum += numF1;
numF1 = numF2;
numF2 = numTot;
}
System.out.println(" = "+numSum);
}
}
반응형
'👩🏻💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 > ⠀⠀⠀⠀ Jᴀᴠᴀ' 카테고리의 다른 글
2023/09/25🌙 배열 및 for문 활용 (0) | 2023.09.26 |
---|---|
2023/09/22🌹 단일 for 문과 if 문 실습 (0) | 2023.09.23 |
2023/09/19 ✨ IF문 실습 (0) | 2023.09.21 |
2023/09/18 🌱 자료형과 형변환(캐스팅) , 그리고 if 조건문 (1) | 2023.09.19 |
2023/09/15⭐️ Java를 시작하다 (0) | 2023.09.18 |