AWS 클라우드환경 네이티브 수업 47일차
진행
1. Math.random() 활용
2. 개발자 편의 프로그램 알려주심 (아래 페이지 맨 마지막)
3. switch 문 추가 예제 (아래 페이지 맨 마지막)
4. 반복문
요약
1. Math.random() 문자로의 활용
2. 반복문 (for / while / do ... while)
Math.random() 활용
난수를 만드는 함수는 다각도로 활용이 가능하다.
난수를 만드는 것뿐만 아니라
아래의 아스키코드(ASCII)를 이용하여 문자를 랜덤하게 추출도 가능하다.
예를 들어 A~D를 랜덤하게 뽑는 구문을 만든다고 해보자.
아래의 표를 보면 10진수로 A~D는 65~68의 값이 필요하다.
해당 값을 문자 자료형으로 변환하면 A~D가 나온다는 말이다.
이제 구문을 만든 예시를 보자.
package LectureExam;
public class RandomExample {
public static void main(String[] args) {
float random1 = (float)(Math.random()*4 + 'A');
// ASCIIcode 로 1씩 더해지면 알파벳이 바뀌니까 65~68까지가 필요
char random2 = (char)(random1);
// 해당 값을 문자형으로 변환하면 A~D가 나옴
System.out.println(random1);
System.out.println(random2);
System.out.println((char)(69) );
// 숫자를 문자형으로 변환하면 문자가 나온다
}
}
결과
68.6826
D
E
반복문
for 문
구조는 아래와 같다.
조건식이 만족 되는 한 안의 구문이 반복된다.
만약 조건식이 없다면 무한 반복으로 실행 된다.
for( 초기값 ; 조건식 ; 증감식){
실행 내용
}
아래는 for 반복문으로 구구단을 만든 예시이다.
package LectureExam;
public class RepeatExample {
public static void main(String[] args) {
int i, j = 0;
for( j = 2; j < 10 ; j++) {
for( i = 1 ; i<10 ; i++) {
System.out.print(j + "x" + i + " = " + i*j + " \t");
// " \t" 를 사용함으로써 모든 간격을 일정하게 만든다.
}
System.out.println();
}
}
}
결과
2x1 = 2 2x2 = 4 2x3 = 6 2x4 = 8 ... 2x8 = 16 2x9 = 18
3x1 = 3 3x2 = 6 3x3 = 9 3x4 = 12 ... 3x8 = 24 3x9 = 27
4x1 = 4 4x2 = 8 4x3 = 12 4x4 = 16 ... 4x8 = 32 4x9 = 36
5x1 = 5 5x2 = 10 5x3 = 15 5x4 = 20 ... 5x8 = 40 5x9 = 45
6x1 = 6 6x2 = 12 6x3 = 18 6x4 = 24 ... 6x8 = 48 6x9 = 54
7x1 = 7 7x2 = 14 7x3 = 21 7x4 = 28 ... 7x8 = 56 7x9 = 63
8x1 = 8 8x2 = 16 8x3 = 24 8x4 = 32 ... 8x8 = 64 8x9 = 72
9x1 = 9 9x2 = 18 9x3 = 27 9x4 = 36 ... 9x8 = 72 9x9 = 81
※ 참고 - System.out.print
System.out.println() ; // 출력 후 줄 바꿈
System.out.print("a") ; // 출력 후 줄 바꿈 없음
System.out.print("\t") ; // Tab
System.out.print(" \t") ; // 스페이스 후 Tab을 하면 전부 일정한 탭 간격이 된다.
while 문 / do ... while 문
구조는 다음과 같다.
while 은 조건식 만족이 안된다면 한번도 실행이 안될 수 있지만
do ... while은 무조건 한번은 실행이 된다.
1.
while(조건식){
조건식이 true일 때 실행되는 문장
}
2.
do{ // 처음 한 번은 아래 코드가 실행됨
실행 될 문장
} while(조건); // 이후 해당 조건을 만족하면 반복
다음은 for문과 마찬가지로 while 문으로 만든 구구단이다.
package LectureExam;
public class RepeatExample {
public static void main(String[] args) {
int i = 2;
int j = 1;
while(i<10) {
while(j<10) {
System.out.print(i + "x" + j + " = " + i*j + " \t");
j++ ;
}
System.out.println();
i++;
j=1; // for문과는 다르게 초기화 시켜주는 거 잊지 말 것.
}
}
}
결과
2x1 = 2 2x2 = 4 2x3 = 6 ... 2x8 = 16 2x9 = 18
3x1 = 3 3x2 = 6 3x3 = 9 ... 3x8 = 24 3x9 = 27
4x1 = 4 4x2 = 8 4x3 = 12 ... 4x8 = 32 4x9 = 36
5x1 = 5 5x2 = 10 5x3 = 15 ... 5x8 = 40 5x9 = 45
6x1 = 6 6x2 = 12 6x3 = 18 ... 6x8 = 48 6x9 = 54
7x1 = 7 7x2 = 14 7x3 = 21 ... 7x8 = 56 7x9 = 63
8x1 = 8 8x2 = 16 8x3 = 24 ... 8x8 = 64 8x9 = 72
9x1 = 9 9x2 = 18 9x3 = 27 ... 9x8 = 72 9x9 = 81
아래는 do ... while의 예시이다.
while 문과의 차이를 위해 구구단을 2단만 나오도록 설계했다.
아래처럼 한번은 반드시 실행되고, 조건식이 안맞으니 바로 반복이 멈춘다.
package LectureExam;
public class RepeatExample {
public static void main(String[] args) {
int i = 2;
int j = 1;
do {
do {
System.out.println(i + "x" + j + " = " + i*j );
// 한 줄만 보일거니까 보이는 방식을 바꿈
j++ ;
} while(j<10);
System.out.println();
i++;
j=1;
} while(i<2); // i가 조건식에 바로 부합하지 않게 했다.
}
}
결과
2x1 = 2
2x2 = 4
2x3 = 6
2x4 = 8
2x5 = 10
2x6 = 12
2x7 = 14
2x8 = 16
2x9 = 18
'코딩수업 > AWS 클라우드환경 네이티브' 카테고리의 다른 글
7/22 자바(Java) 반복문 연습 문제 진행, Scanner 클래스 (0) | 2022.07.22 |
---|---|
7/21 자바(Java) break과 continue, 반복문 연습 문제 (0) | 2022.07.21 |
7/19 자바(Java) 문자 연산, 연산자, 조건문, Math.random() (4) | 2022.07.19 |
7/18 자바(Java) 강사님 교체 후 첫 수업. 클라이언트와 서버, Java 개념, Java 설치, 변수의 개념, Spring 설치 및 세팅 (2) | 2022.07.18 |
7/12 파이썬 독학 중 (0) | 2022.07.13 |
댓글