Backend/Java

    자바의 정석 정리(15) - 비교 연산자

    비교 연산자 주로 조건문과 반복문의 조건식에 사용 연산결과는 오직 true와 false 둘 중의 하나 ※ 비교하는 피연산자의 타입이 서로 다를 경우 자료형의 범위가 큰 쪽으로 자동 형변환 대소비교 연산자 (, =) 두 피연산자의 값의 크기를 비교하는 연산자 참이면 true, 거짓이면 false boolean형을 제외한 기본형은 전부 사용 가능하나 참조형은 사용 불가능 등가비교 연산자 (==, !=) 두 피연산자의 값이 같은지 다른지를 비교하는 연산자 모든 자료형에 사용 가능 (but 기본형과 참조형을 비교 할 수는 없다, 서로 형변환이 불가능 하기에) ex) 10 == 10.0f 10.0f == 10.0f 1(true) ※ 정수형과 달리 실수형은 근사값으로 저장되어 오차가 발생할 수 있다 float ->..

    자바의 정석 정리(14) - 산술 연산자

    사칙 연산자(+, -, *, /) ※ 피연산자가 정수형인 경우 나누는 수로 0을 사용할 수 없다 (오류 발생) 부동 소수점값인 0.0f, 0.0d로 나누는 것은 가능하지만 결과는 무한대(Infinity) 크기가 작은 자료형의 변수를 큰 자료형의 변수에 저장할 때는 자동으로 형변환이 된다 but 큰 자료형의 값을 작은 자료형의 변수에 저장하려면 명시적으로 형변환 연산자를 사용해서 변환해야 한다 문자는 유니코드로 바뀌어 저장되며 정수간의 연산과 동일하다 문자 '2' 를 숫자로 변환하려면 문자 '0' 을 빼주면 된다 ex) '2' - '0' -> 50 - 48 -> 2 상수 또는 리터럴 간의 연산은 컴파일 시에 컴파일러가 계산해 결과를 도출한다 (수식에 변수가 들어가 있는 경우 컴파일러가 미리 계산 할 수 없..

    자바의 정석 정리(13) - 단항 연산자

    단항 연산자 증감 연산자 ++ -- : 피연산자에 저장된 값을 1 증가 또는 감소시킴 (정수와 실수는 가능하나 상수는 불가능) 증가 연산자(++) : 피연산자의 값을 1 증가 감소 연산자( -- ) : 피연산자의 값을 1 감소 전위형 : 값이 참조되기 전에 증가 ex) ++i , --i 후위형 : 값이 참조된 후에 증가 ex) i++, i-- j = ++i; 연산 순서 (1) i의 값을 증가(+ 1) (2) i의 값을 참조(대입) (3) 연산결과를 j에 저장 j = i++; 연산 순서 (1) i의 값을 참조(대입) (2) 연산결과를 j에 저장 (3) i의 값을 증가(+ 1) ※ 식에 두 번 이상 포함된 변수에 증감연산자를 사용하는 것은 피해야 한다 부호 연산자 + - boolean형과 char형을 제외한..

    자바의 정석 정리(12) - 연산자

    연산자(operator)- 연산을 수행하는 기호 ex) +, -, *, / - 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환 피연산자(operand)- 연산자의 작업 대상    ex) 변수, 상수, 리터럴, 수식 식과 대입연산자 - 식 : 연산자와 피연산자를 조합하여 계산하고자하는 바를 표현한 것 - 식을 평가한다 : 식을 계산하여 결과를 얻는 것 연산자의 종류 1. 산술 연산자 : + - * / % > : 사칙 연산과 나머지 연산 2. 비교 연산자 : > = 3. 논리 연산자 : && || ! & | ^ ~ : 그리고(AND)와 또는(OR)으로 조건을 연결 4. 대입 연산자 : = : 우변의 값을 좌변에 저장 5. 기타 : (type) ? : instanceof : 형변환 연산자, 삼항 ..

    자바의 정석 정리(11) - 형변환 ②

    정수형과 실수형 간의 형변환 1. 정수형을 실수형으로 변환 (1) 정수를 2진수로 변환 (2) 정규화를 거쳐 실수의 저장형식으로 저장 ※ 실수형의 정밀도 제한으로 인해 오차 발생 가능 ex) int(최대 정밀도 10자리)에서 float(최대 정밀도 7자리)로 변환시 오차 발생 가능 8자리 이상의 값을 실수형으로 변환할 경우 double을 사용해야함 2. 실수형을 정수형으로 변환 실수형을 정수형으로 변환시 실수형의 소수점 이하 값은 버려진다 ex) 9.1234567f -> 9 자동 형변환 byte(1byte) -> short(2byte) -> int(4byte) -> long(8byte) -> float(4byte) -> double(8byte) char(2byte) 산술 변환 : 연산과정에서 자동적으로 ..

    자바의 정석 정리(10) - 형변환 ①

    형변환(casting) : 변수 또는 상수의 타입을 다른 타입으로 변환하는 것 형변환 방법 : (타입) 피연산자 ex) double d = 85.4; int score = (int) d; // score에 85를 저장 피연산자인 변수 d의 값은 형변환 후에도 변화 x 괄호() : 캐스트 연산자(형변환 연산자) 기본형(primitive type)에서 boolean을 제외한 나머지 타입들은 서로 형변환이 가능 (기본형과 참조형간의 형변환은 불가능) 정수형간의 형변환 큰 타입에서 작은 타입으로 변환할 경우 값 손실이 발생할 수 있음 반대로 작은 타입에서 큰 타입으로의 변환은 값 손실이 발생하지 않음 (나머지 빈공간은 0(양수일 시) 또는 1(음수일 시)로 채워진다) 실수형간의 형변환 작은 타입에서 큰 타입으로..

    자바의 정석 정리(9) - 실수형

    실수형 - float, double 실수형의 범위와 정밀도 float : 1.4 * 10^-45 ~ 3.4 * 10^38, 7자리 double : 4.9 * 10^-324 ~ 1.8 * 10^308, 15자리 실수형에서 오버플로우가 발생시 변수값은 무한대(infinity)가 된다 실수형으로 표현할 수 없는 아주 작은 값을 언더플로우라고 하며 이 때 변수값은 0이 된다 실수형은 부호(S), 지수(E), 가수(M) 세 부분으로 구분 실수형은 정수형과 달리 오차가 발생할 수 있음(값의 범위 뿐만 아니라 정밀도가 중요) %24.20f : 전체 24자리 중에서 20자리는 소수점 이하의 수를 출력 실수형의 저장형식 실수형의 값을 부동소수점수(floating-point)의 형태로 저장 부동소수점수는 부호(Sign),..

    자바의 정석 정리(8) - 정수형

    정수형 - 단위는 byte 기준 크기순 나열시 byte(1)