IT/JAVA

Day 1 - 자바 기초

_KH_ 2024. 12. 26. 17:28

java는 개발 언어, 이클립스는 개발도구이다.

 

프로젝트를 생성하면 2개의 파일이 함께 생성되는데 그 파일들은 다음과 같다.

1. jre system library : 자바 실행환경에 필요한 기본 자원

             ==  라이브러리 == 자원 == 자바 코드 묶음 == .jar( java achrive)

 

2. src

           1) 패키지 : 클래스를 보관하는 서랍 역할 (ex. 신발장, 옷장)

           2) 클래스 : 자바의 기본 단위. 자바에서 클래스는 항상 대문자로 시작한다. (ex. 신발, 외투)

                            * 오로지 클래스만 대문자로 시작하며 함수 이름, 메소드 이름, 변수 이름 전부 소문자로 시작한다.

                            * 패키지마다 이름이 동일한 클래스가 각각 존재할 수 있다.

 

 

[키워드 vs 일반 단어]             

1. 키워드(==예약어) : 규칙이 있는 단어

           package, public, class 등..

 

2. 일반 단어 : 우리가 만드는 단어

          class05, Test01.. 

 

 

[접근 제어자(접근자)]

1. public : 기본, 전체공개

2. protected 

3. private : 비공개 (나만 보기)

 

[주석] : 코드를 설명. 개발자들 간 소통을 위해 사용한다.

// : 한줄 주석

/* */ : 여러줄 주석

 

주석은 세세하게 다는 것이 좋다!

 

[함수 3가지 구성요소] : input, output, 기능

1. input : 입력값, 매개변수, 인자, 인수, 파라미터 등으로 부른다. 

2. output : 출력값, 리턴값, return, 반환값, 결과값 등으로 부른다.

 

■ 양식 : output  함수명(input) 

      ex)    void main (args)

 

* void : 없다는 뜻. 0, 공백('') 아님.

* static == 객체와 무관하게

 

[변수] : 값(데이터)을 저장할 수 있는 공간

■ 변수의 3요소

1. 메모리 공간(크기) 

    - 1Byte, 4Byte..

    - 데이터의 타입(=자료형)을 미리 지정해야 한다.

2. 메모리 주소 

    - 모든 메모리 공간에 이름은 없을 수 있지만 주소는 반드시 존재한다. 

    - I@5ccd43c2에서 @는 해쉬 즉, 주소값(해시값)을 나타낸다.

3. 변수이름(변수명) 

    - 매번 주소로 불러올 수 없어 개발자가 붙인 이름 ( = 식별자)

    - 키워드는 식별자에 사용할 수 없다.

 

■ 데이터 종류

: 데이터는 저장할 수 있는 형태가 다 다르다.

1. 정수 : 4Byte                           ex. 1234, -2, 0 

2. 실수 : 8Byte                           ex. 3.14, -2.2, 0.1 

3. 문자 : 보통 1Byte(2-3까지)    ex. 'a' , 'B'

4. 문자열 :                                  ex. "banana", "apple"

5. 진위형 (Boolean)  :                ex. True, False 

 

■ 변수 선언

int num ; // 변수 선언 및 정의

int num = 123; // 변수 선언 및 초기화

 

[메모리]

C언어에서는 개발자가 malloc(동적 할당)을 통해 메모리 공간, 주소를 직접 선택하나, 자바는 개발자가 메모리에 대한 이해도가 없어도 사용할 수 있도록 만들어졌다. 

 

[연산자]

산술 연산자, 복합대입 연산자, 비교 연산자, 논리 연산자, 삼항(조건) 연산자 등

- / : 몫 연산자

- % : 나머지 연산자 

  * 정수끼리 연산 시 정수로만 결과가 출력된다.

 

■ 연산자 우선순위 중요★

int n3 = n1 % n2; // 연산자 2개. %가 먼저 수행된다. 산술 연산자 먼저!

int n4 = n1++; // 대입 먼저 후 증가
int n4 = ++n1; // 먼저 증가 후 대입

증감연산자를 앞에 붙이냐 뒤에 붙이냐에 따라 연산자 우선순위가 달라진다.★★

 

■ 연산자 우선순위 예제

package class07;

 

public class Test02 {

 

public static void main(String[] args) {

 

int a = 1;

int b = ++a*2;

int c = a-- * ++b;

int d = a > 1 || b!= 3 ? 10 : 20;

 

System.out.println(a);

System.out.println(b);

System.out.println(c);

System.out.println(d);

      }

}

답은 1, 5, 10, 10

 

a = 1;
 b= 2* 2 = 4 // a =2, b = 4
c = 2*5 = 10   // a = 1 , b = 5, c = 10
d = a>1(f) || b (t) 10
d = 10

a = 1 
b = 5
c = 10
d = 10

 

[제어문] : 조건문, 반복문 2가지로 구성

1. 조건문 : 일회성, "만약"

1) if 

2) switch 

 

2. 반복문 : n회, 여러번, 무한하게, 범위(a부터 b까지)

 

조건문과 반복문 구분 필요!

 

'IT > JAVA' 카테고리의 다른 글

Day3 - for문/ 변수의 유효범위(scope)  (0) 2024.12.30
while문 문제 풀이  (0) 2024.12.27
Day 2 - 조건문 : if문 예제  (1) 2024.12.27
디버깅표 작성하기  (0) 2024.12.26
CodeUp - 1153 : 두 수의 대소 비교  (0) 2024.12.26