[개인공부] ch3~4

Walter Mitty·2022년 11월 1일
0

개인공부

목록 보기
4/40
post-thumbnail

외우기

산술 변환

: 연산 전에 피연산자의 타입을 일치시키는 것

두가지 규칙
1.두 피연산자의 타입을 같게 일치시킨다. (보다 큰 타입으로 일치 시킨다)

  • long + int → long + long → long
  • float + int → float + float → float
  • double + float → double + double → double

2.피연사자의 타입이 int보다 작은 타입이면 int로 변환된다.

  • byte + short → int + int → int
  • char + short → int + int → int

예시

  • '2' - '0' → 50 - 48 = 2
    • char - char → int
    • '2' → 50(int타입으로는)
      '0' → 48

반올림 - Math.round()

  • Math.rounf() : 실수를 소수점 첫 째 자리에서 반올림한 정수를 반환
long res = Math.round(4.52); // 변수 res에 5가 저장됨
  • 원하는 소수점 자리에서 반올림하기
double pi = 3.141592;
double shortPi = Math.round(pi*1000) / 1000.0;
System.out.println(shortPi); //3.142 출력

순서

Math.round(pi * 1000) / 1000.0Math.round(3.141592 * 1000) / 1000.0Math.round(3141.592) / 1000.03142 / 1000.0 //1000으로 나누면 3나옴.3.142


제어문(flow control statement)

말 그대로 흐름을 제어하는 문

  • 조건문 : 조건을 만족할 때만 {}를 수행(0~1번)
    • 조건식이 true일 때, 블럭 {} 안의 문장들을 수행한다.

  • 반복문 : 조건을 만족하는 동안 {}를 수행(0~n번)

조건문

  • if 문:
    • if(조건문)의 조건식 결과는 true, false 만 들어갈 수 있다.

  • switch 문:
    • switch(조건문) 의 조건식 결과는 정수나 문자열 이어야 한다.
    • case문의 값은 정수 상수(문자 포함-숫자로 저장/변수 안됨), 문자열만 가능하며, 중복되지 않아야 한다.

반복문

  • for 문:
    • 조건을 만족하는 동안 블럭{}을 반복한다.
    • 반복횟수를 알 때 적합하다.

  • while 문
    • 조건을 만족하는 동안 블럭{}을 반복한다
    • 반복횟수를 모를 때 적합하다.
    • 조건문을 true로 하면 빠져 나올 때 까지(break) 무한 반복이 된다. true 생략 불가.
    while (조건식) {
    }
  • do-while 문
    • 블럭{}을 최소한 한번 이상 반복
    • 사용자 입력 받을 때 유용

  • break 문
    • 자신이 포함된 하나의 반복문을 벗어난다.

  • continue 문
    • 자신이 포함된 반목문의 끝으로 이동 - 다음 반복으로 넘어감
public static void main(String[] args) {
	for(int i=0; i<=10; i++) {
    	if (i%3==0) //i가 3의 배수이면
        	continue; //건너 뛰어라!
        System.out.println(i); // 1,2,4,5,7,8,10
    }
}

  • 이름붙은 반복문
    • Loop1 이라는 이름을 for문에 붙여서 반복문 하나를 벗어날지, 하나 이상을 뚫고 나갈지 정한다.

임의의 정수(실수) 만들기

  • Math.random()
    • 0.0과 1.0 사이의 임의의 double 값을 반환
      0.0 <= Math.random() < 1.0 (0.0~0.999999...)
      • 원하는 랜덤 정수가 n개면 Math.random()*n 하면된다.
      • 예시) 1~3의 정수를 랜덤으로 구하고 싶다.
        0.0 * 3 <= Math.random() * 3 < 1.0 * 3
         0.0 <= Math.random() * 3 < 3.0 (0.0 ~ 2.999999)
         0.0 <= (int)(Math.random() * 3) < 3.0
         0 <= (int)(Math.random() * 3) < 3 (0~2)
         0 + 1<= (int)(Math.random() * 3) + 1< 3 + 1
         1<= (int)(Math.random() * 3) + 1< 4

0개의 댓글