Day 1

dokiru·2023년 1월 31일
0

학원

목록 보기
1/51
  1. 프로그래밍 언어는 사람과 기계 언어 사이의 다리 역할을 한다. 고급언어와 저급언어로 나뉘는데, 고급언어가 사람이 쉽게 이해할 수 있는 언어이다.

  2. 자바 프로그램의 개발 과정
    자바 소스 파일 작성 - 컴파일러가 바이트 코드 파일 생성 - JVM(자바 가상 기계)을 실행 - JVM이 main() 메소드를 찾아서 블록 실행

  3. 자바 프로그램을 개발하기 위해서는 JDK가 설치 되어 있어야 한다.

JRE = JVM(자바 가상 머신)이 동작하는데 필요한 라이브러리들을 담아놓은 것
JDK = JRE + 컴파일러, 디버거 등의 개발도구

  1. 주석 : 프로그램 실행과는 상관없이 코드에 설명을 붙일 수 있게 하는 일종의 메모.
  • 행 주석 (//) : // 부터 라인 끝까지 주석 처리
  • 범위 주석 (/ ~ /) : // 사이에 있는 모든 범위를 주석으로 처리
  • 문서화 주석(/* ~ /) : API 도큐먼트를 생성하는데 사용

* 주석문은 문자열 내부에는 올 수 없다.

  1. 자바에서 변수 선언 이후에 사용하려면 초기화를 해줘야 한다.
int score; // 선언
score = 90; // 초기화

int score = 90; // 선언과 초기화를 동시에
int x, y, z = 70, 80, 90 // 변수의 타입이 같을 경우 콤마를 통해 
한꺼번에 선언과 초기화를 할 수 있다
  1. 리터럴은 소스 코드 내에서 직접 입력된 값을 의미한다. 상수와 비슷한 의미이지만
    상수는 변경할 수 없는 변수를 의미한다.

ex. 아래 코드에서 리터럴은 10과 3.14이다

int age;
age = 10;
double price = 3.14; 
  1. println(); -> 괄호 안에 들어간 값을 콘솔창에 띄우고 줄바꾸기 o
    print(); -> 괄호 안에 들어간 값을 콘솔창에 띄우고 줄바꾸기 x
  1. 자동타입변환 vs 강제타입변환

자동타입변환(묵시적)은 작은 크기의 타입이 큰 크기의 타입에 맞춰 변환되는 것이다.
ex) int타입의 변수와 double타입의 변수를 연산하면 int(4byte)는 double(8byte)으로 자동 변환된다.

강제타입변환(명시적)은 큰 크기의 타입이 작은 크기의 타입으로 변환되는 것이다.
작은 크기의 타입 = (작은 크기의 타입)큰 크기의 타입
괄호에 타입을 명시해주지 않으면 오류가 발생한다.

ex.

double dbnum = 10.5
int num = (int)dbnum // double을 int으로 변환해준다 (결과값 10) 
  1. 변수를 어디에 사용할지에 따라 적절한 타입을 지정해주는 것이 좋다. (범위 밖의 숫자는 에러를 유발한다)
값의 종류기본 타입메모리 사용 크기저장되는 값의 범위
정수byte1byte(8bit)-128 ~ 127
char2byte(16bit)0 ~ 2^16
short2byte(16bit)-2^15 ~ (2^15 - 1)
int4byte(32bit)-2^31 ~ (2^31 - 1)
long8byte(64bit)-2^63 ~ (2^63 - 1)
실수float4byte(32bit)(3.4 X 10^38) ~ (3.4 X 10^38)
double8byte(64bit)(1.7 X 10^308) ~ (1.7 X 10^308)
논리boolean1byte(8bit)true, false
  1. 정수형 타입 중 char은 작은 따옴표와 함께 사용하거나 특정 문자의 유니코드를 입력한다. 그리고 long타입은 숫자 뒤에 l을 붙여서 long타입임을 인식시켜준다. (정수형 타입의 기본값이 int이기 때문에 l을 붙이지 않으면 오류가 발생한다.)

ex.

char p1 = 'T';
char p2 = '\u0049';
char p3 = '문';
char p4 = 75;
long l1 = 10000000; // 에러
long l2 = 10000000l; 
  1. 실수형 타입인 float는 숫자 뒤에 f를 붙여서 float 형식임을 인식시켜 준다. (기본값이 double 이기 때문에 오류 발생)

ex.

double dvalue2 = 0.1234567890123456789; // 0.12345678901234568
float fvalue2 = 0.1234567890123456789f; //  0.12345679
  1. 선언만 하고 초기화 하지 않은 값을 연산에 사용하거나 불러올 경우 오류가 발생한다.

  2. 변수끼리 연산을 할 경우 더 큰 타입에 맞춰 결과값이 나온다. 하지만 문자열은 어떤 값을 만나도 문자열이 된다.
    ex.

		int p1 = 100;
		double p2 = 10.99;
		boolean p3 = true;
		char p4 = 'T';
		String p5 = "입니다";
		String p6 = "200";
        
        
        p1 + p2 = int(4byte) + double(8byte) = 110.99 (double)
        p4 + 5 = char(2byte) + int(4byte) = p4의 아스키코드가 int로 변환되서 결과값이 나온다.
        p1 + p2 + p6 = int + double + 문자열 => 110.99"200" (문자열)
        p6 + p2 + p1 = 문자열 + double + int => 20010.99100(문자열)
        
profile
안녕하세요!

0개의 댓글