flow control stream 제어문
조건문 : 조건을 만족할 때만 {}를 수행(0~1번)
반복문 : 조건을 만족하는 동안 {}를 수행(0~n번)
equalsIgnoreCase :대소문자 구분안함
if문 안에 한문장이면 블록 {} 생략 가능
조건식 2번 판단보다 조건식 1번 판단이 더 효율적
if-else if문
: 여러 개 중의 하나 - 여러 개의 조건식을 포함한 조건식
중첩 if문 (괄호 주의)
switch문
:처리해야 하는 경우의 수가 많을 때 유용한 조건문
default문은 생략가능
switch문의 조건식은 정수, 문자열 가능/조건식 한번만/제약 조건 있음
if문은 조건식에 true/false만 가능/ 조건식 여러개/switch문 사용못할 때 사용 가능
switch문은 항상 if문으로 바꿀 수 있지만 반대의 경우는 제약경우가 많다
switch문의 제약 조건
1.switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
2. case문의 값은 정수,상수(문자 포함), 문자열만 가능하며 중복되지 않아야 한다
변수, 실수 안돼!!
case문은 옆으로, 아래로 여러개 써도 괜찮다
임의의 정수 만들기(난수)
임의의 double 값 반환
0.0 <= Math.random() <1.0
if) 1~3정수 얻고 싶을 때
*n : 원하는 개별값의 갯수
주사위라면 1~6을 받고 싶으니깐 *6
int num = 0;
for (int i = 1; i<=20; i++){
//Quiz1)1~10사이의 난수를 20개 출력하시오.
System.out.println(Math.random()); //0.0<=x<1.0
System.out.println(Math.random()*10); //0.0<=x<10.0
System.out.println((int)Math.random()*10); //0<=x<10, 0~9
System.out.println((int)Math.random()*10+1); //1<=x<11, 1~11
//Quiz2) -5~5사이의 난수를 20개 출력하시오.
System.out.println((int)(Math.random()*11)-5); //-5<=x<6, -5~5
}
for문
: 조건을 만족하는 동안 블럭{}을 반복- 반복횟수를 알 때 적합
(반복 횟수 모를 때는 while문)
//조건식 작성시 주의
for (int i = 10; i >= 1; i--) {
System.out.println(i);
}
int i; //scope 범위 - 선언위치부터 선언된 블럭의 끝까지
//i와 j가 같은 타입 일때 가능
//i,j는 for문 안에서만 사용할 수 있어
//for(;;) 조건식을 생략하면 true로 간주되어 무한반복문이 됨
for (int i. 1; j = 10; i <= 10; i++; j--){
System.out.println("i="+i+",j="+j);
}
//for문 밖에서 i 선언되서 출력 가능
System.out.println(i);
int sum = 0;
sum += 1;
sum += 2;
sum += 3;
sum += 4;
sum += 5;
for(int i =1; i <=5; i++){
sum += i;
System.out.printf("1부터 %2d까지의 합: %2d%n", i, sum)
}
중첩 for문
별찍기
연습문제 4-11
import java.util.*;
class Ex4_11 {
public static void main(String[] args) {
//i = 1,2,3,4,5 5번 {}안의 내용을 반
for(int i=1;i<=5;i++) {
for(int j=1;j<i;j++) {
System.out.print("*");
}
System.out.println(); //줄바꿈
}
} // main의 끝
}
while문 , do-while문
'Java > 자바의 정석' 카테고리의 다른 글
[ch3 연습문제] (조건)삼항 연산자 중첩 (0) | 2024.06.28 |
---|---|
[ch3 연습문제] (0) | 2024.06.28 |
코포자를 위한 코딩 공부법(남궁성) (0) | 2024.06.21 |
[ch3] 연산자 (1) | 2024.06.18 |
[ch2] (0) | 2024.06.18 |