[ 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){조건식1과 2 모두 참일 때 수행
}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 it이 5번 출력된다
향상된 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도 포함)이어야함
'공부 > JAVA' 카테고리의 다른 글
[1회차 01] 자바 간단 정리 (0) | 2024.05.09 |
---|---|
[java] 정석코딩 자바 문제 오답노트 (0) | 2024.04.04 |
[java] 자바의 정석 요약정리 8 ~ 9장 (0) | 2024.04.04 |
[java] 자바의 정석 요약정리 6 ~ 7장 (0) | 2024.04.04 |