1~2 교시
환경변수 설정
=> 운영체제에게 옵션을 설정
=> 윈도우의 경우는 탐색기에서 [내PC를 선택하고 마우스우클릭 [속성]을 실행하고 [고급 시스템 설정]을 누르고 고급 탭의 하단의 환경 변수를 클릭
1. Path
=> 명령어만 입력해서 프로그램을 실행하고자 할 때 명령어를 찾는 디렉토리를 설정하는 환경변수
=> 자바 명령어는 자바가 설치된 디렉토리 안의 jdk/bin 디렉토리에 있다.
새로 만들기로 디렉토리를 추가하고 위로 이동 시킨다.
C:\Program Files\Java\jdk1.8.0_221\bin
설정 확인
명령 프롬프트(cmd)에서 javac -version (jdk 버전 확인) 이라고 입력
참고) java -version (jre 버전 확인)
2. JRE_HOME
=> 자바 프로그램이 실행될 FRE 버전을 설정
=> 자바가 여러개 설치되었을 때 실핼할 버전을 지정하기 위해서다.
=> 자바가 1개만 설치되어 있으면 할 필요가 없다.
3. classpath
=> 자바 클래스를 사용할 때 찾는 순서를 지정하기 위한 환경변수
=> .;rt.jar 파일을 설정하는 경우가 있다. 안해도 된다.
=> Eclipse, Intelli J, NetBeans 등이 설정을 하지 않아도 기본 설정을 한다. 최근에는 이 설정을 할 필요가 없다.
Data Type (자료형)
1. Data 분류
1) 일반적인 프로그래밍 언어에서의 분류
=> Value(Primitive Type)형과 Reference(Non Primitive Type) 형으로 분류
=> 최근 Reference 타입을 주로 쓴다. 하드웨어가 좋아져서
2) 변경가능 여부에 따른 분류
=> mutable - 변수 : 변경이 가능한 데이터, 동시에 사용하면 안됨
=> immutable - 상수 : 변경이 불가능한 데이터, 동시에 사용 가능
3) 저장 가능한 데이터 개수에 따른 분류
=> scala data : 1개만 저장
=> vector data : 0개 이상의 데이터를 저장해서 번호나 이름으로 구분해서 사용할 수 있다.
4) 데이터 모양에 따른 분류
=> 정형 데이터 : 틀 - 테이블 형태의 데이터로 관계형 데이터베이스(이미지) RDBMS
=> 비정형 데이터 : 틀없음 - 음성이나 텍스트로 MongoDB, NoSQL
=> 반정형 데이터 : 비정형 -> 정형 - JSON, XML
5) 휘발성 여부에 따른 분류
=> Main Memory 에 저장 : 휘발성으로 프로그렘에서 만든 변수나 상수
=> 보조기억 장치에 저장 : 비휘발성으로 파일에 저장
6) 저장위치에 따른 분류
=> Client(Local) : 컴퓨터에 문제가 생기면 사용할 수 없다.
=> Server(Network 상의 컴퓨터) : 내 컴퓨터에 문제가 발생하도 데이터를 사용할 수 있다.
파일
Flat File : ____________
Database :
3 교시
2. Java에서 수정 가능한 데이터와 수정 불가능한 데이터를 만드는 방법
1) 수정 가능한 데이터 만들기 (변수)
=> Variable (변수)은 데이터를 메모리에 저장해두고 그 데이터를 사용할 수 있도록 이름을 붙인것
=> 생성
자료형 변수이름;
=> 데이터를 저장
변수이름 = 데이터;
=> 변수생성과 저장을 한번에
자료형 변수이름 = 데이터;
=> 변수는 생성할 때와 =의 왼쪽에 있을 때는 저장할 수 있는 공간을 의미하지만 그 이외의 경우는 저장한 데이터를 의미한다.
=> 하나의 영역에서 동일한 이름의 변수는 1번만 생성되어야 한다.
=> 자료형에 맞는 데이터만 저장해야 한다.
2) Java에서 데이터를 1개만 저장할 수 있는 자료형 (Primitive Type)
boolean (참 또는 거짓) : true or false
byte (1byte - 8bit) : 정수 저장
short (2byte -16bit) : 정수 저장
char (2byte - 16bit) : 정수 저장 - 출력할 때는 정수에 해당하는 문자를 출력
int (4byte - 32bit) : 정수 저장 - 정수 자료형의 기본형
long (8byte - 64bit) : 정수 저장
float (4byte - 32bit) : 실수 저장
double (8byte - 64bit) : 실수 저장 - 실수 자료형의 기본형, 수치보조 프로세서의 연산 단위, 실수를 가지고 계산을하게되면 double로 바꿔서 계산
실수는 예전에는 float을 많이 사용했고 최근에는 double을 사용
실수는 지수표기법으로 저장
31.4 -> +0.314E002
=> bit(binary digit) : 0 또는 1 둘 중에 1개를 저장할 수 있는 단위
=> 1byte -> 8bit : 통신의 단위
=> KB (1024 Byte) -> MB (1024 KB) -> GB -> TB -> PB...
=> WORD -> 컴퓨터나 운영체자가 한 번에 사용할 수 있는 단위
32bit, 64bit 운영체제
만들기
변수들을 만들어보자
4 교시
2) 변경 불가능한 (immutable) 데이터 만들기
=> Literal : 개발자가 직접 입력하는 데이터
=> 정수 리터럴
17 : Int 형 정수 리터럴
0x17 : 16진 정수 리터럴, 16진수를 쓰면 코드를 1/4로 줄일 수 있다.
0o17 : 8진 정수 리터럴
17L : long 형 정수 리터럴
=> 22억이 넘는 정수를 입력하고자 할 때는 뒤에 L을 붙여야 한다. (대문자 L)
=> 실수 리터럴
일반적인 실수 형태를 사용
31.43 => +0.3143E + 002 로 변경해서 저장
지수 표기법을 이용해서 표현해도 된다.
0.31443E +002
실수 리터럴은 기본적으로 double 이다.
float 형으로 리터럴을 만들고자 하면 뒤에 f를 붙이면 된다.
31.43f -> float 형 리터럴
=> 문자 리터럴
문자는 글자 1개를 의미
작은 따옴표 안에 1개의 글자를 입력
'a', 'b'...
컴퓨터는 숫자 밖에 저장을 못해서 문자를 저장할 때는 코드로 저장했다가 출력 할 때 그 코드에 해당하는 문자를 출력
ASCll Code : 미국에서 영문과 숫자를 코드화 한 것
- 숫자 0 ('0') : 48
- 영문 대문자 'A' : 65
- 영문 소문자 'a' : 97
대 소문자의 차이는 32 임을 기억
ID는 대소분자 구분을 못한다.
제어문자 : \다음에 영문자를 1개를 추가해서 특별한 기능을 부여한 문자
모든 프로그래밍언어에서 공통으로 사용
- \n : 줄 바꿈
- \t : 탭
- \' : 작은 따옴표
- \" : 큰 따옴표
- \\ : \
- \0 : null
HELLO\nBUTTON
HELLO
BUTTON
=> boolean 리터럴
true or false
=> 참조 리터럴
null : 가리키는 데이터가 없다. 아직 알려지지 않은 값. Swift에서는 nil
=> constant (상수) : 데이터에 이름을 만들고 값을 변경하지 못하도록 하는것
자바에서는 변수를 만들 때 앞에 final을 붙이면 된다.
변수의 이름을 모두 대문자로 하는 것을 권장
5~7 교시
3. 기본형 데이터 사용 규칙
1) boolean 자료형의 변수에는 boolean 데이터만 대입이 가능
2) boolean 을 제외한 나머지 자료형은 모두 숫자 데이터를 저장하는 자료형
3) 자료형의 키기 비교
byte < short < char < int < long < float < double
=> 메모리 크기를 비교하는 것이 아니고 표현할 수 있는 숫자의 범위
4) 작은 자료형의 데이터는 큰 자료형의 변수에 대입이 가능
5) 큰 자료형의 데이터를 작은 자료형의 변수에 대입하는 것은 에러
4. Type Casting (형 변환)
=> 데이터의 자료형을 변경하는 것
=> 기본형(1개를 저장하는 자료형, 데이터 그 자체)과 기본형이 아닌 데이터(0개 이상을 저장하는 자료형, 데이터가 저장된 위치이므로)끼리는 변환이 안됨
1) 자동 형 변환
=> 형 변환을 명시하지 않았지만 자동으로 데이터의 자료형이 변경되는 경우
=> 작은 자료형의 데이터를 큰 자료형의 변수에 대입하는 경우 작은 자료형의 데이터는 큰 자료형의 데이터로 자동으로 변환되서 대입된다.
double d = 10;
// d는 double 이고 저장되는 데이터는 10은 int
// 위의 문장은 double d = 10.0; 으로 변경되서 수행된다.
=> 산술 연산(+, -, *, /, %)을 할 때는 int 보다 작은 자료형은 int로 변환해서 연산을 수행
=> 산술 연산을 할 때 서로 다른 자료형끼리 연산을 하면 작은 자료형의 데이터를 큰 자료형의 데이터로 변환해서 연산을 수행
=> 산술 연산의 결과는 2개의 데이터 중에서 자료형이 더 큰 자료형으로 리턴
2) 강제 형 변환
=> 데이터의 자료형을 강제로 변경하는것
=> 숫자 데이터는 다른 숫자 데이터 자료형으로 변경이 가능
=> boolean 은 다른 자료형으로 변경이 불가능
=> 참조형(0개 이상의 데이터를 저장하는 자료형)은 상속관계인 경우에만 가능
=> 숫자 데이터의 강제 형 변환은 큰 크기의 데이터를 작은 크기의 변수에 저장하기 위해서 또는 원하는 연산의 결과를 얻기 위해서이다.
=> 참조형의 경우는 원래의 자료형으로 되돌아가기 위해서이다.
=> 하는 방법
(변경하고 싶은 자료형)데이터
데이터를 괄호 안의 자료형으로 변경
(double)20 : 20.0 //20을 double로 변경
(int)10.7 : 10 //10.7을 정수로 변경 - 소수가 버려진다.
연습
이렇게 변수를 이용
5. Overflow / Underflow
=> Overflow : 저장할 수 있는 범위보다 큰 데이터를 강제 형 변환해서 대입했을 때 일어나는 현상
ex)
byte는 -128 ~ 127 까지 저장 가능
byte b = (byte)128; 127까지 저장가능한데 1이 초과 했으므로 (byte)128은 -128이다.
=>Underflow : 저장할 수 있는 범위보다 작은 데이터를
6. 문자열 저장
=> 문자열은 0개 이상 문자의 집합
=> 문자열 리터럴은 "" 안에 기재
'A' : A 라는 문자 '' 가 안된다. ''는 1개이어야 하므로 불가능
"A" : A 라는 문자열 "" 가능 ""는 0개 이상이므로 가능
=> 문자열 자료형은 String
=> 문자열 저장
String 이름 = "문자열";
=> 문자열 + 문자열 은 문자열을 이어붙인다.
=> 문자열 + 숫자는 숫자를 문자열로 변경해서 이어붙인다.
10+30 은 40인데
"10" + 30 : 1030 으로 출력된다
7. 리터럴을 저장하는 방법
=> 리터럴은 한 번 저장하고 다음부터는 재사용
int a = 10;
//10이라는 값을 a에 대입한다 는 틀린말이다.
//10이라는 데이터가 저장되어 잇는지 확인하고 저장되어 잇으면 저장된 해시코드(위치)를 a와 매핑하고 저장된 것이 없으면 저장하고 그 때의 해시코드를 a와 매핑
int b = 10; 이라고 하면 10은 한개 만 존재하고 a와 b 의 해시코드가 같은거다.
8 교시
진법
~ : 1의 보수
2의 보수 : 1의 보수 +1 => 컴퓨터는 2의 보수를 이용해서 음수를 표현한다 양수를 먼저 구한후 2의보수를 이용해서 음수를 표현
-1은 1의 2의보수 11111111111111111111111......
'Java' 카테고리의 다른 글
6일차 공부 반복문 (0) | 2020.04.13 |
---|---|
5일차 공부 IF 문 (0) | 2020.04.10 |
4일차 공부 연산자 ~ IF문 (0) | 2020.04.09 |
3일차 공부 연산자 (0) | 2020.04.08 |
1일차 공부 (0) | 2020.04.06 |