작콩큰콩
자바 3 (11.25) || 1 || boolean, 변수 이름 주의사항, 2의 보수법, 실수 오차,상수,변수 초기화 본문
자바 3 (11.25) || 1 || boolean, 변수 이름 주의사항, 2의 보수법, 실수 오차,상수,변수 초기화
귤치치 2023. 7. 3. 14:222020. 12. 14. 4:13

수업 시작 !!
* 어제 복습
- boolean 1, cha r2, byte 1, shor t2, int 4, long 8, float 4, double 8
- 변수란? 데이터를 저장하기 위해 메모리에 할당된 공간을 말한다.(검색용)
수업시간 선생님말 : 변하는 수를 말한다.
- int num; 을 메모리로 설명하세요.
: 인트이므로 정수값이 들어가는 4byte 짜리 이름이 num인 메모리 공간을 말한다. os가 주소를 만들어 주는 것이다.
- 문자가 뿌려지는 원리
: 캐릭으로 변수를 선언하게 되면 2바이트 짜리 공간이 메모리에 할당되고 거기에 문자값이 들어가는데 컴퓨터는 문자를 그대로 인식하지 못하므로 아스키 코드나 유니코드와 같이(약속된 표준) 숫자값으로 인코딩하여 저장하고 출력할 때에는 캐릭타입이므로 그에 맞는 문자로 디코딩하여 그에 맞는 폰트를 찾아 출력된다.
* boolean 타입 예시
public class Hello {
public static void main (String[] args) {
boolean b1 = true;
boolean b2 = false;
System.out.println(b1);
System.out.println(b2);
int num1 = 10;
int num2 = 20;
System.out.println(num1 < num2); //연산을 판단해주는 것은 cpu이다.
System.out.println(num1 > num2);
}//main end
}//class end
* 변수 이름 짓는데 주의사항
- 소문자여야 한다.
- 첫 글자부터 숫자로 표현할 수 없다.
- $와 _ 빼고는 사용할 수 없다.
- 키워드(문법을 위한 문자)는 사용할 수 없다.
* 정수란?
- 양수
- 0
- 음수
*실수란?
- 유리수
- 무리수
* 하드디스크에 십진수를 집어넣으려면 이진수로 변환해서 저장한다. 긁으면 1 안 긁으면 0이다.
* 8비트에서 일곱자리를 숫자를 주고 맨 앞자리는 부호비트를 주기 때문에 2의 7승 만큼되는 것이다.
- 0은 +
- 1은 -
- 숫자 +25 는 00011001 이다.
* 음의 정수를 표현하는 방법(2의 보수법)
+5
|
=
|
00000101
|
|
|
↓ 1의 보수를 취해준다.
|
|
|
11111010
|
|
|
↓ 여기서 1을 더해준다.
|
|
이것이 컴퓨터에서의 -5값이 된다.
|
11111011
(2의 보수법이라고 한다.)
|
그래서 빼보면
|
00000101
|
+
|
11111011
|
=
|
100000000
(8비트 넘는 1은 버림)
|
* 실수와 정수를 나눈 이유
실수와 정수를 2진수로 표현하는 방법이 다르기 때문이다.
* 왜 실수에는 오차가 생기는가?
실수는 무한한데 메모리는 유한해서 범위를 정할 수 밖에 없었다. 범위를 정하고 그 범위 안에서 수를 정할 수 밖에 없었다. 정해진 값 이외의 값이 선택된 경우에 근사값으로 값이 정해지기 때문에 오차가 생길 수 밖에 없다.
* float과 double의 차이
public class Hello {
public static void main (String[] args) {
float a = 0.123456f; //8자리 정밀도
double b = 0.123456789123456;//double 15자리 정밀도가 더 높아서 더블을 사용한다.
//이 때 정밀도는 연산 전의 정밀도를 말한다.
//연산을 하게 되면 처음은 고정 값이었을 지 몰라도
//소수점 15자리가 아닌 3자리에서도 오차가 날 수 있다.
System.out.println(b);
System.out.println(a);
}//main end
}//class end
* short 값을 연산하는 경우 오류의 이유
public class Hello {
public static void main (String[] args) {
short num1 = 11;
short num2 = 22;
short result = num1 + num2;//아래와 같은 이유로 연산할 때 int가 된다.
/*위에 오류가 나는 이유?
* 32bit는 int 4byte고 64bit는 long 8byte를 한번에 보낼 수 있다.
* 연산할 때는 short를 보내더라도 32bit의 경우 4byte값으로 보내기 때문에
* (선을 32개를 다 써야 하므로)
* int 값이 되어버린다.
* java가 32bit 이므로 이 뜻은 32bit가 최적화 되어있다는 의미이다.
*/
System.out.println(result);
}//main end
}//class end
* 상수란?
- 변수값을 한번만 할당할 수 있는 수로 변경이 불가능하다
- 변수 선언 앞에 final 이 붙는 경우를 말한다.
- 상수 이름은 변수명을 대문자로 만드는 것이 관례이다.
- 한번 초기화하면 값을 변경하지 못하는 수를 말한다.
- 어떨 때에 상수를 사용하는 가? : 중간에 누군가가 변경시켜서는 안되는 값을 상수로 해준다.
예) final double PI = 3.14; PI값은 고정이기 때문이다.
* 변수 초기화
: 해당 변수에 처음으로 값을 넣는 것을 초기화라고 한다.

'작은 콩 개발자 > 비트 학원' 카테고리의 다른 글
자바 3 (11.25) || 2 || 리터럴,진수,이스케이프 시퀀스,형 변환 (0) | 2023.07.03 |
---|---|
자바 2 (11.24) || 2 || 변수, 자료형, 아스키 코드표, 유니코드, 문자의 출력 (0) | 2023.07.03 |
자바 1 (11.23) || 2 || jdk설치,이클립스,환경변수,제임스 고슬링,오라클,cmd,JVM,os (0) | 2023.07.03 |
자바 2 (11.24) || 1 || 환경변수,Hello,workspace,주석,들여쓰기,설치,32 bit 와 64 bit,os의 역할 (0) | 2023.07.03 |
자바 1 (11.23) || 1 || 오리엔테이션 (0) | 2023.07.03 |