IT 성장 일기

22.01.27-java_난수/Switch/While/DoWhile/For 본문

IT 학습 노트/Java

22.01.27-java_난수/Switch/While/DoWhile/For

통통배 노아 2022. 1. 27. 23:31

Random(난수)

난수 함수: 컴퓨터가 임의의 숫자를 발생 , 의사난수(pseudo random)

1.Math 클래스 이용

기본(실수)-Math.random() :0이상 1미만의 실수난수 생성 0~0.99999999999999...

정수 난수 생성 하려면,

(int)(Math.random()*(범위+1)+초기값): 

(int)(Math.random()*10+1) :1이상~11미만 정수난수 생성
(int)(Math.random()*31+50) :50~81미만의 정수난수 생성. 즉, 

2.Random 클래스 이용

Random rd=new Random();
int a=rd.nextInt(100)+1; //1부터 101 미만의 정수
int b=rd.nextInt(101)+0; //0부터 101 미만의 정수
int c=rd.nextInt(31)+50; //50~81 미만

 

Switch

: if~else if랑 비슷. 다만 if는 조건이 참/거짓 형태이고 Switch는 값에 따라 직접 지정.

ex)

char sw='G';     -->sw가 'G'일때,
switch(sw) {      -->sw값이
case 'E': 
case 'e': System.out.println("excellent"); break;    --> E 또는 e 이면 excellent출력.
case 'G': 
case 'g': System.out.println("good"); break;         --> G 또는 g 이면 excellent출력.
default : System.out.println("fail");                     --> 이외에는 fail 출력

 

default=else에 해당, 만약 default 맨 앞에 넣으면 break; 입력해줘야함 

While

while(true) {   }:조건식의 값이 true가 나오는 경우 무한루프.

무한루프가 만들어지면 구문의 내부에 탈출 조건을 지정해야한다.

1.변수 선언

2. while(조건){명령}


int n=10;
while(n>=1) {System.out.println(n+" ");--n;} --> 초기값10에서 n이1이상이면 -1씩 작아짐.
-->10 9 8 7 6 5 4 3 2 1 출력.

초기값과 조건값의 차이가 뽑고자 하는 개수이다. 10에서 1이상이니. 10~1까지 열개가 출력됨.

 

 int n=0;
 while(n<5) { ++n; System.out.println("hello java");} -->0부터 5미만 이니 0,1,2,3,4 총 5개 출력.

 

 

Dowhile: while(조건식{})은 while 안에서 조건이 만족할때 동작하게끔 한다.

ex) input 과 함께 쓸때

입력을 하기전에는 반복검사를 할 수 없음.  이럴 땐 do while문을 사용한다.

 

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

 

int num;

do{System.out.print("점수를 입력하세요 : ");

num=Integer.parseInt(br.readLine());}

while(num<0 || num>100);

-->정수 n을 입력하는데, n이 0이하 100이상이면 계속 "점수를 입력하세요 : "가 출력.

 

 

 

 

수업 후기

이제 3일차 인데 수업 당시 While과 Dowhile이 전혀 이해가 가지 않았다. 특히 범위를 지정하는 부분에서 굉장히 헷갈렸다. 또한 증감을 지정할 때 앞서 배웠던 단항 연산자 ++n이나 n++의 개념이 제대로 잡히지 않은 상태여서 그저 수업 따라가기 급급했었는데, 다행히 혼자 구글링과 복습을 하면서 후에 배울 For과 많이 겹치는 내용이라 이제는 이해가 간다. 하지만 예문이나 강의 노트없이 문제를 마주한다면 시원하게 풀 자신은 없다.