Sesac 6일차

SungMin·2022년 10월 13일
0

Sesac-Java/Spring

목록 보기
2/13

반복문

for문

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();
		}

		
		

	}

}

while문

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);

	}

}

continue문

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);
			}
		}

	}

}

array

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();
		}
		
		

	}

}
profile
초보 개발자의 학습 저장용 블로그

0개의 댓글