오늘 가는 버스 안에서 영어공부를 해야 했는데 꿀잠잤다.
그리고 내리기 2분 전에 깸.
오늘도 어김없이 자바 수업 시작
변수와 메모리
자료형의 종류
정수형 | 문자형 | 실수형 | 논리형 | |
1바이트 | byte | boolean | ||
2바이트 | short | char | ||
4바이트 | int | float | ||
8바이트 | long | double |
float형은 어제 배운 long형과 똑같이 숫자 뒤에 F(대문자) or f(소문자)를 써줘야 한다.
자바에서는 실수를 더 정밀하게 표현하기 위해 float형(4바이트)보다 double(8바이트)를 주로 사용한다.
자료형 없이도 변수를 선언할 수 있다.
자바 10부터는 var를 자료형 대신 사용할 수 있다. 변수에 대입되는 값을 보고 알아서 컴파일이 된다.
자바 스크립트에서는 아예 var를 쓴다. 기억나니? 난 너 기억나는데....
var를 쓸 때 유의점
- 한번 선언한 변수는 다시 사용할 수 없다.
- 지역변수만 가능하다.
그러니까 변수 이름을 똑같이 쓸 수 없다는 소리다. 이건 당연한 소리고.
지역변수는 그 변수가 있는 괄호 안에서만 쓸 수 있는 변수다. 간단하게 말하면 메소드 안에서 사용하는 변수.
괄호를 밖 유효범위를 넘어서 쓰면 오류가 생긴다. 당연한 소리22
괄호 밖에서 쓸 수 있는 변수는 전역변수다. 클래스 바로 밑에 두고 사용한다.
클래스 밑에 쓸 수 있는 것은 메소드, 생성자, 그리고 변수(전역변수) 이렇게 세가지가 있다.
for 반복문 같은 실행문들은 클래스 밑에 바로 못 쓴다.
지역변수와 전역변수는 서로 이름이 같아도 계층구조가 다르기 때문에 오류가 생기지 않는다. 음 김민지팀장님이랑 김민지 사원같은 건가
생활코딩으로 공부하면서 이런 이론은 부족했는데 이렇게 수업에서 알 수 있어서 참 좋다.
자바가 어떤식으로 돌아가는지 구조를 미리 공부해 두고 이런 이론을 배우니까 뭔가 더 아~ 그렇구나하고 잘 이해되는 느낌.
상수
상수를 선언할 때는 앞에 final을 쓰고 변수를 선언하면 된다. 변수가 상수가 되는 매직
상수 이름은 대문자를 쓰기 때문에 이름으로 의미를 파악하기 위해 카멜표기법을 이용할 수 없다.
그래서 그 상수의 의미를 나타내기 위해 여러 단어로 만들어진 이름은 _로 구분해주면 된다.
변하지 않는 수를 굳이 왜 상수로 만드는 걸까?
변하지 않아야 하는 해당 값을 반복적으로 써야 한다면 상수로 만들어 놓으면 작업이 확실히 편해진다.
그리고 그 상수값에 따로 이름을 붙이면 값의 의미를 파악하기 좋다.
형변환
1+1.0 = ?
작은 자료형에서 큰 자료형으로 바뀔 때는 자동형변환이 일어난다.
그리고 정수에서 실수로 바뀌는 것도 자동으로 형변환이 된다.
그럼 위의 수식을 계산해보면 정수형 + 실수형이다. 그러면 정수에서 실수로 바뀌고 값도 실수로 바뀌게 된다.
1+1.0 = 2.0
아래는 작은 자료형에서 큰 자료형으로, 정수에서 실수로 형변환을 한 예제이다.
형변환은 계산하기 전에 일어난다. 형변환 다음에 계산이 된다.
그렇기 때문에 강제형변환을 할 때 형변환 위치에 따라서 값이 달라지기도 한다.
아래 예제를 보면 계산식은 dNum1 + fNum2 으로 똑같지만 int형으로 강제형변환을 하는 위치에 따라 값이 달라졌다.
어느 방식은 틀렸고 맞는게 없다고 한다.
프로그램의 컨셉에 맞게 프로그래머가 잘 위치 선정을 해야 한다.
그리고 강제형변환은 자동형변환의 반대로 큰 자료형에서 작은 자료형으로 형변환을 하기 때문에 자료 손실이 있다.
'학원 수업' 카테고리의 다른 글
7일차 - java '연산자' (0) | 2021.10.07 |
---|---|
6일차 - SQL '테이블 구조' (0) | 2021.10.06 |
4일차 - java '변수' / MySQL 'select ~ from' (0) | 2021.10.05 |
3일차 - 이클립스 컴파일 하기 (0) | 2021.10.01 |
2일차 - SQL 첫걸음 1장(22p~49p) (0) | 2021.10.01 |