■ 변수타입 2

package variable;

public class Var8 {
    public static void main(String[] args) {
        //정수
        byte b = 127; //-127 ~ 127
        short s = 32767; // -32,768 ~ 32,767
        int i = 2147483647; // -2,147,483,648 ~2,147,483,647

        ////-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
        long l = 9223372036854775807L;

        //실수
        float f = 10.0f;
        double d = 10.0;
    }
}

 

# 메모리를 적게 사용하면 작은 숫자를 표현할 수 있고, 메모리를 많이 사용하면 큰 숫자를 표현할 수 있다.

# 변수를 선언하면 표현 범위에 따라 메모리 공간을 차지하며, 필요에 맞도록 다양한 타입을 제공한다.


 

※ 표현할 수 있는 숫자의 범위와 차지하는 메모리 공간

  • 정수형
    # byte : -128 ~ 127(1byte, 2⁸)
    # short : -32,768 ~ 32,767 (2byte, 2¹⁶)
    # int : -2,147,483,648 ~ 2,147,483,647 (약 20억) (4byte, 2³²)
    # long : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (8byte, 2⁶⁴)
  • 실수형
    # flot : 대략 -3.4E38 ~ 3.4E38, 7자리 정밀도 (4byte, 2³²)
    # double : 대략 -1.7E308 ~ 1.7E308, 15자리 정밀도 (8byte, 2⁶⁴)
  • 기타
    # boolean : ture, false (1byte)
    # char : 문자 하나(2byte)
    # String : 문자열 표현, 메모리 사용량은 문자 길이에 따라 동적으로 달라진다.

※ 리터럴 타입 지정

  • 정수 리터럴은 int를 기본으로 사용한다.
    int 범위까지 표현이 가능하나, int 범위를 넘어선 경우 L을 붙여 정수 리터럴을 long으로 변경해야 한다.
    ※ 대문자 L, 소문자 l 모두 가능하나 소문자 l은 숫자 1과 착각하기 쉬워 비추
  • 실수 리터럴은 기본이 double형을 사용한다. float형을 사용하려면 f를 붙여 float형으로 지정해야 한다.

■ 변수 타입 정리

※ 아래와 같은 타입은 실무에서 거의 사용하지 않는다.

  • byte : 표현 길이가 너무 작다. 자바는 기본으로 4byte(int)를 효율적으로 계산하도록 설계되어 있다.
    # byte 타입을 직접 선언하고 여기에 숫자 값을 대입해서 계산하는 일은 거의 없다.
    # 파일은 파이트 단위로 다루기 때문에 파일 전송, 파일 복사 등에 주로 사용된다.
  • short : 표현 길이가 너무 작다. 자바는 기본으로 4byte(int)를 효율 적으로 계산하도록 설계되어 있다.
  • float : 표현 길이와 정밀도가 낮아 실수형은 double 사용!
  • char : 문자 하나를 표현하는 일은 거의 없으므로 문자 하나를 표현할 떄도 문자열 사용!
참고 : 메모리 용량은 매우 저렴하므로 메모리 용량을 절약하기 보단
개발 속도나 효율에 초점을 맞추는 것이 효과적이다.

※ 자주 사용하는 타입

  • 정수 - int, long : 자바는 정수에 기본으로 int를 사용한다.
    20억이 넘을 것 같은 경우에는 long을 사용하면 된다.
    # 파일을 다룰 때는 byte를 사용한다.
  • 실수 - double : 실수는 고민하지 말고 double을 사용하면 된다.
  • 불리언형 - boolean : true, false 참 거짓을 표현한다. 조건문에서 사용
  • 문자열 - String : 문자를 다룰 때는 문자 하나든 문자열이든 모두 String을 사용한다.
    # 예시 ) String a = "b"와 같이 사용 가능!

'Language > Java' 카테고리의 다른 글

Java 변수 문제풀이  (0) 2024.06.27
Java 변수 명명 규칙  (0) 2024.06.19
Java 변수 타입1  (0) 2024.06.18
Java 변수 값 변경  (0) 2024.06.16
Java 변수시작  (0) 2024.06.16

■ 변수타입 1

변수는 데이터를 다루는 종류에 따라 다양한 형식이 존재한다.
package variable;

