국비-내일배움// Java (eclipse)-03

차라락·2022년 4월 3일
0

국비교육

목록 보기
1/3

------------------------------

1. 반복문(for, while)

2. 반복문& if break, continue 문 이용해 출력하는 예제

3. 정보 입력받아서 출력 후 순차 출력, 역차 출력 예제

4. 1차원 배열

5. 2차원 배열

-----------------------------

1. 반복문(for, while)

while문을 이용하여
1~10까지의 합을 구해서 출력하시오.


int num=1;
int sum=0;
while(num<11) {//==(num<=10)--1 2 ...10 11(false)
sum+=num;
num++; //sum+=num++
		
int num=0;
int sum=0;
while (num<10) {
 num++;
sum+=num;--- 이경우는 num=0으로 둘것 			System.out.println("num="+num);//11
System.out.println("1~"+(num-1)+"까지 합은)";
System.out.println("sum="+sum);
// 결과 값 -55
	

while문을 이용해서 구구단 출력

출력예
5x1=5
5x2=10
..
5x9=45


	int dan=5;
	int i=1;
	while(i<10) {	
   	 System.out.println(dan+"*"+i+"="+dan*i);		
     i++;
    	}
             

- 키보드로 입력

Scanner sc=new Scanner (System.in);
int ___= sc.nextln();

  • 구구단 키보드로 입력 해서 출력한 경우

    		Scanner sc=new Scanner(System.in);
    		System.out.println("단 입력: ");
    		int dan=sc.nextInt();
    		int i=1;
    		while(i<10) {
    			System.out.println(dan+"*"+i+"="+dan*i);
    			i++;
    		

  • 키보드로 정수(N)을 입력받아서 1~N까지의 합을 구해서 출력. (while문)

    		Scanner sc=new Scanner(System.in);
    		System.out.println("정수 입력: ");
    		int num =sc.nextInt(); //-- 정수를 입력받을떄,,,
    		int i= 1,sum=0;
    		while(i<num+1) {
    			sum+=i;
    			i++;
    			}
    		System.out.println("1~ "+num+"까지의 합은"+sum);

  • while 문을 이용하여 정수를 입력 받은 후 입력받은 정수의 합을 출력.

     int total=0,val=1;
     Scanner sc.new Scanner(System.in);
     while(true){
     	System.out.print("정수 입력 :");
       val=sc.nextlnt();
       if(val==0){//---종료 시그널:0입력// --true
       **break;** //--탈출문
       }
       total+=val;
       }
       System.out.println("누적 합계는 "+ total);

     while반복문---의 break----탈출문
           

<for 문>

  • for문 사용 하여 결과값 순차적으로 출력.

    	int i;
    	for( i=0;i<5;i++) {//--- 2개씩 증가는 i+=2, ;세미콜론 안돌게 주의!
    		System.out.println(i);
    		}
    		System.out.println("for 종료후 i="+i); 
     

  • For문으로1부터 N까지의 합 풀어 보기

    		Scanner sc= new Scanner(System.in);
      System.out.println("정수 입력: ");---1~N사이의 임의의 수를 받을 때
    		int num =sc.nextInt(); ---n까지의 수 입력받기
    		int j=1,sum=0;
    		for( ;j<num;j++) {
    			sum+=j;
    			}
    		System.out.println("1~ "+ num + "까지의 합은" + sum);		      

  • For 문으로 N단 입력받아서 구구단 출력

    			Scanner sc= new Scanner(System.in); 
    		System.out.println("단 입력: ");
    		int dan=sc.nextInt();		
     int i=1;		
    		for(;i<10;i++) {
    			System.out.println(dan+"*"+i+"="+dan*i);
    		}

  • For문 이용해서 1~10까지 홀수 짝수 출력

    		//if(3%2==1)-----홀수
     	(3%2==0)-----짝수
         int i =1;
         for( ;i<10;i++){
           if(i%2==0){
            System.out.println(i + ": 짝수");
         }else{
            System.out.println(i + ": 홀수");
         }
    		}

<반복문> For와 while 의 사용 방법 --continue, break;

  • (For)--break 이용하여 곱과 단이 같은 라인까지만 출력하시오.
    				//i=단,곱=j 
    			for(int i =2 ; i<10; i++){
    				for(int j=1; j<10; j++) {
    					if(i<j) break;{
    					System.out.println(i + " * "+ j + " = " + i * j );
    					// if (i<=j) break; ---3*2-- 단-1곱까지 나옴
                 

  • continue를 이용해서 2, 4 , 6 , 8단 출력

    	for(int i =2 ; i<10; i++){
    		if(i%2==1)
    			continue;
    		for(int j=1; j<10; j++) {
    			if (i<j)
    			break;
    			System.out.println(i + " * "+ j + " = " + i * j );
    			 if (i<=j) break;
    	}//end for
    		System.out.println("---------");
    	}//end for--
    			
    		continue 문
    		for (int i=0; i<=10; i++) {
    				if(i%2==0 || i%3==0)						continue;
    				System.out.println(i);}
    			
    		단순반복문은-- for
     		 while = 조건문
      
    	

3. 정보 입력받아서 출력 후 순차 출력, 역차 출력 예제

Scanner sc=new Scanner(System.in);	
int std_num;
System.out.println("학생수 입력: ");
std_num=sc.nextInt();
	
	int[] arr=new int[std_num];
	System.out.println("배열의 길이: "+arr.length);

실행예)

// 학생수 입력:5엔터
// 1번 학생 점수:11
// 2번 학생 점수:22
// 3번 학생 점수:33
// 4번 학생 점수:44
// 5번 학생 점수:55
// 1등 점수는 55점 입니다.
// 5등 점수는 11점 입니다.
// 순차 출력: 11 22 33 44 55
// 역순 출력: 55 44 33 22 11
	
	Scanner sc=new Scanner(System.in);//----외우자
	int std_num;
	System.out.println("학생수 입력: ");
	std_num=sc.nextInt();//--학생수 정수로 입력
	
	int[] arr=new int[std_num];//---배열의 크기 결정
	for(int i=0; i<std_num;i++) {
		System.out.println((i+1)+"번 학생 점수 : ");
		arr[i]=sc.nextInt();
	}
	int max,min;
	max=min=arr[0] ;
	for(int i=0; i<std_num;i++) {
		if(max<arr[i]) {
			max=arr[i];
			}
		if(min>arr[i]) {
			min=arr[i];
		}
}
	System.out.println("1등 점수는"+ max +" 점 입니다.");
	System.out.println(std_num+"등 점수는 "+ min +" 점 입니다.");
	
	for(int i=0; i<arr.length; i++) {
		System.out.print(arr[i]+ " ");
		
	for(int i=arr.length; i>=0:i--) {----역순 출력----
			System.out.print(arr[i]+ " ");
	
	for(int i=0; i<arr.length/2;i++) {//--- 2로 나누면 index=2중간 값이고 순차 [0],[1]만
			int temp=arr[i];---임의의변수필요
		arr[i]= arr[arr.length-1-i];
			arr[arr.length-1-i]=temp;	--서로 변수값을 바꿈: 수합
		
		for(int i=0; i<arr.length; i++) {
		System.out.print(arr[i]+ " ");	
	}
}

4.1차원 배열

배열: 참조변수
1차원 배열 =---->직선배열

double[] arr =new double[50];

	int[] arr=new int[10];
	for (int i=0 ; i<arr.length; i++) {
    ---배열 입력할때..
		arr[i]=i+10;
        }
	int sum=0;--//초기값 넣어주기
	 for(int i=0; i<arr.length; i++){
 		System.out.println(arr[i]+" ");
		배열 요소의 총합
		 sum+=arr[i];
		 }
	System.out.println("sum="+sum);
	System.out.println("avg="+(double)(sum/arr.length)); // 소수점이하 출력
	
배열 이름.length -->배열의 항목 수 알수있음.
	

실행 예
-1번째 실수 입력 : 3.5

.
.
위 입력값은 배열에 저장할 것...
-합계는 00.0
-평균은 00.0
배열값을 입력 받아서 배열의 합계와 평균 구하기

	Scanner sc= new Scanner(System.in);
	double[] arr =new double[] {8,5,6,2,4};
	double sum=0;
	for(int i=0; i<arr.length;i++) {
		System.out.println((i+1)+"번째 실수 입력 : ");
		arr[i]= sc.nextDouble();
	}
	
	for(int i=0; i<arr.length;i++) {
		sum+=arr[i];
	}
	System.out.println("sum="+sum);
	System.out.println("avg="+sum/arr.length);// 소수점이하 출력
	
	
	int[] arr = new int [] {8,5,16,2,4};
	int max,min;
	max=min=arr[0];// max=min=8
	
	for(int i=0; i<arr.length; i++) {
		if(max<arr[i])
			max=arr[i];
		if(min>arr[i])
			min=arr[i];
	}
	System.out.println("max="+max);
	System.out.println("min="+min);}

5. 2차원 배열

-2차원 배열--arr:변수이름

    int [][] arr= new int [3][4];
	for(int i=0;i<arr.length;i++) {
		for(int j=0; j<arr[i].length; j++) {
			arr[i][j]= i+j;}
		}
	for(int i=0;i<3;i++) {
		for(int j=0; j<arr[i].length; j++) {
			System.out.print(arr[i][j]+ "  ");
		}
		System.out.println();// 개행--줄바꿈
}

매일 늦게 일어나고 늦게 자던 생활에 익숙해져 있어서 아침에 일찍일어나서 5시반까지 하루종일 수업을 듣는게 힘들기도 하고 내용이 이해가 갈듯 하면 또 새로운 내용을 배우기도 하고,,, 더 해봐야 알듯 하겠지만...! 화이팅!!

profile
초보

0개의 댓글