일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 국비지원
- Selectbox
- 프론트엔드 #import
- Java
- 프론트엔드
- css
- 자바
- SpringBoot
- 이클립스
- 백엔드
- 비전공자
- 소스가져오기
- option
- select
- 인턴합격
- 연산자
- 국비학원
- 제어문
- 프론트엔드 #HTML # JSP
- 생활코딩
- 코딩
- 코린이
- c:if
- html
- 인턴일기
- forEach
- c:foreach
- It
- 웹개발자
- 프론트엔드 #HTML
- Today
- Total
IT 성장 일기
22.01.27-java_난수/Switch/While/DoWhile/For 본문
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과 많이 겹치는 내용이라 이제는 이해가 간다. 하지만 예문이나 강의 노트없이 문제를 마주한다면 시원하게 풀 자신은 없다.
'IT 학습 노트 > Java' 카테고리의 다른 글
22.02.04-java_유효범위/Overload(오버로드)/Constructor(생성자) (0) | 2022.02.05 |
---|---|
22.02.03-java_객체지향 프로그램/Object/Scanner (0) | 2022.02.05 |
22.01.28-java_For문/Method(함수)/Array(배열)/ (0) | 2022.01.30 |
22.01.26-java_Parsing/Argument/연산자/Input/Casting/AsciiCode/If (0) | 2022.01.26 |
22.01.25-java_기초 (0) | 2022.01.26 |