Java

7 [인강] 자바의정석 ch04

Rosie_dev 2020. 12. 12. 11:10

| 임의의 정수 만들기  //난수

  0.0 <= Math.random() < 1.0  //double 값을 반환  

  n 원하는 개발 값

  (int)0.0*n+1 < = (int)(Math.random()*n)+1 < (int)1.0*n+1

  // 0은 난수가 아님

  int num = 0;

  System.out.println((int)(Math.random()*11)-5);  // -5 <=x < 6

 


| for문 //반복횟수를 알 때 적합

  for(int i=1;i<=5;i++) { // 초기화, 조건식, 증감식 //모두 생략가능, true 무한반복문

       System.out.println("I can do it");

  }

  int=1 //scope 범위 좁을수록 확인 범위가 줄어드므로 좋음, 변수선언부터 끝가지 적용

  

  int sum = 0;  //합계 저장을 위한 변수

  for(int i=1, i<=5; i++) {

      sum += 1; //sum=sum+i;

      System.out.printf("1부터 %2d까지의 합: %2d%n", i, sum);

  }


| 중첩 for문

  for(int i=2;i<=9;i++) {

      for(int j=1;j<=9;j++) {

           System.out.println(i+"*"+j+"="+(i*j));

      }

      System.out.println();  //줄바꿈

  }

  //구구단코드, 안쪽 j 실행 후 i 실행


| while문, do-while문

  조건을 만족시키는 동안 블럭 {}을 반복 - 반복횟수를 모를 때

  for문과 교환가능

  for(int i=1;i<=10;i++) {

      System.out.println(i);

  }

  ↕

  int i=1;

  while(i<=10) {

        System.out.println(i);

        i++;

  }

 

  i--!=0   //0이 아니면 i의 초기화값에서 1씩 차감

  sum += ++i;   //증가한 i를 기존 sum에 누계

 

  int num = 0, sum = 0;

  System.out.print ("숫자를 입력하세요. (예:1235)>");

  Scanner scanner = new Scanner(System.in);

  String tmp = scanner.nextLine();   //화면으로 입력받은 내용 tmp에 저장

  num = Integer.parseInt(tmp);    // 입력받은 문자열(tmp)을 int로 변환 숫자 num에 저장

  While(num!=0) {

          sum += num%10;

          System.out.printf("sum=%3d num=%d%n", sum, num);

          num /= 10;      //num=num/10;

  }

  System.out.println("각 자리수의 합:"+sum);

  // 각 자리수의 합을 더하는 방법

 

  int input = 0, answer = 0;

  answer = (int)(Math.round()*100)+1;

  Scanner scanner = new Scanner(System.in);

  do {

       System.out.print("1과 100사이의 정수를 입력하세요.>");

       input = scanner.nextInt();

       if(input>answer) {
            System.out.println("더 작은 수로 다시 시도해보세요.");

       } else if (input<answer) {

            System.out.println("더 큰 수로 다시 시도해보세요.");

       }

  } while(input!=answer);

  System.out.println("정답입니다.");

  // 사이 수 맞추기, while문의 중복을 해결


| break문

  swith문이나 반복문을 빠져나오는 과정에서 사용

  while(true)과 for( ; ;) 동일

 

  int sum = 0;

  int i = 0;

  while(true) {    //무한반복문

         if(sum>100)

           break;

         ++i;

         sum += i;

  }

  System.out.println("i=" +1);

  System.out.println("sum="+sum);

 

  continue문

  만족하는 경우 다음 반복으로 건너뜀   //3의 배수를 제외한 숫자 구하기

 


| 이름붙은 반복문

  하나 이상의 반복문을 벗어나기
  Loop1: for (int i=2; i<=9; i++)

  break Loop1;  //for문/while문 이름을 적어주면 여러개 반복문을 벗어날 수 있음

  square 제곱

  square root 제곱근  

 

 

'Java' 카테고리의 다른 글

9 [인강] 자바의정석 ch05  (0) 2020.12.16
8 [인강] 자바의정석 ch05  (0) 2020.12.16
6 [인강] 자바의정석 ch04  (0) 2020.12.11
5 [인강] 자바의정석 ch03  (0) 2020.12.10
4 [인강] 자바의정석 ch03  (0) 2020.12.09
댓글