public class Var7 {
    public static void main(String[] args) {
        int a = 100; //정수
        double b = 10.5; //실수
        boolean c = true; //불리언(boolean) true, false 입력 가능
        char d = 'A'; //문자 하나
        String e = "Hello Java"; //문자열, 문자열을 다루기 위한 특별한 타입

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);

    }
}

 

  • 변수는 데이터를 다루는 종류에 따라 다양한 형식이 존재한다.
    이런한 형식을 영어로는 타입(type)이라 하고 우리말로는 형식 또는 형이라 한다.
    예) int 타입, int 형식, int형 등 특별히 구분하지 않고 섞어서 부른다.

 

  • int : 정수를 다룬다. 예) 1, 100, 1000
  • double : 실수를 다룬다. 예) 0.2, 1.5, 100.121
  • boolean : 불리언 타입으로 true, false 값만 사용한다.
    주로 참과 거짓을 판단하는 곳에서 사용한다.
  • char : 문자 하나를 다룰 때 사용한다.
    ( ' ) 작은따옴표를 감싸서 사용해야 한다. 예) 'A' , '가'
  • String : 문자열을 다룬다. 큰따옴표를 사용해야 한다. 예) "Hello Java"
참고 :  String은 첫 글자가 대문자로 시작하는 특별한 타입이다.

※ 각 변수는 지정한 타입에 맞는 값을 사용해야 한다.

  • int a = "백원"; : 정수 타입에 문자열 사용 불가
  • int a = "100"; : 정수 타입에 문자열 사용 불가, 변수 a는 숫자 100이 아닌 문자열 100이다.
    문자를 나타내는 ( " ) 쌍 따옴표로 감싸져 있다.
  • int a = 100; : 정수 타입에 정수

■ 리터럴

코드에서 개발자가 직접 적은 100, 10.5, true, 'A', "Hello Java"와 같은 고정된 값을
프로그래밍 용어로 리터럴(literal)이라 한다.

※ 변수의 값은 변할 수 있지만, 리터럴은 개발자가 직접 입련한 고정 값으로 리터럴 자체는 변하지 않는다.

참고 : 리터럴(literal)이라는 단어의 어원은 문자 또는 글자를 의미한다.

'Language > Java' 카테고리의 다른 글

Java 변수 명명 규칙  (0) 2024.06.19
Java 변수 타입2  (0) 2024.06.18
Java 변수 값 변경  (0) 2024.06.16
Java 변수시작  (0) 2024.06.16
Java 자바란?  (0) 2024.06.13

■ 변수 값 변경

package variable;

public class Var3 {
    public static void main(String[] args) {
        int a; //변수 선언
        a = 10; // 변수 초기화
        System.out.println(a);

        a = 50; //변수 값 변경 : a(10 > 50)
        System.out.println(a);
    }
}

 

실행결과)

변수의 값이 변경된 이후에는 10 대신 50이 출력된 것을 확인할 수 있다.

 


 

프로그램은 한 줄씩 순서대로 실행된다.

변수의 값을 변경하면 변수에 들어있던 기존에 값은 삭제된다.

'Language > Java' 카테고리의 다른 글

Java 변수 타입2  (0) 2024.06.18
Java 변수 타입1  (0) 2024.06.18
Java 변수시작  (0) 2024.06.16
Java 자바란?  (0) 2024.06.13
Java 주석(comment)  (0) 2024.06.13
package variable;

public class Var1 {
    public static void main(String[] args) {
        System.out.println(10);
        System.out.println(10);
        System.out.println(10);
    }
}

 

■ 패키지

  • variable 패키지 생성
  • 패키지는 현재 단계에서 자바 파일을 구분하기 위한 폴더로 이해하면 된다.
  • variable 패키지 생성 후 해당 패키지에 들어가서 자바 파일 첫 줄에
    package variable; 과 같이 소속된 패키지 선언을 해야한다.
  • 자바 파일이 위치하는 패키지와 package variable 선언 위치가 같아야 한다.

실행 결과)

 


Var2 

package variable;

public class Var2 {
    public static void main(String[] args) {
        int a; // 변수 선언
        a = 20; // 변수 초기화

        System.out.println(a);
        System.out.println(a);
        System.out.println(a);
    }
}

 

 

변수 선언 실행 결과)

 


 

  • 숫자 정수(Integer)를 보관할 수 있는 이름의 a라는 데이터 저장소를 만들며, 이를 변수라 한다.
  • 이렇게 변수를 만드는 것을 변수 선언이라 하며, 변수 a에는 숫자 정수를 보관할 수 있다.
  • 숫자 정수 뿐만 아니라, 문자, 소수와 같이 다양한 종류 값을 저장할 수 있는 변수가 있다.

 

