전체 글 59

삼항 연산자 (ㅁ?A:B)

삼항 연사자란, 항이 3개가 나오기 때문에 3항 연산자라고 한다. (조건) ? (true) : (false) 조건이 맞을 때 (true) 값을 나타내고 조건과 맞지 않을 때 (false) 값을 나타낸다 예) int a = 5; 5==a ? "5가 맞습니다." : "5가 아닙니다." // a와 5는 같습니까? (true) (false) 결과: 5가 맞습니다. (true) int a = 5; 1==a? "1이 맞습니다." : "1이 아닙니다." //a와 1은 같습니까? (true) (false) 결과: 1이 아닙니다.(false) public static void main(String[] args) { int num = 0; System.out.println((num==0)? 0:num>0?"양수":"음수"..

Java 2021.07.07

등가비교 연산자(==, !=)

=와 == 의 차이는 =는 대입연산자로 (x=y) y의 값을 x에 저장하겠다 라는 뜻이고 ==는 등가비교 연산자로 (x==y) x와 y는 같다 라는 뜻으로 두 연산자를 혼동하면 안된다. 1. 10은 int 탕입이고 10.0f는 float타입이므로 자동형변환(int->float)으로 10.0f==10.0f 가 되므로 true의 결과를 갖는다. 2. 문자형 0은 유니코드(48)이므로 48 == 0 결과 false가 된다. 3. 문자형 A는 유니코드(65)이므로 65 == 65 결과 true가 된다. 4. 문자형 A는 유니코드(65) 문자형 B는 유니코드(66)이므로 65 == 66 결과 false가 된다. 5. 문자형 A는 유니코드(65) 문자형 B는 유니코드(66)이므로 (65+1)66 != 66 서로의 ..

Java 2021.07.07

비교 연산자 (<, >, >=, <=)

X Y = X greater than Y (gt) = 크거나 같다, 작거나 크다 등의 연산자는 두 개의 부호를[(>,, =< 등의 오타를 내지 않도록 주의한다. 문자열의 비교 두 문자열을 비교 할 때는 비교연산자 == 대신 equals()라는 메서드를 사용해야 한다. ==를 사용한 (2.)을 보면 내용은 같지만 flase가 나온다 그 이유는 서로 다른 객체라서 그렇다. 하지만 equals를 사용한 (4.)를 보면 true 가 나온다. 즉, 문자열을 비교할 때는 항상 equals()를 사용해야한다. 만일 대소문자를 구렵하지 않고 비교하고싶으면 (6.) equalsIgnoreCase를 사용하도록 하자

Java 2021.07.07

증감 연산자 (++, --)

증가 연산자 (++) 피연산자의 값을 1 증가 감소 연산자 (--) 피연산자의 값을 1 감소 증감 연산자에는 2가지 형태가 있다. 전위형: ++x, --x 후위형: x++, x-- 증감 연산자를 사용하면 코드가 간결해지지만, 지나치면 코드가 복잡해서 이해하기 어려워지기도 한다. int x= 5; x= x++ - ++ x; 이와 같은 수식이 있다면 x의 값은 -1? -2? 이러한 코드를 작성하는 것은 바람직하지 않다 식에 두 번 이상 포함된 변수에 증감 연산자를 사용하는 것은 피해야 한다.

Java 2021.07.07

연산자의 종류

연산자란, 연산을 수행하는 기호(+, -, *, / 등) 피연산자란, 연산자의 직업 대상( 변수, 상수, 리터럴, 수식) 연산자의 종류 연산 우선순위와 연산방향을 주의 깊게 봐야한다. 1.산술>비교>논리리>대입. 대입연산자가 제일 마지막에 수행된다. 2.단항(1)>이항(2)>삼항(3). 단항 연산자의 우순순위가 이항 연산자보다 높다. 3.단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.

Java 2021.07.07

기본형의 형변환(casting)

형변환이란, 변수 또는 상수의 타입을 다른 타입으로 변환하는 것 int 타입(4byte)의 값을 byte타입(1byte)로 변환 할경우 크기의 차이 만큼 잘려나가 값의 손실이 발생 할 수 있다. 산술 변환 (피연산자의 자동변환) 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

Java 2021.07.07

정수의 오버플로

byte의 표현 범위는 -128 ~ 127까지다. 하지만 표현 범위의 최댓값을 넘으면 오버플로가 발생한다. byte의 최대 표현 값은 127이지만 +1한 값인 128이 되는 순간 가장 최소 값인 -128이 표현된다. 이러한 현상이 오버 플로이다. (표현 범위 최댓값 + 1= 최솟값) 이와 반대의 현상을 언더 플로이다. (표현 범위 최솟값 - 1 = 최댓값) 이처럼 정수형의 모든타입도 표현 범위를 넘어가면 이러한 현상이 나타난다

Java 2021.07.07