JAVA

[JAVA] 형변환과 조건문

shb 2021. 9. 24. 18:06

1. 형변환

1-1. 형변환

- 변수의 자료형이 변환되는 것을 의미한다. 

- 특정 자료형의 값을 다른 자료형의 변수에 대입할 수 있다. 

- 암묵적 형변환과 명시적 형변환의 두 종류가 있다. 

 

 

1-2. 암묵적 형변환

- 서로 다른 자료형을 연산 혹은 대입하는 경우, Java컴파일러가 자료형을 통일한다. 이 과정에서 발생하는 형변환을 암묵적 형변환이라 한다. 

 

  long a = 100;// 정수형

  float b = a; // 정수형을 실수형에 대입

 

  -> 암묵적 형변환은 어떤 변수가 더 큰 범위의 변수로 대입 가능함을 의미한다. 

 

- 암묵적 형변환은 데이터 손실이 발생하지 않는 범위 내에서만 이루어진다. 

- double형 테이터 20.5를 int에 대입하는 경우에는 0.5에 대한 데이터 손실이 불가피하므로, 에러가 발생한다. 

 

1-3. 명시적 형변환

- 데이터 손실을 감수하더라도, 강제로 형변환시키는 형태

 

  자료형 b = (변환할 자료형) a;

 

- 실수형을 정수형으로 변환하는 경우, 소수점 이하 자리는 버려진다. 

 

  double a = 3.14d;

  int b = (int)a;  // 결과는 3

 

2. 조건문

2-1. 조건문이란?

- 무조건 실행되는 것이 아니라, 특정 조건을 충족할 경우에만 실행되는 구문

 

2-2. 조건문의 종류

- if문

  -> 주어진 조건이 참(true)일 경우에만 실행된다.

- if ~ else문

  -> 주어진 조건이 참(true)일 경우 if문이 실행되고, 그렇지 않을 경우 else문이 실행된다. 

- if ~ else if ~ else문

  ->조건을 여러개로 세분화하여 사용하는 if문이다. 

- switch문

  -> 하나의 '값'에 대하여 여러가지 경우의 수로 나누어 분기한다. 

 

2-3. if문

- if문은 주어진 조건이 참일 경우에만 지정된 구문이 실행된다. 

 

  if( 조건 ){

       .. 실행 구문 ..

 

- if문의 조건식

  -> 비교식(비교 연산자 사용)

  -> 논리식(논리 연산자 사용)

  -> boolean값

 

2-4. 그렇지 않으면

- if문이 조건이 참일 경우에 실행되는 구문이라면, if문의 조건과 반대되는 경우에 실행되는 구문이 else문이다. 

- else문은 독립적으로 실행될 수 없고, 반드시 if문의 뒤에 위치해야 한다. 

 

  if( 조건 ){

          .. 실행할 구문 ..

  } else {

          .. 반대 경우에 실행할 구문 ..

 

2-5. 여러가지 경우의 수를 분기

- if문과 else문 사이에 else if문으로 두번째 조건, 세번쨰 조건을 나열할 수 있다. 

- else if문은 필요한만큼 나열할 수 있으며, 필요치 않을 경우 else문은 생략 가능하다. 

 

  if( 1차 조건 ){

            .. 실행할 구문 ..

  } else if( 2차 조건 ){

            .. 실행할 구문 ..

  } else if( n차 조건 ){

            .. 실행할 구문 ..

  } else {

            .. 반대 경우에 실행할 구문..

  } 

 

2-6. switch문

- 변수 값에 대한 경우의 수를 처리하는 switch문

- switch문은 하나의 변수(기준값)에 대한 여러가지 case를 정의하는 구문이다. 

- if문은 조건에 식(비교식, 부등식)이 사용될 수 있지만, switch문은 분기 조건이 반드시 일치하는 "값"에 대해서만 처리 가능하다. 

 

 switch( 기준값 ){

 case 값1:

            ... 실행할 구문 ...

            break;

 case 값n:

            ... 실행할 구문 ...

 default:

            ... 모든 경우에 충족되지 않을 경우 실행될 기본 구문 ...