제어문으로 프로그램 실행을 제어해보자 / 조건문과 반복문/
조건문
if문, swich문
Math.ramdom()메소드 --> 0.0~ 1.0 사이의 double타입 난수 하나를 리턴
0.0은 포함, 1.0은 미포함
1~10 정수 얻으려면
(int) Math.random() * 10 + 1
int num = (int) (Math.random() * n) + start;
주사위 뽑기
int num = (int) (Math.random() * 6) + 1;
로또번호 뽑기
int num = (int) (Math.random() * 45) +1;
<switch문>
ㅇif문과 마찬가지 조건 제어문
ㅇswitch(변수)가 어떤 case 값 갖느냐
ㅇif는 경우의 수가 많아질수록 else-if가 길어지는데, switch문은 변수 값 따라 실행문이 결정되므로 if문보다 코드가 간결하다.
ㅇ그 case가 없으면 default로 가서 실행한다. default는 생략 가능
ㅇ해당 case에 break가 없으면 다음 case로 넘어가서 '실행한다'
반복문ㅣ for, while, do-while문
ㄴ 제어문 처음으로 다시 돌아가며 반복 실행 : 루핑 (looping)_
for문의 초기화식 생략 가능.
예를 들면
int = 1;
for (; i<=100; i++) {...}
또한 초기화식이나 증감식이 둘 이상일 수 있다. 쉼표로 구분한다.
for(int i=0, j=100; i<=50, j>=50; i++, j--) {...}
ㄴ초기화식에 선언된 변수는 for문 블록 내부의 로컬 변수이다. ( for문 벗어나서 사용할 수 없음)
ㅇdo-while문
ㄴ블록 내부 실행문을 우선 실행하고, 그 결과에 따라서 반복할지 말지 결정 가능.
바깥쪽 반복문 종료
ㅇcontinue문
ㄴ다시 조건식(for문같은 경우는 증감식) 으로 돌아가서 반복.
확인문제
1. for, whlie, do-while
2. 3배수 총합을 구하는 코드 작성하기
3. 주사위 2번 던져 눈의 합이 5가 나오면 실행 멈추는 코드 작성하기
4. 중첩 for문을 이용해 방정식 4x+5y = 60의 모든 해를 구해서 (x,y)형태로 출력해보기
단 x와 y는 10 이하의 자연수
5. for문 이용
6. for문 이용
뭔가 printf로 할 수 있을 것도 같은데.. 한번 해보자
-->printf로 했을 때.. 별을 i갯수만큼 채워 넣는게 안됐다. %4 쓰고 별 넣으면 될거라고 생각을 했었는데
그 별 넣는게 원하는 갯수만큼 되게 하는게..음....
흠.. 또 for을 써서 별 함수를 만들면 되려나..?
(자료구조 공부할 때 메서드를 직접 만들어 본 게 생각난다. 복습하면서 star 메서드를 만들어보자)
저...new는 근데 어떤 형식으로 쓰는건지 잘 모르겠다
>>
객체(인스턴스)를 만들어 내는 거라고 한다. (cf 객체 변수는 실제 데이터가 아닌 참조값 갖는다)
쓰는 방법은
클래스 객체변수 = new 클래스();
new연산자라고 부른다..
new는 '클래스 타입'의 객체를 생성하는 역할 한다.
>> new 연산자를 통해 메모리(heap영역)에 데이터를 저장할 공간을 할당 받고, 그 공간의 참조값을 객체에게 반환해준다. 이어서 생성자를 호출하게 된다.
출처: https://blog.naver.com/heartflow89/220955262405
(ㄴ감사합니다^ㅇ^!)
아무튼..
이런 경우 이중for문을 사용하면 간단하다는 것을 기억해두자.
7. 입력된 데이터로 예금출금조회종료 기능 제공하는 코드 작성하기
break는 switch문이나 반복문을 탈출.
다음은 05챕터
'JAVA' 카테고리의 다른 글
[혼자 공부하는 자바] 7/03 05-2 배열 (0) | 2020.07.03 |
---|---|
[혼자 공부하는 자바] 7/02 05-1 참조타입 (0) | 2020.07.02 |
[혼자 공부하는 자바] 6/30 02-4~03-2 (0) | 2020.06.30 |
[혼자 공부하는 자바] 6/28 02-4 변수와 시스템 입출력 (0) | 2020.06.28 |
[혼자 공부하는 자바] 6/28 02-3 형변환 (0) | 2020.06.28 |