JAVA 1주차

ndy·2022년 9월 4일

Java

목록 보기
1/10

자바란?

  • 이식성이 높은 언어다.

  • 객체 지향 언어이다.
    프로그램을 다수의 객체로 만들고, 이들끼리 서로 상호작용하도록 만드는 프로그래밍 언어
  • 함수적 스타일 코딩을 지원
    함수적 스타일 코딩 방식 람다식을 지원
  • 메모리를 자동으로 관리
    사용하지 않는 객체를 자동으로 메모리에서 제거
  • 멀티 스레드를 쉽게 구현 가능

자바 프로그램 과정

자바 소스 파일 -> 바이트 코드 파일 -> 기계어 -> 실행


변수

어떤 값을 저장하는 메모리 공간


리터럴

소스 코드 내에서 직접 입력된 값

  • 정수 리터럴

    	ex) 1, 02, 0x5
  • 실수 리터럴

    	ex) 0.25
  • 문자 리터럴

    	ex) 'A', '한', '\n', '\t'
  • 문자열 리터럴

    	ex) "abcd"
  • 논리 리터럴

    	ex) true, false

데이터 타입

  • 정수 : byte, char, short, int, long
  • 실수 : float ex) 3.14F, double
  • 논리 : boolean

정수 리터럴에 10의 지수를 나타내는 E 또는 e가 있으면 실수 타입에 저장해야 함
ex) double test1 = 3e6 -> 3000000


타입 변환

  • 데이터 타입을 다른 타입으로 변환하는 것

자동 타입 변환

프로그램 실행 도중 작은 타입은 큰 타입으로 자동 타입 변환 됨

byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)

ex) int <- byte

byte byteValue = 10;
int intValue = byteValue; //자동 타입 변환

ex) int <- char

char charValue = 'A';
int intValue = charValue; //65

ex) char <- byte

byte byteValue = 65;
char charValue = byteValue; //오류 (char는 음수 값 불가능)

char charValue = (char) byteValue; //가능

강제 타입 변환

큰 타입을 작은 타입 단위로 쪼개고 끝 한부분만 작은 타입으로 강제 변환

ex)

int intValue = 103029770;
byte byteValue = (byte)intValue;
실행결과 = 10

ex)

int num1 = 123456780;
int num2 = 123456780;

float num3 = num2;
num2 = (int) num3;

int result = num1 - num2; // -4
float: 부호(1bit) + 지수(8bit) + 가수(23bit)

연산식에서 자동 타입 변환

서로 다른 타입의 피연산자는 같은 타입으로 변환
* 두 피연산자 중 크기가 큰 타입으로 자동 변환
ex)

int intValue = 10;
double doubleValue = 5.5;

double result = intValue + doubleValue;
//double result = (double)intValue + doubleValue; 자동 변환

0개의 댓글