public class Ex06 {
public static void main(String[] args) {
// 반복문 - for문
// 형태
// for(초기화;조건식;증감식){ 수행문 }
//1~10까지 출력
for(int i = 1; i <= 10; i++) {
System.out.println("1~10까지 출력 : "+i);
}
//1부터 10까지 누적합
int sum = 0;
for(int i = 1; i < 11; i++) {
sum = sum + i;
}
System.out.println("1~10까지 누적합 : "+sum);
//1~10까지의 정수중에 2의배수만 출력
for(int i = 1; i < 11; i++) {
if(i % 2 == 0) {
System.out.println("2의 배수만 출력 : "+i);
}
}
//이중포문
//바깥포문 부터 시작 (0부터 시작)
//안쪽포문 실행 (바깥포문0부터시작,안쪽포문 조건식끝날때까지 반복)
for(int i = 0; i < 10; i++) {
for(int z = 0; z < 10; z++) {
System.out.println("i : "+i+"z :"+z);
}
}
}
}
public class Ex06_gugudan {
public static void main(String[] args) {
// for문으로 구구단 생성 - 2단
// for(int i = 1; i<10;i++) {
// System.out.println("2 X "+i+" = "+2*i);
// }
//for문으로 구구단 생성 2~9단
for(int i = 2; i < 10; i++) {
System.out.println("====="+i+"단=====");
for(int x = 1; x < 10; x++) {
System.out.println(i + "x" + x + "=" + i*x);
}
}
}
}
public class Ex06_star {
public static void main(String[] args) {
// for문 - 별모양 프린트해보기
// for(int i = 0; i<5; i++) {
// for(int x = 0; x<i; x++) {
// System.out.print("*");
// }
// System.out.println();
// }
//04pdf 36P. 연습문제
int n = 5;
int space = 0;
for(int i = 1; i <=n; i++) {
space = n-i;// 공백 : 4, 3, 2, 1, 0
for(int x = 1; x <= n; x++) {
if(x <= space) { //x가 space보다 작거나 같을때는 공백 프린트
System.out.print(" ");
}else { //그렇지 않다면 별 출력
System.out.print("*");
}
}
System.out.println();
}
}
}
public class Ex07 {
// 단어기준 커서 이동 : ctrl + 좌우화살표
public static void main(String[] args) {
// 반복문 - while문
// 형태
// while(조건식){ 수행문 }
int i = 1;
while(i <= 10) {
System.out.println(i);
i++;
}
int i2 = 1;
while(true) {
System.out.println("i2 : "+i2);
i2++;
if(i2 == 10) {
System.out.println("i2가 10이되어 종료 합니다.");
break;
}
}
int num = 12345;
int total = 0;
while(num > 0) {
int n = num % 10; // 5 , 4 , 3 , 2 , 1
total = total + n;
num = num / 10; //1234, 123, 12, 1, 0
}
System.out.println("각 자리의 합 : "+total);
//while문을 활용한 구구단 - 2단 생성
int x = 1;
while(x < 10) {
System.out.println("2 X "+ x + " = " + 2*x);
x++;
}
//while문을 활용한 구구단 생성
int y = 2;
while(y < 10) { //단수 증가 2,3,4,5.....
System.out.println("====="+y+"단=====");
int z = 1;
while(z < 10) { //2*1, 2*2, 2*3
System.out.println(y + "*" + z + "=" + y*z);
z++;
}
y++;
}
//do-while문
// while문의 변형된 형태, 최소 한번은 실행을 보장한다.
// do{ 수행문 }while(조건식);
int i = 0;
do {
System.out.println("최소 한번은 실행된다.");
}while(i>0);
}
}
public class Ex07_dice {
public static void main(String[] args) {
// 두 개의 주사위를 던졌을 때 나오는 눈을 (눈1, 눈2) 형태로 출력하고
// 눈의 합이 10이면 종료하면서 던진 횟수 출력하기
boolean isContinue = true;
int count = 0;
while (isContinue) {
int num1 = (int) (Math.random() * 6 + 1);
int num2 = (int) (Math.random() * 6 + 1);
// ① 횟수 증가 코드 작성
count++;
// ② (num1,num2) 출력
System.out.println("("+num1+","+num2+")");
// ③ 조건문 작성
if(num1+num2 == 10) {
// break; -> break사용해서 while문 종료
isContinue = false;
}
}
System.out.println("주사위를 던진 횟수 : " + count);
}
}
public class Ex08 {
public static void main(String[] args) {
// continue문 사용
// for(int i = 2; i <=10; i++) {
// if(i % 2 != 0) { // i 를 2로 나누었을때 나머지가 0이 아니면 = i가 홀수이면
// continue; //다음 조건식으로
// }
// System.out.println(i); // i가 짝수이면 i를 출력
// }
//continue를 사용해서 구구단 홀수단만 출력 (for문 활용)
for(int i = 2; i < 10; i++) {
if( i % 2 == 0) { // i를 2로 나누었을때 나머지가 0이면,
continue; //다음단으로 넘긴다.
}
System.out.println("====="+i+"단=====");
for(int x = 1; x < 10; x++) {
System.out.println(i + "x" + x + "=" + i*x);
}
}
}
}
public class Ex01_test {
public static void main(String[] args) {
//배열 연습
// int 타입의 score라는 배열을 생성하고 값은 90,70,77 을 넣어봅시다.
int[] score = {90, 70, 77};
//score 배열의 값을 합계를 구하여 출력 해봅시다.
int sum = 0;
// for(int i = 0; i < score.length; i++) {
// sum += score[i]; //score[0] , score[1] , score[2]
//// sum = sum + score[i];
// }
// 향상된 for문
for(int a : score) { // 배열변수 score의 각 값을 순회하면서 변수 a에 담아서 표현한다.
//배열의 index를 활용하기는 어렵다.
sum += a;
// sum = sum + a;
}
System.out.println("score의 합 : "+sum);
}
}
public class Ex01_array {
public static void main(String[] args) {
// 배열 - array
// 배열생성 첫번째
// int[] array1 = new int[3]; //크기가 3인 배열을 생성
// // 베열 array1에 값을 할당 (크기가 3이니까 0,1,2방 에 값을 할당)
// array1[0] = 1;
// array1[1] = 2;
// array1[2] = 3;
// System.out.println(array1[0]);
//
// //배열생성 두번째
// //배열생성과 동시에 값을 할당(값의 개수에 따라서 크기가 정해진다.)
// int[] array2 = new int[] {4,5,6,7,8,9};
// System.out.println(array2[1]);
//
// //배열생성 세번째
// //배열생성과 동시에 값을 할당(값의 개수에 따라서 크기가 정해진다.)
// int[] array3 = {10,20,30};
// System.out.println(array3[2]);
//
// //배열의 크기 확인
// System.out.println("array3 배열의 크기 : "+array3.length);
//
// //for문을 활용한 배열에 값 출력
// for(int i = 0; i < array3.length; i++) {
// //0부터 2까지 반복 (배열의 인덱스는 0부터 시작)
// System.out.println("array3 데이터 확인 : "+array3[i]);//0 , 1 , 2
// }
//
// // array3배열의 데이터를 각각 +1 씩 수정해봅시다.
//// array3[0] = array3[0] + 1;
//// System.out.println("array3[0] 수정 : "+array3[0]);
//
// //반복문을 활용해서 array3배열의 데이터를 각각 +1 씩 수정해봅시다.수정하고 데이터 출력
// for(int i = 0; i < array3.length; i++) {
// //i 는 0~2까지 반복이 된다.
// array3[i] = array3[i] + 1;
// System.out.println("array["+i+"] 의 데이터 확인 : "+array3[i]);
// }
//배열복사
//1.for문 활용
int[] origin = { 1 , 2 , 3 }; //크기가 3인 배열을 생성
int[] copy = new int[5];
// for(int i = 0; i < origin.length; i++) {
// copy[i] = origin[i];
// }
//
// for(int i = 0; i < origin.length; i++) {
// System.out.println("복사된 배열 확인 : "+copy[i]);
// }
// System.out.println(copy.length);
//2.System.arraycopy() 메소드 활용
System.arraycopy(origin, 0, copy, 0, origin.length);
for(int i = 0; i < origin.length; i++) {
System.out.println("복사된 배열 확인 : "+copy[i]);
}
System.out.println(copy.length);
}
}
public class Ex01_multiArray {
public static void main(String[] args) {
// 다차원 배열 생성
// 1.
int[][] arr1 = new int[][] {
{ 10, 9, 8 },
{ 7, 6, 5 },
{ 4, 3, 2 }
};
//2.
int[][] arr2 = {
{ 10, 9, 8 },
{ 7, 6, 5 },
{ 4, 3, 2 },
{ 1, 0, -1 }
};
//3.
int[][] arr3 = new int[2][2];
//다차원 배열의 데이터 초기화(수정)
arr3[0][0] = 100;
arr3[0][1] = 200;
arr3[1][0] = 300;
arr3[1][1] = 400;
//다차원 배열의 데이터 확인
System.out.println(arr2.length);
System.out.println(arr2[0].length);
//for문을 활용해서 arr2의 전체 데이터 확인
for(int i = 0; i < arr2.length; i++) {
for(int x = 0; x < arr2[i].length; x++) {
System.out.print(arr2[i][x]+" ");
}
System.out.println();
}
}
}