a = 10

  • 자바에서 = 은 오른쪽에 있는 값을 왼쪽에 저장하는 뜻으로
    수하게서 이야기하는 두 값이 같다(equals)와는 다른 뜻이다!
  • 숫자를 보관할 수 있는 데이터 저장소인 변수 a에 값 10을 저장한다.
  • 선언한 변수에 처음으로 값을 대입해서 저장하는 것을 변수 초기화라 한다.

System.out.println(a)

  • 변수에 저장되어 있는 값을 읽어서 사용하는 방법은 변수 이름만 적어주기만 하면 끝!
  • 변수 a에 10이 들어가 있다면 자바는 실행 시점에 변수의 값을 읽어 사용한다.
    # System.out.print(a) // 변수 a의 값을 읽음
    # System.out.print(10) // 변수 a의 값을 읽음 // a의 값인 10으로 변경, 숫자 10 출력
  • 변수의 값은 반복해서 읽을 수 있으며, 변수의 값을 읽는다고 값이 없어지는 것은 아니다. 

'Language > Java' 카테고리의 다른 글

Java 변수 타입1  (0) 2024.06.18
Java 변수 값 변경  (0) 2024.06.16
Java 자바란?  (0) 2024.06.13
Java 주석(comment)  (0) 2024.06.13
Java 자바 프로그램 실행  (1) 2024.06.13

■ 자바 표준 스팩

자바 표준 스팩과 구현

 

자바는 표준 스팩과 구현으로 나눌 수 있다.


◎ 자바 표준 스팩

  • 자바는 이렇게 만들어야 한다는 설계도이며, 문서이다.
  • 이 표준 스팩을 기반으로 여러 회사에서 실제 작동하는 자바를 만든다.
  • 자바 표준 스팩은 자바 커뮤니티 프로세스(JCP)를 통해 관리된다.

◎ 다양한 자바 구현

  • 여러 회사에서 자바 표준 스팩에 맞추어 실제 작동하는 자바 프로그램을 만든다.
  • 각각 장단점이 있으며, Amazon Corretto는 AWS에 최적화 되어있다.
  • 각 회사들은 대부분 윈도우, MAC, 리눅스 같이 다양한 OS에서 작동하는 버전의 자바도 함께 제공한다.
참고 : 다양한 자바 구현은 아래 링크 참고
https://whichjdk.com/ko

 


 

  • 자바 구현들은 모두 표준 스팩에 맞도록 개발되어 있다.
    Open JDK를 사용하다가 Amazon Corretto 자바로 변경해도 대부분 문제 없이 동작한다.

  • Hello.java와 같은 자바 소스 코드를 개발자가 작성한다.
  • 자바 컴파일러를 사용해서 소스코드를 컴파일한다.
    # 자바가 제공하는 javac라는 프로그램을 사용한다.
    # .java > .class 파일이 생성된다.
    # 자바 소스코드를 바이트 코드로 변환하며, 자바 가상머신에서 빠르게 실행될 수 있도록
       최적화하고 문법 오류도 검출한다.
  • 자바 프로그램을 실행한다.
    # 자바가 제공하는 java라는 프로그램을 사용한다.
    # 자바 가상 머신(JVM)이 실행되면서 프로그램이 작동한다.

  • 인텔리제이는 내부에 자바를 편리하게 설치하고 관리할 수 있는 기능을 제공한다.
  • 이 기능을 사용하면 인텔리제이를 통해 자바를 편리하게 다운로드 받고 실행할 수 있다.
