공부/JAVA

[java] 자바의 정석 요약정리 2 ~ 5장

junani0v0 2024. 4. 4. 14:00

자바의 정석 1~5장 정리.pdf
0.17MB

 

 

[ 2장 변수 ]

변수: 하나의 값, 저장공간 (R:읽기, W:쓰기)

-변수선언:

변수타입 변수이름;

 

<(data)>

1.     숫자 :

     정수형 : byte(1), short(2), int(4), long(8byte)

     실수형 : float(4), double(8)

     논리형 : Boolean – true 또는 false

2.     문자

     char(2) : 1글자

     string : 0~n글자

 

<타입>

모든 값은 타입이 있고, 타입을 모르면 해석 불가

 기본형 : 8(논리형,문자형,정수형,실수형)

   참조형 : 무한 개

  1byte 2byte 4byte 8byte
논리형 boolean      
문자형   char    
정수형 byte short int long
실수형     float double

 

<표현 범위>

int +-20( 2 x )

float 정밀도 소수점 7자리

double 정밀도 소수점 15자리

 

<접미사>

정수형 L, 실수형 f

 

<형 변환>

1.      정수 大 <-> 정수 小

2.      실수 大 <-> 실수 小

           -> 小 일 때는 앞에 부분 잘린다

           -> 大 일 때는 앞에 빈자리 0이 채워진다

3.      정수 <-> 실수

(정수) 1 –float à  (실수) 1.0f

(실수) 3.6f – int à (정수) 3 (소수점 사라진다)

 

<기본형의 자동 형 변환 가능한 방향>

< 문자열 리터럴 >

문자열 + any type -> 문자열 + 문자열 -> 문자열

any type + 문자열 -> 문자열 + 문자열 -> 문자열

 

< printf() >

지시자를 통해 변수 값 여러 형식으로 변환 출력

자주 사용하는 지시자

%d : 10진수 정수의 형식으로 출력

%s : 문자열로 출력

%n : 줄바꿈

%f : 소수점의 형식으로 출력(소수점6자리까지 출력)

 

 

< Scanner >

화면으로부터 입력받는 방법

1.     String input = scanner.nextLine();

//입력받은 내용을 input에 저장/nextLine = 한줄씩

2.     int num = Integer.parseInt(input);

//입력받은 내용을 int 타입의 값으로 변환

// Integer.parseInt =숫자

1+2를 한줄로 바꾸면

3.     int num = scanner.nextLine();

//정수를 입력 받아서 변수 num에 저장

(단점: 연속적으로 값을 입력받아 사용하기 까다랍다)

 

<기본형>

문자형 -char

유니코드

char ch ‘A’ =>문자 ’A’ 는 코드 65로 저장된다

‘0’ = 48 ~ ‘9’ = 57

‘A’ = 65 ~ ‘Z’ = 90

‘a’ = 97 ~ ‘z’ = 122

 

자주 사용하는 특수 문자

\t = tab

\n = new line

 

[ 3장 연산자 ]

연산을 수행하는 기호 ( + , - , * , / )

우선순위

     계산  + , - , * , / , %

     비교 < , > , <= , >= , == , !=

     논리 && (and, ), || (or, ), ! (not)

     대입 =

 

1.     우선순위 : 상식 + 괄호

단항(1)>이항(2)>삼항(3)

2.     결합법칙 : 왼쪽 ->오른쪽

단항&대입만 오른쪽->왼쪽

3.     산술변환 : 둘 중 큰 타입으로 일치

int보다 작은 타입은 int로 변환

 

< 단항 연산자 >

 증감 연산자 ++ , --

: 피연산자에 저장된 값을 1 증가 또는 감소시킨다

전위형 값을 참조되기 에 증가 j = ++i;
후휘형 값을 참조된 에 증가 j = i++;

 

< 나머지 연산자 % >

왼쪽의 피연사자를 오른쪽 피연산자로 나누고 난 나머지 값을 결과로 반환하는 연산자

짝수 홀수 또는 배수 검사 등에 주로 사용

 

< 삼항 연산자 >

조건식 ? 1 : 2

조건식이 참이면 식1을 거짓이면 식2을 출력

ex) result = ( x > y ) ? x : y ;

x=5, y=3 이면 x > y 가 참이기에 x가 출력된다

 

[ 4장 조건문 & 반복문 ]

<조건문>

if ( 0~1번 작동)

if(조건식){조건식이 참일 실행하는 문장}

if - else( 둘 중에 하나)

if(조건식){조건식이 참일 실행하는 문장

}else{ 조건식이 거짓 일 때 실행하는 문장}

 

if – else if ( n개 중 1)

if(조건식1){조건식1 참일 실행하는 문장

} else if(조건식2){조건식2 참일 실행하는 문장

} else if(조건식3){조건식3 참일 실행하는 문장

} else { 위 어느 조건식에도 만족하지 않을 때 실행하는 문장// else블럭 생략가능}

 

중첩 if

if(조건식1){조건식이 참일 실행하는 문장

         if(조건식2){조건식12 모두 참일 때 수행

}else{조건식1이 참이고 조건식2는 거짓 일 때 실행하는 문장}

  }else{조건식1 이 거짓일 때 수행될 문장들}

 

< 반복문 >

for

for( 초기화; 조건식; 증감식){ // 조건식이 참일 때 수행하는 문장};

ex)

for(int i=1; i<=5; i++){System.out.println(“I can do it” )};

i 1로 저장하고 매 반복마다 1씩증가 조건식 i<=5 가 거짓이 되면 반복을 마치게 된다

결과 : I can do it5번 출력된다

향상된 for

for( 타입 변수명 : 배열 또는 컬렉션 ){ 반복할 문장 };

배열 또는 컬렉션일대만 사용 가능하며

while

while(조건식){조석식이 참인 동안 실행하는 문장}

 조건이 참인동안 반복

for문과 while문은 서로 100% 변환가능

do - while

do{ 조건식의 연산관과가 참일 때 수행될 문장

}while(조건식);

while문과의 차이

while문은 조건식의 결과에 따라 한번도 실행되지 않을 수 도 있지만 do - while문은  최소 한번은 수행이 보장된다.

 

break

주로 if문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다

break 반복문이름

2개 이상 나갈 때  지정한 반복문 이름을 벗어난다

 

continue

반복문 내에서만 사용가능, 반복이 진행되는 도중에 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다. 주로 if문과 함께 사용

for문의 경우 증감식으로 이동

while문과 do - while문의 경우 조건식으로 이동

 

[ 5장 배열 ]

<배열>

배열 : 같은 타입의 여러 변수를 하나의 묶음으로

다루는 것 // 저장공간 x n

배열의 길이는 int범위의 양의 정수( 0포함 )

한번생성 하면 크기변경 불가

배열 용량 늘리기

     생성 ( 더 큰 배열 생성 )

     복사 ( 전에 배열을 새 배열로 연결한다 )

     연결 ( 전에 연결된 곳에 연결 후

전에 연결된 곳 차단 후 자동삭제 된다 )

객체 : 변수 x n

<배열의 생성>

타입[ ] 변수이름;

//배열 선언(배열을 다루기 위한 참조변수 선언

변수이름 = new 타입[길이];

//배열 생성(실제 저장공간을 생성)

<배열의 길이>

배열이름[인덱스] : 인텍스(index)의 범위는  0부터 배열길이-1’까지

배열의 길이는 int범위의 양의 정수(0도 포함)이어야함