100일 챌린지/빅데이터기반 인공지능 융합 서비스 개발자

Day 01 - JAVA 설치하기

ksyke 2024. 7. 22. 17:53

목차

    JDK 버전 확인하기

    winget -v

    인스톨 가능한 jdk 찾기

    winget search jdk

    -> oracle에서 설치한 java는 자동으로 path를 설정하지 않는다 (따로 설정해 줘야 함 echo %path%를 통해 찾아보기 가능)

    JAVA 설치하기

    winget install 장치ID

    java 버전 확인하기

    java -version

    javac 버전 확인하기

    javac -version

    워크스페이스 만들기

    cd /
    mkdir workspace
    cd workspace

    새 파일 만들기(소스코드)

    notepad Ex01.java
    class Ex02{
        public static void main(Strin[] args){
            System.out.println(); //콘솔에 출력하라는 명령어
        }
    }

    파일 저장후 컴파일러 변환

    javac Ex01.java

    실행하기

    java Ex01

    -> python의 경우 컴파일 작업이 따로 필요 없는 interpreter 기법을 사용해 프로그램을 실행시킨다.

    버전에 대해

    일반적인 버전은 A.B.C 으로 표시된다.
    A : version
    B : version
    C : 패치 (문제 해결-디버그 할 때마다 버전업)
    기본적으로 숫자는 0부터 시작한다. (예: 1.0.0)
    AB가 바뀌는 것은 상황에 따라 다르지만, A는 호환성에 민감하다. (높은 숫자는 하위의 버전을 호환한다-하위호환성)
    A가 같고 B가 다르면 하위 호환성을 유지하며 업데이트가 된 버전이라고 이해하면 된다.
    (예를 들어 Python 2.x와 3,x는 호환되지 않아 서로 변환해주는 코드를 따로 제공하기도 한다.)
    (1.x.x은 보통 릴리즈 프로그램 버전, 0.x.x는 개발 과정에서 쓰인다.)

    Java의 경우
    1.9버전 부터는 메이저 버전업을 포기해 최신 버전이라 해도 메이저 버전이라 불리지 않는다.

    1.8은 지원 기간이 끝나도 파생 언어가 많기 때문에 사용하는 것이 좋다. 그리고 11과 17버전은 LTS(Long Term Service)라서 이 버전을 쓰는것이 좋다.

    Java의 3가지 종류의 플랫폼 제공

    • Java 2 ME(Mobile Edition) : PDA, 스마트폰 등 소형 기기를 위해 개발
    • Java 2 SE(Standard Edition) : 클라이언트 중심의 일반적인 자바 응용 프로그램 개발 환경
    • Java 2 EE(Enterprose Edition) : 서버 중심의 기업용 소프트웨어 개발 환경
      -> 현재로서는 종류에 상관하지 않고 사용되고 있다.

    운영체제에 독립적

    JAVA는 JVM(Java Virtual Machine)을 통해 실행되기 때문에 운영체제에 구애받지 않는다.

    Java 사용하기

    class Ex01{
        public static void main(String[] args){
            System.out.println("Hello World");
        }
    }

    식별자

    변수, 상수, 메소드, 배열, 문자열, 사용자가 정의하는 클래스나 메소드 등을 구분할 수 있는 이름을 의미한다.

    식별자의 사용 원칙

    • 식별자는 문자, 숫자, 특수문자(_, $)로 구성될 수 있다. (하지만 특수기로는 사용하지 않는것을 추천)
    • 식별자의 첫 문자는 반드시 문자(혹은 특수문자)로 시작할 수 있다.
    • 예약어는 식별자로 사용될 수 없다. (예: class, for 등)
    • 클래스 명의 첫 문자는 대문자 이어야 한다. (안해도 상관은 없음-관례적인 약속) (예: class Ex01{ )
    • 단어와 단어를 조합할 때는 두 번째 단어의 첫 글자를 대문자로 한다. (예: ExClass01{ )

    변수 사용하기

    • byte : \(2^8\)
    • short : \(2^16\) (short는 앞 숫자를 부호로 사용한다.)
    • int : \(2^{32}\) (최대 표현범위: 2147483647)
    • long : \(2^{64}\) (long 타입으로 바꾸기 위해선 뒤에 L을 붙인다. 예:System.out.println(2147483648L);)
    • 실수형
      • float : 4byte (float이 short보다 더 많은 수의 범위를 표현할 수 있다.)
        (float으로 바꾸기 위해선 뒤에 F를 붙인다. 예:System.out.println(3.14f);)
        float은 long보다 메모리 수가 적지만 표현할 수 있는 수의 범위는 훨씬 많다.
      • double : 8byte
      • boolean : 1byte
        System.out.println(true);
        System.out.println(false);
        • Java에서 boolean은 숫자로 치환되지 않는다.
    • 문자 표현: ASCII코드를 통해 표현한다.
      • char
        • 1byte 체계에서는 127개의 숫자를, 자바에서는 UNICODE를 사용해서 2byte를 사용한다.
        • short < char < int
        • '' <- 작은따옴표 사용
          예 : System.out.println('A');
        • UNICODE로 표현하기:
          System.out.println('\u0041');= 'A'
        • 문자를 숫자로 바꾸기
          System.out.println((int)'a');
      • String
        • 문자열은 char를 더한 것이 아니다.
    • 첫 글자는 반드시 영문자 혹은 일부 특수 문자 사용.
    • 변수에는 공백이 사용 될 수 없다.
    • 변수의 대문자와 소문자는 구분된다. (Sum과 sum은 다른 변수)
    변수의 선언과 초기화
    int a; // 변수의 선언
    a = 1234; // 변수의 초기화
    System.out.println(a);
    강제로 변수의 타입 바꾸기
    a=(long)3;
    a=(float)3.14;

    java의 옵션값 살펴보기

    javac.exe -help

    -> javac에서 설정할 수 있는 옵션 보기

    javac -encoding utf8 Ex07.java

    -> 자바의 encoding 바꾸기

    주석

    //한줄 주석
    /*
        여러줄 주석
    */

    -> 주석은 컴파일 단계에서 제외시키기 때문에 인코딩된 파일의 크기에 영향을 미치지 않는다.

    Day01.7z
    0.00MB