내배카로 시작하는 Java 교육 오늘부로 시작 ^_^
JDK, JRE, Eclipse까지 설치 후 처음으로 자바 프로젝트 생성!!
새 파일 생성 단축키는 Ctrl+N 이다. 모든 클래스는 패키지 안에 들어있는 게 좋으므로 패키지를 생성하고 파일을 만든다. 패키지는 일종의 소스 묶음으로 생각하자~ 참고로 패키지 이름은 소문자로, 클래스는 첫 글자를 대문자로 작성하는게 좋다.
처음으로 클래스를 생성 해 보았다.
Project탭의 Build Automatically가 체크되어있다면, 저장(단축키 : Ctrl+s) 할 때 마다 자동으로 컴파일이 된다.
생성했던 폴더를 보면 src 폴더 안에는 우리가 만든 .java파일이 있고, bin 폴더 안에는 실제로 구동될 컴파일 된 .class 파일이 존재하는걸 확인할 수 있다.
여기까지 간단하게 설치, 클래스 생성, 화면 출력까지 완료!
이제 컴퓨터에서 자료를 표현하는 방법을 알아보자.
컴퓨터는 0과 1로만 이루어진 2진수만 알아들을 수 있다. 2진수 하나의 값을 저장할 수 있는 메모리의 크기를 비트, 8비트를 묶어서 1바이트 라고 한다.
자바에서 2진수를 표현할때는 숫자 앞에 0B를, 8진수는 0을, 16진수는 0X를 붙여주고 10진수는 그냥 숫자만 써주면 된다.
숫자 10을 각각 10진수, 2진수, 8진수, 16진수로 나타내보았다.
프로그램에서는 성적, 레벨, 주소 등 항상 변하는 수를 나타낼 필요가 있다. 변수란 변하는 수는 의미하며 각각의 수에 맞는 데이터 타입(자료형)을 이용해 변수를 선언해야 한다.
변수 이름을 만들 때는 영문자나 숫자, 특수문자( $ 와 _ )가 사용 가능하며, 이름의 시작은 숫자로 할 수 없으며 예약어(while, break 등)는 쓸 수 없다. 또한 가독성이 좋고 의미를 알아볼 수 있게 만드는 것이 좋으며, 단어가 바뀔때마다 첫 글자를 대문자로 작성하는 카멜 표기법을 주로 쓴다. (ex. numberOfStudent)
기본 자료형(primitive data type)은 정수형, 문자형, 실수형, 논리형 4가지로 나뉘며 여기서 각각 1바이트, 2바이트, 4바이트, 8바이트로 나뉜다.
정수형 | 문자형 | 실수형 | 논리형 | |
1바이트 | byte | boolean | ||
2바이트 | short | char | ||
4바이트 | int | float | ||
8바이트 | long | double |
실수는 부동 소수점 방식으로 표현한다. 1.0 * 10^-1 과 같은 수가 있을 때 1.0을 가수, 10을 밑, -1을 지수 라고 한다.
컴퓨터에서는 밑수를 2로 사용하며, 가수가 밑수(2) 보다 작은 한 자리까지 표현 되는 정규화를 사용해 1.n * 2^-n 과 같이 표현된다.
문자 또한 정수로 표현된다. 어떤 문자를 컴퓨터 내부에서 표현하기 위해 특정 정수 값을 정의했는데 예시로 A는 65와 같다. 이때 문자를 숫자로 변환하는 게 인코딩, 숫잘르 문자로 변환하는 게 디코딩이다. ASKII code는 알파벳과 숫자 특수 문자 등을 1바이트에 표현하는데 사용하는 문자 세트이며, 자바에서 모든 나라의 문자들을 하나의 코드표로 표준화 하자고 나온 게 유니코드이다.
문자를 위한 데이터 타입은 char로, char ch = 'A'; 와 같이 사용한다. 이때 쌍따옴표를 쓰지 않도록 주의!! ' ' 는 2byte의 char이고, " "는 문자열을 나타낸다. 전혀 다른 성질이므로 잘 확인해서 사용하자. 내부적으로 숫자로 표현되므로 char ch = 65; 와 같이 숫자를 넣어도 문자(A)가 출력될 수 있다.
프로그래밍을 하다 보면 원주율(3.14), 1년 12개월 등 변하지 않는 수, 고정 된 수가 필요할 때가 있다. 그럴 땐 상수를 선언해 사용하면 된다. final 예약어를 사용해 선언하며 한번 선언한 후에는 중간에 변경할 수 없다. 참고로 다른 변수와 차별화 하기 위해 주로 대문자를 사용해 표현한다.
형 변환은 서로 다른 자료형 간에 연산 등의 수행을 위해 하나의 자료형으로 통일하는 것을 의미한다. 프로그래머가 개입하지 않아도 자동으로 일어나는 묵시적 형 변환(explicit type conversion, 자동 형 변환)과 프로그래머가 강제적으로 타입 캐스팅을 하는 명시적 형 변환(implicit type conversion, 강제 형 변환)이 있다.
바이트 크기가 큰 자료형에서 작은 자료형으로 형 변환은 명시적으로 형 변환을 해주어야 한다.
아래 코드에서 int형에서 byte형으로 변환은 오류가 뜨고, 명시적 형 변환을 해준 double형에서 int형으로 변환은 잘 이루어질 것이다.
논리 연산에서 모든 항이 실행되지 않는 경우(단락 회로 평가)가 있다. 논리 곱(&&)은 두 항의 결과가 모두 true일 때만 결과가 true이므로 만약 앞의 항의 결과가 false이면 뒤 항을 실행하지 않고, 논리 합(||)은 두 항의 결과가 모두 false일 때만 결과가 false이므로 앞의 항의 결과가 true이면 뒤 항의 결과를 실행하지 않는다.
num1이 10이고, i가 2라고 생각해보겠다.
위에 식은 논리 곱 연산으로, 앞의 항의 결과가 false이고 뒤 항의 연산은 이루어지지 않아 num1은 20, i는 2의 결과가 나올 것이고 아래 식은 논리 합 연산으로 앞의 항의 결과가 false이므로 뒤 항 까지 연산이 이루어져 num1은 20, i는 4의 결과가 나올 것이다.
'etc... > 패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 16일차 - Part1. Ch8 (0) | 2021.11.16 |
---|---|
패스트캠퍼스 챌린지 15일차 - Part1. Ch8 (0) | 2021.11.15 |
패스트캠퍼스 챌린지 14일차 - Part1. Ch8 (0) | 2021.11.14 |
패스트캠퍼스 챌린지 13일차 - Part1. Ch8 (0) | 2021.11.13 |
패스트캠퍼스 챌린지 12일차 - Part1. Ch8 (0) | 2021.11.12 |