반응형

[들어가기 전에]

 

컴파일 시점 vs 런타임 시점

 

컴파일이란?

사람이 작성한 언어를 기계가 이해할 수 있는 언어로 변경하는 과정!

기계어로 변경을 하면 생성되는 파일이 존재한다.

개발자가 작성한 파일은 .java 파일입니다.

컴파일러가 번역한 파일은 .class 파일입니다.

번역하는 과정을 javac 라는 명령어를 통해서 처리가 가능하다.

이클립스는 저장 ctrl + s를 누르면 자동으로 명령어를 입력하지 않더라도 .class 파일로 변환해준다.

즉, 컴파일 시점이란 사람이 작성한 언어를 기계언어로 변경한 시점을 말한다.

 

런타임시점?

java 명령어를 통해서 프로그램이 동작하는 시점을 말한다.

 

[정리]

컴파일을 처리하면 어디 폴더에 어떤 파일이 만들어 질까요?
= > ...xx/bin/ch01/HelloWorld.class 파일이 만들어진다.

패키지(package)란?
주 언어파일(.java)을 모아둔 것을 패키지라고 부른다.

 

[변수와 자료형]

data?
단순한 사실을 나타내는 수치 
(ex) 기온, 습도, 날씨, 문자, 문자열... 각각의 수치들이 데이터가 됩니다.

bit(1비트) : 컴퓨터가 표현하는 데이터의 최소 단위로 2진수 하나의 값을 저장할 수 있는 크기
byte(바이트) : 1byte = 8bit

변수(Variable)란? 

● 값(Value)을 저장할 수 있는 메모리의 공간을 의미합니다.
● 이름에서 유추할 수 있듯이 변수는 말 그대로 '변하는 수' 입니다. 

변수는 언제 쓰나요?

● 프로그램에서는 항상 변하는 값을 나타낼 필요가 있음 ( ex. 학생의 성적, 합계, 게임의 레벨, 회원 주소 등등...)
● 표현하려는 수에 맞는 데이타 타입(자료형)을 이용하여 변수를 선언

 

변수이름 규칙

1. 대소문자가 구분되며 길이에 제한이 없다.

EX) Name과 name은 서로 다른 것으로 간주

2. Java에서 사용하는 예약어는 사용할 수 없다.

EX) while, break, for, if ...

3. 숫자로 시작해서는 안된다.

EX) top10은 허용하지만, 8top은 불가능하다.

4. 특수문자는 '_(언더바)', '$' 만을 허용한다.

 

자료형(Data type)

변수를 선언하면 해당되는 자료형의 크기 만큼 메모리가 할당됩니다.

변수는 할당된 메모리를 가리키는 이름을 말합니다.

EX) int level =10; // 4바이트 정수형 메모리가 level이라는 이름으로 할당됨을 의미

 

[실전예제]

package ch01;

 

public class Variable {

 

public static void main(String[] args) {

 

// **변수를 사용하는 방법**

int age; // 문장의 끝은 세미콜론(;)을 통해서 컴파일러에게 알려주어야 한다.

int count; // <-- 변수 선언 - 메모리 공간만 할당해준상태!

 

age = 1; // 초기화 한다(값을 넣다)

// age2 = 10; 메모리 공간을 할당해야 사용할 수 있다. age2 공간은 없는 상태

 

count = 100; // 100으로 초기화

 

// 화면에 xxx를 출력해주세요!

System.out.println(age); // 개발자 도구에서 만들어둔 명령어

// 실행 : 단축키 ctrl + f11 (실행)

System.out.println(count);

 

// 변수란 메모리 공간도 의미하지만, 변하는 수 이기도하다.

age = 500;

// int age; <- 먼저 할당한 변수 이름을 똑같이 하나 더 만들 수 없다. (공간할당의미)

System.out.println(age);

 

// 변수에 선언과 초기화 (한번에 사용)

int myAge = 30;

System.out.println(myAge);

System.out.println("===========================");

// 화면에 바로 숫자도 입력, 문자도 바로 입력 할 수 있다.

System.out.println(700);

System.out.println("문자열");

 

} // end of main

 

} // end of class

반응형

'Java > Java 이론' 카테고리의 다른 글

[JAVA] 변수와 상수  (0) 2023.07.25
[JAVA] 변수형과 자료형 - 2  (0) 2023.07.25
[JAVA] 이클립스 환경 설정  (0) 2023.07.24
[JAVA] 이클립스(Eclipse) 설치  (0) 2023.07.24
[JAVA] 자바 교육 1일차  (0) 2023.07.24

+ Recent posts