✎NHN Academy | JAVA

NHN Academy - 2024.08.20(Tue)

박순돌 2024. 8. 20. 17:35

Module 02

정수형 배열 = int[]

문자형 배열 = String[]

 

너무 많은 주석은 코드의 가독성을 오히려 방해할 수 있다.

어노테이션 : 주석에 어노테이션을 추가해서 응용 프로그램 설명하는 HTML 문서 공유 가능!

벡터(Vector)를 대체하기 위해 나온 것이 ArrayList

아래와 같은 방법으로 Javadoc을 사용하여 HTML 문서를 생성할 수 있습니다.
$ javadoc -d [출력 디렉토리] [대상 파일]        EX>   $ javadoc -d . Hello.java

 

예외 처리의 장점 (

- 실제 구동되는 코드와 오류나는 코드를 분류할 수 있어서 편리함

 

디버깅 : 각 변수에 어떤 값이 들어가는지 확인해보는 작업

 

cd 현재 위치한 폴더 이름  // 현재 폴더로 이동(1단계씩 이동할 것!)

javac 파일이름.java  // 디버깅하기

java 파일이름  // 실행하기

 

터미널 명령어 모음

java *.java // 모든 자바 파일 출력하기

java Hello // Hello 클래스 출력하기

java test // Test 클래스 출력하기

javac *.java // 클래스 생성하기

code . // 현재 디렉토리의 코드 실행하기 

javadoc -d . Hello.java

 

 


 

 

 

 

 

Module 03

빌드인 타입 : 기본적으로 제공되며, 내부적으로 없으면 안되는 구성 요소들

Java의 8개 기본 데이터 타입

정수형 Byte(8bit) Short(16bit)
가장 작은 표현 O
Int(32bit) Long(64bit)
실수형     Float(32bit) Double(64bit)
가장 큰 표현 O
문자형   Char(16bit)    
논리 자료형 Boolean(1byte)      

 

처음 나온 코드 = 아스키 코드

CP-949

전 세계적인 문자 코드 = 유니코드

현재 사용중인 문자 코드 = UTF-8

 

변수 이름은 대문자를 피한다! WHY? 상수를 대문자로 작성한다.(변수값이 할당되지 않는 것을 방지하기 위해서)

변수 -> 다 붙여서 작성해라!

 

추가 설명) statement와 expression의 차이점

statement = 메모리의 값을 바꿔, 상태를 변화시키는 것       EX> 하나의 statement가 끝남 -> ; 작성(C, C++, JAVA)

expression = 메모리의 값을 바꾸지 않고, 상태를 변화시키는 것

 

연산자 우선순위   :   1. *   2. +   3. =

i += 1;   는   i++;   와 같다.                                비교 연산자            i = (1 == 2) ? 5 : 9;

 

형 변화하기

정숫값 뒤에 F, D 를 작성!

 

int + int = int                      int + short = int                      int + long = int                         short + short = int

WHY?  정수인 int 로 모두 변환해서 계산하기 때문!

 

 

 

값 타입 : 스택 영역에 저장 / 해당 데이터가 직접 포함 / 한 연산이 다른 변수에 영향을 안 끼침 / 스택 영역에 데이터 저장

참고 타입 : 데이터가 있는 위치를 저장 / 두 참조 타입 변수가 같은 객체를 가리킬 수 있음

                      / 한 연산이 다른 데이터에 영향을 끼칠 수 있음 / 힙 영역에 저장

                      / Java에서 모든 참조 타입은 java.lang.Object 의 서브 타입

 

 

BigInteger를 사용해야 하는 이유

우리가 프로그램을 만들 때 조건에 의해 굉장히 큰 수의 셈이 필요한 경우가 있다. int나 long의 범위만 해도 넘을 경우가는 잘 없겠지만, 변수의 정수 표현 범위를 넘어서게 되면 0이나 내가 의도하지 않았던 값으로 출력된다. 우리는 최악의 경우를 고려해야 하므로, 무한의 정수가 들어갈 가능성이 있다면 BigInteger는 사용할 수 있는 좋은 선택지이라 하겠다.

BigInteger는 int, long, Integer, Long과 달리 문자열 형태로 숫자를 처리하므로 아무리 큰 수라도 담을 수 있다.

 

  추상 클래스 인터페이스
사용 키워드 abstract interface
사용 가능 변수 제한 없음 static final (상수)
사용 가능 접근 제어자 제한 없음
(public, private, protected, default)
public
사용 가능 메소드 제한 없음 abstract / default / static / private method
상속 키워드 extends  implements
다중 상속 가능 여부 불가능 가능 (클래스 다중 구현, 인터페이스 다중 상속)
공통점 1. 추상 메소드를 가지고 있어야 한다.
2. 인스턴스화 할 수 없다 (new 생성자 사용 X)
3. 인터페이스 혹은 추상 클래스를 상속받아 구현한 구현체의 인스턴스를 사용해야 한다.
4. 인터페이스와 추상클래스를 구현, 상속한 클래스는 추상 메소드를 반드시 구현하여야 한다.

 

 

 

아스키코드

 

 

Module 04   Statement과 Exception

빌드인 타입 : 기본적으로 제공되며, 내부적으로 없으면 안되는 구성 요소들

 

Java의 8개 기본 데이터 타입

 

반복문(각 성능은 비슷하다!)

-for문           -while문          - do-while문          -switch문

 

 

 

 

'✎NHN Academy | JAVA' 카테고리의 다른 글

NHN Academy - 2024.08.26(Mon)  (0) 2024.08.26
NHN Academy - 2024.08.23(Fri)  (0) 2024.08.23
NHN Academy - 2024.08.22(Thu)  (0) 2024.08.22
NHN Academy - 2024.08.21(Wed)  (0) 2024.08.21
NHN Academy - 2024.08.19(Mon)  (0) 2024.08.19