본문 바로가기

전체 글

자바의 정석 - 3.4 비교 연산자 3.4.1 대소비교 연산자 : 좌변이 크면 true. 그렇지 않으면 false =' 같이 등호의 순서가 바뀌거나 뛰어쓰기가 들어가 있으면 안됨! 3.4.2 등가비교 연산자 == : 두 값이 같으면 true. 그렇지 않으면 false ≠ : 두 값이 다르면 true. 그렇지 않으면 false 근사값 오차 : 실수는 근사값으로 저장되므로 오차가 발생 할 수 있다. 10.0 == 10.0f // true 0.1 == 0.1f // false /* 10.0f는 double로 변화하면 0.1000000000000.. 더보기
자바의 정석 - 3.3 사칙 연산자 3.3.1 덧셈 a+b 3.3.2 뺄셈 a-b 3.3.3 곱셈 a*b 3.3.4 나눗셈 나머지가 있으면 버림 a/b 3.3.5 연산 형변환 연산 결과를 int보다 작은 자료형에 넣을 때 발생되는 에러 byte a = 10; byte b = 20; byte c = a + b; //Error! 연산시 a,b는 int로 변환되기 때문에 int보다 작은 byte로 저장하면 안됨 byte d = (byte) a + b; //d=30 자료형보다 큰 값을 넣을때 발생하는 값 손실1 byte a = 10; byte b = 30; byte c = (byte)(a*b); //c = 44 /* byte는 8bit이므로 최대 127까지 저장할 수 있는데, a*b의 결과가 300이므로 값이 손실됨 9번째 bit부터 제거 */ .. 더보기
자바의 정석 - 3.2 단항 연산자 3.2.1 단항 연산자 종류 증가 연산자(++) 감소 연산자(—) 3.2.2 위치에 따른 연산자 종류 전위 : ++i 후위 : i++ 예제1) int i = 5, j = 5; int k = ++i; //k=6, i=6 int h = j++; //h=5, j=6 예제2) int x = 5; x = x++ - ++x; // x=-2 후위 x는 연산종료 후에 증가를 하니깐 값이 5이다. 전위 x는 후위 x에서 값을 하나 증가 시켰고, 전위를 사용했으므로 값이 7이다. 즉, 결과는 -2가 된다. 3.2.3 부호 연산자 +, - 정수 및 실수 값에 부호 표시 부호가 생략되어 있으면 기본적으로 양의 정수 더보기
자바의 정석 - 3.1 연산자 3.1.1 연산자와 피연산자 연산자(operator) : 연산을 수향하는 기호(+, -, *, /, ...) 피연산자(operand) : 연산자의 작업 대상(변수, 상수, 리터럴, 수식) 3.1.2 식 평가(evaluation) 식을 계산하고 얻을 결과 3.1.3 연산자의 종류 산술 연산자 : + - * / % > 비교 연산자 : > 비교 > 논리 > 대입. 대입은 제일 마지막에 수행됀다. 단항 > 이항 > 삼항. 단항 연산자의 우선순위가 이항 연산자보다 높다. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행 방향은 왼쪽에.. 더보기
자바의 정석 - 2.4 아스키(ASCII) 2.4.1 아스키 코드 미국표준코드 기본 7bit 2.4.2 확장 아스키(Extended ASCII) 아스키 코드가 7bit이기 때문에 나머지 1bit를 활용하여 문자를 추가로 정의한 것 각 기업및 국가에서 다르게 정의하여 사용 2.4.3 코드 페이지(Code Page, cp) 여러버전의 확장 아스키를 모아둔 것 한글 윈도우는 'CP949'를 사용하고, 영문 윈도우는 'CP437'를 사용한다. 2.4.4 유니코드 전 세계의 모든 문자를 하나로 통일한 문자집합 초기에는 16bit였으나, 21bit로 확장 아스키코드에 추가된 문자를 보충 문자(Supplementary)라 하는데, 21bit이기 때문에 int를 사용해야한다. UTF-8, UTF-16, UTF-32등이 있으며, 자바는 UTF-16을 사용한다. .. 더보기
자바의 정석 - 2.3 기본형 2.3.1 논리형(boolean) true 또는 false의 값을 가진다. 크기는 1byte이다. 2.3.2 문자형 변수에 단일 문자만 저장할 수 있다. 실제로는 문자의 유니코드(A의 유니코드는 65)가 저장된다. ''안에 하나의 문자는 꼭 포함되어야 한다. 크기는 2byte이다. 💡 문자형은 16bit이기 때문에, 'A'는 000 000 0100 0001로 저장된다. 2.3.3 정수형 byte, short, int, long이 있다. 각 1, 2, 4, 8 byte크기이다. 최상위 bit가 부호를 의미하며 '0'이면 양수이고, '1'이면 음수이다. nbit 정수 범위는 [-2^(n-1) ~ 2^(n-1) -1]이다. 💡 JVM의 피연산자 스택은 기본이 4byte(32bit기준)이기 때문에, 4byte보.. 더보기
자바의 정석 - 2.2 변수타입 2.2.1 기본형과 참조형 기본형 실제 값을 저장 논리형 1개, 문자형 1개, 정수형 4개, 실수형 2개로 총 8개가 있다 참조형 주소 저장 2.2.2 상수와 리터럴 상수 상수 변수는 변수 타입 앞에 final을 붙여 선언을 한다 상수는 한번 초기화가 되면 값을 변경 할 수 없는 저장공간 💡 JDK 1.6부터 상수선언과 동시에 초기화를 하지 않아도 된다. 하지만 비추천 리터럴 변수에 할당되는 실제 값 일상에서 의미하는 상수와 동일한 의미이지만, 이미 '상수'를 한번 정의하면 변경할 수 없는 저장공간을 의미하므로 중복 단어를 피해 리터럴이라 한다 💡 리터럴에는 접미사를 통해 진수 및 자료형을 구분 할 수 있다 2.2.3 Scanner Scanner클래스를 사용하여 사용자의 입력을 받을 수 있다 nextIn.. 더보기
자바의 정석 - 2.1 변수 2.1.1 변수 단 하나의 값을 저장할 수 있는 메모리 공간 2.1.2 변수 선언과 초기화 같은 변수 이름은 중복해서 존재하면 안된다. 변수를 사용하기전에 초기화해야 한다. 💡 지역변수는 사용되기 전에 초기화를 반드시 해야하지만, 클래스 변수와 인스턴스 변수는 초기화를 생략할 수 있다. 2.1.3 변수의 명명규칙 및 약속 대소문자를 구분하며 길이 제한이 없다 예약어를 사용해서는 안된다 숫자로 시작해서는 안된다 특수문자는 '_'과 '$'만을 허용한다 클래스의 이름 첫 글자는 항상 대문자로 한다 카멜케이스를 사용한다 상수의 이름은 변수명 전부를 대문자로 한다 더보기