본문 바로가기
Language/Java 요약

0613 Java 정리 / 변수~ 반복문

by 태윤2 2020. 6. 13.

변수 :

데이터를 담는 기억공간

데이터가 저장된 데이터 공간에 데이터를 저장하면 기존데이터는 제거됨

반드시 변수 선언과정을 거쳐서 메모리 공간을 생성한 후에 데이터 저장 가능

변수 초기화 전에는 변수에 접근 하여 사용할 수 없다

 

<기본 문법>

선언 : 데이터타입 변수명;

초기화 : 변수명 = 데이터;

데이터 타입 변수명 = 데이터;

 

상수 : 변하지 않는 데이터(Literal)

 

 

식별자 필수규칙

공백사용불가

대소문자 구분

$, _ 만 사용 가능

첫글자에 숫자가 올수 없음

 

CamelCase

클래스 첫글자 대문자 메서드,변수 첫글자 소문자

의미있는 단어를 사용

 

 

데이터 타입

  1Byte 2Byte 4Byte 8Byte
정수형 byte short int(기본형) long
실수형     float double(기본형)
논리형 boolean      
글자형   char    

아스키 코드 0= 48 , A =65 , a= 97

 

 

자바에서의 데이터 형변환

 

묵시적 형변환 

자바 컴파일러에 의해 자동으로 일어남

작은거에서 큰거로 변할때 일어나는것 

아무런 문제가 생기지 않음

 

명시적 형변환(강제형변환)

 

큰 데이터 타입에서 작은 데이터타입으로 변환시 OverFlow가 발생함

OverFlow 때문에 자동형변환이 일어나지 않음

반드시 형변환연산자를 사용해 작은 데이터타입으로 강제 형변환을 수행해야함

원본데이터와 전혀다른 데이터가 저장될수 있음

큰데이터 타입 앞에 (작은데이터타입) 형태로 명시해야함

ex) int i = (int)long u;

 

실수형(float,double) 은 데이터 표현 방식 차이에 의해 정수형 보다 무조건 큰 타입으로 취급됨

float 는 long 보다 데이터크기는 작지만 표현할수 있는 범위가 더크다

 

 

산술 연산자 (+,-,*,/,%)

나눗셈 연산자 (/)는 몫만 계산하고

나눗셈 연산자 (%)는 나머지를 계산함

 

규칙 1)산술연산시 int형보다 작은 데이터타입을 연산 할 경우 자동으로 int 로 변환후 연산 수행

byte + byte = (int)byte = int

 

규칙 2) int형 이상의 타입과 연산 시 피연사자 중 큰타입으로 변환 후 연산

 

 

대입연산자 (=)

우변의 데이터를 좌변의 변수에 대입(저장 = 할당)

모든 연산자 중 우선순위가 최하위

 

복합(확장) 대입연산자(+= -= *= /= %=)

연산자 좌우변의 피연산자 2개를 각 산술연산한후 그결과를 다시 좌변의 변수에 저장

복합 대입연산자를 사용하면 연산과정에서의 자동 형변환이 일어나지 않는다

ex) char +=2; // int 형으로 변환 되지 않음

 

비교(관계) 연산자 (>,>=,<,<=, ==, !=)

두 피연산자의 대소관게를 비교하는 연산자

연산 결과로 true 또는 false 형태의 boolean 타입 결과가 리턴됨

 

증감 연산자(++,--)

변수의 값을 1만큼 증가시키거나 감소키시는 연산자

변수의 앞쪽에 붙을 경우 전위 연산자

변수의 뒤쪽에 붙을 경우 후위 연산자 라고함

=> 다른 연산자와 함께 사용 될 경우 위치에 따라 연산 순서가 달라지므로 주의!

연산과정에서 자동 형변환이 발생하지 않음

 

논리 연산자 (&, |, !, ^)

논리연산자 진리표

 

삼항연산자(조건연산자)

연산에 참여하는 항이 3개인 연산자

앞에 오는식에 대한 판별결과가 true 일때와 false 일 때 각각 다른 값을 선택하는 연산자

 

평가식 ? <값1> : <값2>;

