Java의 시작..

개발공부기록하기·2024년 4월 22일

java

목록 보기
2/16

자바의 기초?에 관한 내용 정리

1. JDK : 자바 개발 도구 / Compiler : .java -> .class로 변환 해주는데 도와준다
2. JRE : 자바 실행 환경 / 실행하기 전에 먼저 프로그램에 메인 메서드를 포함하고 있는지 확인하면 JVM을 부팅한다
3. JDB : 디버깅
4. JVM : 자바 가상 기계 / Java프로그램이 실행되는 가상 컴퓨터 생각하면 된다.

javac.exe : 자바 컴파일러. 사람이 작성한 문장을 기계어로 번역 , (.java)을 (.class)로 변환

java.exe : 자바 인터 프리터. 클래스 파일을 실행

main 메소드 : 자바 프로젝트는 , 제일 번저 메인 클래스의 main 메소드를 실행 시킨다 = JVM의 약속
static : 이프로그램이 시작될때 무조건 실행되는 녀석임을 표현
void : 매서드의 출력 값의 데이터 타입 , void -> 아무것도 없다 OUT PUT
String[] args : 매개 변수 자리 inPUT

class : 자바 프로그램의 단위 자바프로그램은 클래스들로 구성

main 메서드 - 자바 프로그램의 시작점, main 메서드 없이 실행 불가

변수 : 프로그래밍 언어 에서는 하나의 값을 저장할수 있는 메모리 공간이다.

방법 : 변수 타입 "변수 이름"
	ex) int age; //정수타입의 age라는 이름의 변수를 선언

상수 : 변하지 않는 저장공간

기본형 변수 : boolean -> True/False 값만 저장

문자형 변수 : char -> 문자 하나만 저장

정수형 변수 : 정수형 숫자값을 저장

정수형 변수 표현 범위 : 표현 범위를 초과하면 ERROR 발생한다.

  • byte : -128 ~ 127 범위의 숫자만 저장 가능합니다.
  • short (2byte)는 -32,768~32,767 범위의 숫자만 저장 가능합니다.
  • int (4byte)는 -21억~21억 범위의 숫자만 저장 가능합니다.
  • long (8byte)은 9백경 정도의 매우 큰 수를 저장 가능합니다.

실수형 변수 : 소수점 실수값을 저장
실수형 변수의 표현

  • float (4byte) : 3.4 -10^38 ~ 3.4 10^38(long 보다 큼)
  • double (8byte) : 1.7 -10^308 ~ 1.7 10^308(long 보다 큼)

참조형 변수 : String(문자열 변수),arry(배열) / 무언가 복잡한값을 저장할 때
문자와 문자열의 차이점

  1. 선언 관점에서 차이
    char형은 문자 1개만 저장하여 ''로 선언 합니다.
    String형은 문장의 형태로 저장하기 때문에 ""로 선언합니다.
  2. 저장관점에서 차이
    char형은 문자 뒤에 \0이 없다.
    String 형은 끝맺음을 표시하기 위해 마지막에 \0이 있다.

참조형
참조형 변수 = 주소형 변수
기본형 변수는 실제 값을 저장 하지만
참조형 변수는 실제 값이 아닌 원본 값의 주솟값을 저장
형변환 : 변수의 타입을 바꾼다

ex>
문자열 -> 숫자
정수 -> 숫자
실수 -> 정수

변수 관련 예제

import java.util.Arrays;
import java.util.Scanner;

public class main {

public static void main(String[] args) {

    //객체 : 특징(속성, 변수) , 행동 (메소드)
    //. 하위 개채 접속 할때 주로 사용,System 안에 out이라는 하위 개채에 접속

    // 1. boolean
    //boolean flag = true;
    final boolean flag; //상수 선언

    flag = true;
    System.out.println(flag); // ture 값 출력

    // 2. char
    char alphabet = 'A';
    System.out.println(alphabet); //A 출력

    // 3. 정수형
    byte bytenumber = 127;
    short shortnumber = 32767;
    int intnumber = 2147483647;
    long longnumber = 32768L;

    System.out.println(bytenumber); //127
    System.out.println(shortnumber); //32767
    System.out.println(intnumber); //2147483647
    System.out.println(longnumber); //32768L

    // 4. 실수형
    //float ,double
    float floatnumber = 3.14159265f;
    double doublenumber = 3.14159265;

    System.out.println(floatnumber);
    System.out.println(doublenumber);

    //참조형 변수
    //1. String
    String HelloWorld = "Hello World";
    System.out.println(HelloWorld); //"Hello World"

    //2. 배열 arry
    int[] a = {1,2,3};

    System.out.println(Arrays.toString(a));
    //래퍼 클래스
    int number = 21;
    Integer num = number;
    System.out.println(num.intValue());
    //숫자 → 문자 변환
    //import java.util.Scanner 포함
    Scanner sc = new Scanner(System.in);

    int asciiNumber = sc.nextInt(); //nextInt() 문자 하나 하나를 읽는다
    char ch = (char)asciiNumber; // 문자로 형변환을 해주면 숫자에 맞는 문자로 표현됩니다.

    System.out.println(ch);
    //문자 -> 숫자 변환
    Scanner scc = new Scanner(System.in);

    char letter = scc.nextLine().charAt(0); // 첫번째 글자만 받아오기위해 charAt(0) 메서드를 사용합니다.
    int asciiNumberc = (int)letter; // 숫자로 형변환을 해주면 저장되어있던 아스키 숫자값으로 표현됩니다.

    System.out.println(asciiNumberc);
    //형변환 실습 실수 -> 정수
    double doubleNumber1 = 10.1010;
    float floatNumber1 = 10.1010f;

    //int 형으로 변환
    int intNumber1 = (int)doubleNumber1;
    System.out.println("double type : "+ doubleNumber1);
    System.out.println("int type : "+ intNumber1+"\n");
    int intNumber2 = (int)floatNumber1;
    System.out.println("float type : "+ intNumber2);
    System.out.println("int type : "+ intNumber2+"\n");

    //형변환 실습 정수  -> 실수
    int intNumber3 = 10;
    double doubleNumber2 = (double)intNumber3;
    float floatNumber2 = (float) intNumber3;

    System.out.println("int type : "+ intNumber3);
    System.out.println("double type : "+ doubleNumber2);
    System.out.println("float type : "+ floatNumber2+"\n");

	//자동형변환 -> 작은 크기의 변수 타입에서 큰크기의 변수 타입으로 자동으로 변환 한다
    //byte -> int
    byte bytenumber2 = 10;
    int intnumber4 = bytenumber2;
    System.out.println(intnumber4+"\n");


    //char -> int
    char charAlpabet = 'A';
    intnumber4 =  charAlpabet;
    System.out.println(intnumber4+"\n");

    //int -> long
    intnumber4 = 100;
    long longNumber = intnumber4;
    System.out.println(longNumber+"\n");

    //int -> double
    intnumber4 = 200;
    double doublenumber3 = intnumber4;
    System.out.println(doublenumber3+"\n");

    //작은 크기의 타입이 큰크기 타입과 계산 할때 자동으로 큰 크기 타입으로 형변환
    int aa = 10;
    double b = 5.5;

    double result = aa+b;
    System.out.println("plus ->" + result+"\n");

    //1 정수로 나누기
    int iResult = aa / 4;
    //2 실수로 나누기
    double dResult = aa / 4.0;

    System.out.println("iResutl:" + iResult );
    System.out.println("dResult:" + dResult );
}
}

0개의 댓글