참고 : 자바를 OS에 직접 설치해도 되지만, 프로그래밍을 처음 시작하는 사람에게 해당 과정은 번거롭다.
자바를 직접 설치하는 경우 환경 설정이 복잡하므로 환경설정 하는 방법은 추후 살펴보자!

 


 

 

  • 컴파일
    # 자바 코드를 컴파일 하려면 javac라는 프로그램을 직접 사용해야지만, 인텔리제이는 자바 코드를 실행할 때
       해당 과정을 자동으로 처리해준다. 예) javac Hello.java
    # 인텔리제이 화면에서 프로젝트에 있는 out 폴더에 가보면 컴파일된 .class 파일이 있는 것을 확인할 수 있다.
  • 실행
    # 자바를 실행하려면 java 라는 프로그램을 사용해야하며, 이때 컴파일된 .class 파일을 지정해주면 된다.
    # 예) java Hello, 참고로 확장자는 제외!
  • 인텔리제이에서는 자바 코드를 실행하면 컴파일과 실행을 모두 한 번에 처리한다.
  • 인텔리제이 덕분에 매우 편리하게 자바 프로그램을 개발하고, 학습할 수 있다.

  • 일반적인 프로그램은 다른 운영체제에서 실행할 수 없다.
  • 예를들어 윈도우 프로그램은 MAC이나 리눅스에서 작동하지 않는다.
  • 이유는 우니도우 프로그램은 윈도우 OS가 사용하는 명령어들로 구성되어 있기 때문에
    해당 명령어는 다른 OS와 호환되지 않는다.

  • 자바 프로그램은 자바가 설치된 모든 OS에서 실행할 수 있다.
  • 자바 개발자는 특정 OS에 맞추어 개발을 하지 않아도 되며, 자바에 맞추어 개발하면 된다.
    OS 호환성 문제는 자바가 해결하며, Hello.class와 같이 컴파일된 자바 팡리은 모든 자바 환경에서 실행 가능하다.
  • 윈도우 자바는 윈도우 OS가 사용하는 명령어들로 구성되어 있다.
    MAC이나 리눅스 자바도 본인의 OS가 사용하는 명령어들로 구성되어 있다.
    개발자는 각 OS에 맞도록 자바를 설치하기만 하면 끝!

  • 개발 시 자바와 서버에서 실행할 때 다른 자바를 사용할 수 있다.
  • 개발자들은 개발 편의를 위해 윈도우나 MAC OS를 주로 사용한다.
  • 서버는 주로 리눅스를 사용한다.
    만약 AWS를 사용한다면 Amazone Corretto자바를 AWS 리눅스 서버에 설치하면 된다.
  • 자바의 운영체제 독립성 덕분에 각각의 환경에 맞추어 자바를 설치하는 것이 가능하다.

'Language > Java' 카테고리의 다른 글

Java 변수 값 변경  (0) 2024.06.16
Java 변수시작  (0) 2024.06.16
Java 주석(comment)  (0) 2024.06.13
Java 자바 프로그램 실행  (1) 2024.06.13
Java 개발 환경 설정  (0) 2024.06.10

■ 주석

소스코드가 복잡하다면, 소스코드에 대한 이해를 돕기 위해 설명을 적을 수 있다.

또한, 특정 코드를 지우지 않고. 잠시 실행을 막아두고 싶을 때가 있는데

이럴 때 주석을 사용하면 된다. 자바는 주석이 있는 곳을 무시한다.


주석의 종류

  • 한줄 주석(single line comment)
    // 기호로 시작한다. 이 기호 이후의 모든 텍스트는 주석으로 처리된다.
  • 여러 줄 주석(multi line comment)
    /* 로 시작하고 */ 로 끝난다. 이 사이의 모든 텍스트는 주석으로 처리된다.

■ CommentJava

public static void main(String[] args)
인텔리제이에서 psvm 입력 후 enter 입력 시 자동 작성
System.out.println("hello java");
sout 입력 후 enter 입력 시 자동 작성

 

public class CommentJava {
    public static void main(String[] args) {
        System.out.println("hello java1"); //hello java1을 출력합니다.
        //System.out.println("hello java2");

        /*
        System.out.println("hello java3");
        System.out.println("hello java4");
         */
    }
}

 

주석으로 처리한 코드는 실행되지 않으며, 주석은 프로그램이 읽지 않고 무시하는 부분.

사람이 읽기 위해 사용한다.

'Language > Java' 카테고리의 다른 글

Java 변수 값 변경  (0) 2024.06.16
Java 변수시작  (0) 2024.06.16
Java 자바란?  (0) 2024.06.13
Java 자바 프로그램 실행  (1) 2024.06.13
Java 개발 환경 설정  (0) 2024.06.10

● HelloJava

public class HelloJava { //HelloJava 클래스 범위 시작

    public static void main(String[] args){ //main() 메소드 범위 시작
        System.out.println("hello java");
    } //main() 메소드 범위 끝
} //HelloJava 클래스 범위 끝

 

자바 언어는 대소문자를 구분하며, 대소문자가 다르면 오류가 발생할 수 있다.

 

# public class HelloJava

  • HelloJava를 클래스라 한다.
  • 파일명과 클래스 이름이 같아야 한다.
  • { } 블록을 사용해서 클래스의 시작과 끝을 나타낸다.

