수업정리)
1) 저급언어, 기계어는 물리장치에 맞춰서 만들어진것(운영체제가 바뀌면 맞춰서 새로 작성해야된다.)
2) javac은 컴파일러 java는 인터프리터. cmd에서 한것은 실행코드로 번역하지 않고 인터프리터로 바로 실행한것.
- 1차 프로젝트는 : 스윙/awt 으로. 팀별. 다다음주 주제 만들어오기 ppt
3) 이클립스를 이용해 자바 프로젝트를 만드는 이점: 1. 편집기의 수준이 높음. 2. 폰트 사이즈 컨트롤+/- 3.들여쓰기 기능
4) 자바와 c언어의 차이점/ 자바의 특징: 메모리관리 최소화, 포인터 불편함 삭제. c는 코드에 통일성, 표준이 없어 모호함.
c++를 보수한것이 자바. c++/자바와 c의 차이점: 클래스생성. 언어의 단순성. c언어의 문법구조를 가지고있다.
-> 객체생성, 제거. 객체의 포인터 제거, 데이터 구조 정의에서 struct 제거, 다양한 인코딩 방법. 함수는 메소드로만 사용한다.
*간결성, 언어에 컬렉션 포함. 완전한 객체지향
5) 자바 값의 종류
값의 진법 변환: (0)00/000/000 8진법/ 0000/0000 16진법 ex)1011/0111 11/7 -> B7(16진수)
ex) 26(4바이트의 정수형)/26L(64비트의 정수형) = 0x1a(16) = 032 = 0b11010 = 0x1aL(64비트의 정수를 16진수로 표현)
- 정수는 32개 비트. 실수는 64개 비트(소수점 사용을 위해) 123.4f(실수를 표현할때 사용 FLOAT/명시적으로 8비트를 지정하려면 123.4d 써주기)
1.234e2는 왼쪽으로 2칸 옮겼다는 뜻. / 오른쪽 방향이면 -e/1.234e2d(명시적으로 지정.123.4의 double형)
* 자료형)
분류 | 이름 | 바이트 수 | 비고 |
정수형 | byte | 1 | -127 ~ +128 |
short | 2 | -32,768 ~ + 32,767 | |
int | 4 | -2,147,483,648 ~ +2,147,483,647 | |
long | 8 | -9,223,372,036,854,775,808~ +9,223,372,036,854,775,807 | |
실수형 | float | 4 | 단정도 실수형 (유효 자리는 7 정도임) |
double | 8 | 배정도 실수형 (유효 자리는 15정도) | |
문자형 | char | 2 | 유니코드 문자열 |
논리형 | boolean | 1 | true, false |
-> 묵시적 형변환: 작은 수를 큰 수의 형으로 변경시에는 자바에서 자동으로 묵시적 형변환을 실행한다.
*자동형변환 순서: byte -> short/char -> int -> long -> float-> double (역은 명시적으로 해야한다)
-> 명시적 형변환: 큰 수를 작은 수로 변경하는 경우엔 값의 소실이 일어나기 때문에 묵시적 형변환이 되지 않아 명시적으로 형변환 해줘야 한다.
- 실수형식: float x = 3.5;의 문제점은 실수형의 기본이 double이라 에러난다. double x =20 + 3.5f 가능(int형인 변수는 자동 형 변환규칙으로 float으로 형변환이 이루어진다. 20.0f+3.2f가 되는것이다. 자료형이 double이라 float형 20.0f+3.5f는 double형으로 자동변환되어 저장된다.)
* int num =30; long num2 =(long)num이렇게 코드를짜고 부족한 4바이트는 0으로 채워진다.(이상적인 코드) // 이클립스에서 자동으로 형변환해줘서 int를 long에 넣는것은 가능하다.
*byte, short 이클립스에서 돌아가는데..?
-자바 컴파일 과정: 1단계) 형태소 분석 - 단어단위로 자른다 2단계) 구문분석 3) 의미분석 4) 기계어로 변환하기 위한 중간코드(바이트코드, 의사코드, 슈도코드) 생성 => 여기까지가 javac단계 /cpu가 번역하는 기계 단계 5) 최적화 단계 6) 물리코드 생성 =>java 단계
-
'국비 2019.03.11 > 3월' 카테고리의 다른 글
| 03.14 과제 (0) | 2019.03.14 |
|---|---|
| 03.14 수업정리 (0) | 2019.03.14 |
| 03.13 과제 정리 (0) | 2019.03.13 |
| 03.12 자바 프로그래밍 (0) | 2019.03.12 |
| 1주차 (03.11) 컴퓨터 프로그램 (0) | 2019.03.12 |