평가식 ? <값1> : <평가식2> ? 값2 : 값3:;

     평가식 1 결과가 false 이고 평가식 2 결과가 true 이면 값2 선택

     평가식 1 결과가 false 이고 평가식 2 결과가 false 이면 값 3 선택

 

 

 

if문

가장 단순한 조건문

조건식 판별 결과가 true 일때 특정 문장을 추가로 실행하는 if문

 

<기본문법>

 

if(조건식){

           조건식이 true 일때 실행할 문장들

}

 

 

if ~ else 문

 

특정 조건식 판별 결과가 true 일때와 false 일때 서로 다른 블록을 실행

 

다중 if ~ else if 문

두 가지 이상의 조건식을 사용하여 세가지 이상의 경우의 수를 판별하는 if문
모든 조건이 만족하지 않을 때 실행할 문장을 작성하려면 else 문을 사용

if문 비교는 위에서 아래로 차례대로 판별을 수행하므로 범위가 좁은거부터 넓은 문장 순으로 비교

 

중첩 if문

if문 등의 블록 내에서 또 다른 if문을 사용하여 조건식을 판별하기위해 if문을 여러번 중첩시키는 것

 

 

switch ~case 문

if문처럼 특정 조건에 대한 여러가지 판별을 수행하여 각각 다른 문장을 수행하는 조건문

단, if문과 달리 범위에 대한 판별 등이 불가능

switch문의 조건식에는 반드시 정수 또는 문자열(또는 Enum 상수)만 사용가능

case문의 값은 조건식 결과와 비교할 리터럴 1개만 명시 가능

일치하는 case문이 없을 때에는 default문을 찾아서 실행함

if문과는 달리 case문끼리의 순서는 상관없이 값만 나열하면 된다.

if문은 프로그램 실행 시점에서 실행할 위치가 결정되지만,

switch ~case 문은 프로그램 컴파일(번역) 시점에서 실행위치가 결정되므로 실행 속도가 빠름

 

switch(조건식){

      case 값1 :

                      조건식의 결과가 값1과 일치하는 경우

                      [break;] ->switch 문을 빠져 나감

      case 값2 : 조건식 결과가 값2와  일치하는 경우

      default :  case 문 중 일치하는 값이 없을 경우 실행할 문장

}

 

 

반복문

 

for 문

가장 기본적인 반복문 초기식,조건식,증감식의 위치가 정해져 있다
반복 횟수가 정해져 있는 경우 주로 사용함

조건식에서는 반복 여부를 결정하기 위한 조건식의 결과가 true/false 가 되도록 한다

 

for(초기식 ; 조건식 ;증감식){

                   조건식이 true일때 실행할 문장들

}

 

while 문

for문과 달리 조건식 위치만 정해져있고, 초기식과 증감식 위치는 유동적

반복 횟수가 정해져 있지 않은 경우 주로 사용함

 

for문과 while문은 100% 상호 변환 가능

 

초기식;

while(조건식) {

                 증감식 or

              조건식 결과가 true일때 반복할 문장

                    증감식

}

 

do ~while 문

while 문과 달리 조건식을 먼저 판별하지 않고 반복문을 한번 실행한 후 마지막에 조건식을 판별하는 while문

 

초기식;

do{

조건식 판별 결과는 false이지만, do문장을 만나 무조건 한번은 실행 한후 마지막에 조건식을 판별하여

false 가되어 do~while 문이 종료됨

 

i++}while(조건식);

 

반복문의 제어 

break : 반복문을 빠져나가기 위해 사용하는 문장

 

continue 반복문의 continue문장 아래쪽 문장들을 실행을 생략하고, 다음 반복을 진행

 

 

 

'Language > Java 요약' 카테고리의 다른 글

6/28 요약 List ~String 관련 클래스  (0) 2020.06.28
Java 0614 정리 / 다형성-추상  (0) 2020.06.14
Java 0614 정리 / 클래스 ~ 상속  (0) 2020.06.14
0613 Java 정리 2 / 배열  (0) 2020.06.13
0527 Java Test  (0) 2020.05.27