전체 글

    3주차 과제 : 비트 연산자

    비트 연산자 비트 연산자는 데이터를 비트(bit) 단위로 연산하기 때문에 0과 1로 표현 가능한 정수 타입만 비트 연산을 할 수 있다. 비트 논리 연산자 (&, |, ^) 구분 연산식 결과 설명 AND (논리곱) 1 & 1 1 두 비트 모두 1 일때 연산 결과 1 1 0 0 0 1 0 0 0 0 OR (논리합) 1 | 1 1 두 비트 중 하나만 1일때 연산 결과 1 1 0 1 0 1 1 0 0 0 XOR (배타적 논리합) 1 ^ 1 0 두 비트중 하나는 1이고 다른 하나가 0일 경우 연산결과 1 1 0 1 0 1 1 0 0 0 NOT (논리 부정) ~ 1 0 보수 0 1 비트 이동 연산자 (, >>>) 구분 연산식 설명 이동(쉬프트) a b 정수 a의 각 비트를 b만큼 오른쪽으로 이동(빈자리는 정수 a의..

    3주차 과제 : 산술 연산자

    산술 연산자 (Arithmetic Operator) 연산식 설명 피연산자 + 피연산자 덧셈 연산 피연산자 - 피연산자 뺄셈 연산 피연산자 * 피연산자 곱셈 연산 피연산자 / 피연산자 좌측 피연산자를 우측 피연산자로 나눗셈 연산 피연산자 % 피연산자 좌측 피연산자를 우측 피연산자로 나눈 나머지를 구하는 연산 산술 연산자의 특징은 피연산자들의 타입이 동일하지 않을 경우 다음과 같은 규칙을 사용해 타입을 일치시켜 연산한다. 1. 피연산자들이 모두 정수 타입이고, int type(4byte)보다 크기가 작은 타입일 경우 모두 int타입으로 변환 후, 연산을 수행한다. 따라서 연산의 산출 타입은 int이다. byte byteValue1 = 1; byte byteValue2 = 2; int intValue1 = 1..

    2주차 과제 : 타입 추론, var

    타입 추론, var 타입 추론 타입을 미리 선언하지 않고 리터럴 값으로 컴파일러가 이를 추론하게 하는 것 개발자가 종종 필요하지 않은 지역 변수 유형의 매니페스트 선언을 제거 할 수 있도록함으로써 정적 유형 안전성에 대한 Java의 노력을 유지하면서 Java 코드 작성과 관련된 의식을 줄임으로써 개발자 경험을 개선하고자 합니다. 이 기능은 예를 들어 다음과 같은 선언을 허용합니다. 중복을 줄여서 가독성 향상이 주요 목적 var list = new ArrayList(); // infers ArrayList var stream = list.stream(); // infers Stream Var var는 키워드 처럼 보이지만 실은 키워드가 아니다. var는 타입의 이름이다. var var = "variable..

    2주차 과제 : 타입 변환, 캐스팅 그리고 타입 프로모션

    타입 변환, 캐스팅 그리고 타입 프로모션 타입변환 데이터 타입을 다른 데이터 타입으로 변환하는 것 타입 변환에는 두 가지 종류가 있는데 하나는 자동(묵시적) 타입 변환, 다른 하나는 강제(명시적) 타입 변환이다. 캐스팅 강제적으로 큰 데이터 타입을 작은 데이터 타입으로 쪼개어서 저장하는 것을 강제 타입 변환 (Casting)이라고 한다. 이 경우에는 값이 변경 될 수 있다.

    2주차 과제 : 1차 및 2차 배열 선언하기

    1차 및 2차 배열 선언하기 1차 배열 선언 int[] intArr = {1, 2, 3, 4, 5}; String[] strArr = {"오늘도", "자바", "공부를"}; int[] intArray = new int[5];// 0으로 초기화 String[] strArray = new String[3];// null로 초기화 2차 배열 선언 int[][] scores = new int[2][3]; int[][] prices = {{1000,2000}},{{500,5000}};

    2주차 과제 : 프리미티브 타입과 레퍼런스 타입

    프리미티브 타입과 레퍼런스 타입 프리미티브 타입은 자바의 기본 타입으로 정수, 실수, 문자, 논리 리터럴을 저장하는 타입이고 Stack 영역에 저장된다. 위에서 살펴봤으니 이제 레퍼런스 타입에 대해서 알아보자. 레퍼런스 타입(참조 타입)이란 객체(Object)의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입을 말한다. 실제 값을 변수안에 저장하지 않고, 메모리의 번지를 값으로 가지며 Heap Area에 생성된다. 메모리의 번지를 통해 객체를 참조한다는 뜻에서 참조 타입 (Reference Type)이라고 한다. Null and NullPointerException 참조 타입의 변수는 Heap Area의 객체를 참조하지 않는다는 뜻으로 null 값을 가질 수 있다. null 값도 초기값으..