# public static void main(String[] args)

  • main 메소드라 한다.
  • 자바는 main(String[] args) 메소드를 찾아 프로그램을 시작한다.
  • 현재는 main을 프로그램의 시작점이라 이해하면 된다.
  •  { } 블록을 사용해서 메소드의 시작과 끝을 나타낸다.

#System.out.println("hello java");

  • System.out.println() : 값을 콘솔에 출력하는 기능이다.
  • "hello java" : 자바는 문자열을 사용할 떄 "(쌍따옴표)를 사용한다.
    쌍따옴표 사이에 원하는 문자열을 감싸면 된다.
  • ; : 자바는 세미콜론으로 문장을 구분한다. 문장이 끝나면 세미콜론 입력은 필수!

● 블록(block) 예시

public class HelloJava { //HelloJava 클래스 범위 시작

    public static void main(String[] args){ //main() 메소드 범위 시작
        System.out.println("hello java");
    } //main() 메소드 범위 끝
} //HelloJava 클래스 범위 끝

 

  • 블록({})이 시작되고 끝날 때마다 들여쓰기가 적용되어 있는 것을 확인할 수 있으며,
    이는 코드를 쉽게 구분하고 이해하도록 도와주는 좋은 관례! 블록이 중첩될 때 마다 들여쓰기의 깊이가 추가된다.
  • 블여쓰기는 보통 스페이스 4번을 사용하며, IntelliJ IDE를 사용하면 Tab 한번 누르면 스페이스 4번 누른것과 같다.
  • 들여쓰기를 하지 않아도 프로그램은 작동하나 코드를 읽기 어렵다.

'Language > Java' 카테고리의 다른 글

Java 변수 값 변경  (0) 2024.06.16
Java 변수시작  (0) 2024.06.16
Java 자바란?  (0) 2024.06.13
Java 주석(comment)  (0) 2024.06.13
Java 개발 환경 설정  (0) 2024.06.10

IDE - 인텔리제이 vs 이클립스

  • 자바 프로그램을 개발할 때는 인텔리제이(IntelliJ) 또는 이클립스(Eclipse)라는 툴을 사용한다.
    과거에는 이클립스를 많이 사용헀으나 최근에는 빠른 속도 및 사용의 편의성 때문에 인텔리제이를 주로 사용한다.
  • 자바로 개발하는 대부분의 메이저 회사들도 인텔리제이를 주로 사용

OS - 윈도우 vs Mac

  • 자바로 개발하는 대부분의 메이자 회사들은 Mac 사용

나는 현재 윈도우를 사용해서 공부하고 있다.

언젠간 맥으로 개발을 할 수 있는 날을 바라보며 화이랭


■ 인텔리제이(IntelliJ) 설치

#다운로드 링크 : https://www.jetbrains.com/ko-kr/idea/download/?section=windows

#IntelliJ IDEA Community Edition (무료 버전) 다운로드

- OS 선택 : Windows, macOs, Linux

   ▶ Windows : .exe 선택

   ▶ macOs : M1, M2 : Apple Silicon 선택, 나머지 Intel 선택

 

※ 인텔리제이는 무료 버전인 Community Edition과 유료 버전인 IntelliJ IDEA Ultimate가 있다.

 


■ 인텔리제이 실행하기

 

 

# New Project 선택


#Name: java-start
#Location: 프로젝트 위치, 임의 선택
#Create Git repository 선택하지 않음
#Language: Java
#Build system: IntelliJ
#JDK: 자바 버전 17 이상
#Add sample code 선택


# Select 선택 후 Create 선택


한글 언어팩이 설정된 경우 영어 언어팩 변경이 필요하다.
  • IntelliJ는 가급적 한글 버전 대신, 영문 버전 사용이 좋다.
    개발하면서 필요한 기능을 검색하게 되는데, 영문으로된 자료가 많기 때문이다.
  • 한글로 나온다면 아래와 같이 영문으로 변경할 수 있다!
    #Mac : IntelliJ IDEA(메뉴) >> Settings.. >> Plugins >> Installed
    #Windows : File >> Settings.. >> Plugins >> Installed
     ㄴ Korea Language Pack 체크 해제 > OK 선택 후 인텔리제이 재시작

'Language > Java' 카테고리의 다른 글

Java 변수 값 변경  (0) 2024.06.16
Java 변수시작  (0) 2024.06.16
Java 자바란?  (0) 2024.06.13
Java 주석(comment)  (0) 2024.06.13
Java 자바 프로그램 실행  (1) 2024.06.13

+ Recent posts