Math.random
·
자바/기본적인 개념
Math 클래스의 메소드 random은 난수(임의의 수)를 얻기 위해서 사용되어진다. 이 메소드는 0.0과 1.0 사이의 범위에 속하는 하나의 double 값을 반환한다. (*0.0은 포함하고, 1.0은 포함되지 않는다.) 만약 1~3 사이의 값을 얻고 싶다면, 아래처럼 코드를 짜면 될 것이다.
Switch
·
자바/기본적인 개념
1. 제약 조건 - switch 문의 제약 조건은 항상 정수이거나 문자 또는 문자열이여야 한다. - 또한 case문 또한 조건식과 항상 똑같은 타입이여야 된다. 2. 문법 - case 문을 여러 개 붙여서 쓰고 싶다면, "case 4: case 5: " 식으로 사용한다. 3. if vs switch - 성능 속도 부분에서 switch를 써야하지만, 만약 복잡한 조건식이 나온다면, 가독성 부분에서도 고민해보아야 한다. 4. 예시 - 만약 0~100점의 성적 점수가 있는데, 90~100까지 A, 80~89까지 B라고 하고 case문으로 받아주는 것보다 if를 쓰는 것이 간결하다. 그러나 성능을 생각한다면 case문이 나을 수 있다. Q) 그렇다면 어떻게 하는 것이 case문을 더 간결하게 사용할 수 있을까?..
쉬프트 연산자
·
자바/기본적인 개념
1. 양수 - 2진수의 자리를 원하는 만큼 옮기고 빈 자리를 0으로 채운다. 2. 음수 - 2진수의 자리를 원하는 만큼 옮기고 빈 자리를 1로 채운다. - 예제(1) 8>>2 (10진수인 8의 2진수를 오른쪽으로 2자리 이동시킨다.) (x > n은 x/2^n의 결과와 같다.) 3. 쉬프트 연산자가 쓰이는 이유 - 위 예제(1)에서 말한 연산 규칙은 가독성을 떨어뜨린다. 그러나 실행속도는 곱셈과 나눗셈보다 더 빠르게 될 것이다. - 그러므로 상황마다 필요한 곳에 잘 활용해야 한다.
등가 비교 연산
·
자바/기본적인 개념
- 예제(1): 실수형 비교 ( 10.0 == 10.0f는 true가 되고 0.1 == 0.1f false가 되는 것일까? ) ( 그 이유는 0.1은 double로 인식하기 때문이다. ) (왜냐하면 실수형은 근사값이 저장되기 때문에 오차가 발생하게 된다.) ( 단, 정수형 부분은 근사값이 저장되지 않으므로, 오차가 발생하지 않는다. ) - 예제(2): 문자형 비교 ( a 변수와 "abc" 비교는 true이지만, b와 "abc" 비교는 false이다. ) ( 그 이유는 b와 "abc"는 서로 다른 객체이기 때문이다. ) ( 그렇다면 true 되도록 할려면 어떻게 해야 할까? ) -> equals()를 사용한다. - 예제(3): 하나의 문자를 입력을 받는데 스트링으로 받아서 하나의 char로 가져오기.