본문 바로가기

자바/문법

삼항연산(삼항연산안에 삼항연산)

예제)


import java.io.IOException;


// 하나의 문자를 입력받아 소문자 -> 대문자, 대문자 -> 소문자, 기타문자는 입력 문자 출력

public class Test5{ 

public static void main(String[] args) throws IOException {

char a,b;


System.out.print("하나의 문자입력?");


a=(char)System.in.read();


b=a>='a'&&a<'z'?(char)(a-32) :  // 소문자a~z까지 입력되면 a(입력하는 변수값)에서 32를 빼주고

(a>='A'&&a<='Z'?(char)(a+32) : a);  // 아니면(거짓이면) 또다시 삼항연산에 들어간다.

  //  대문자A~Z까지 입력되면 a에서 32를 더해주고 그 외의 문자는 그대로 출력한다.

  // 여기서 32를 더하거나 빼주는 것은 ASCII 코드와 관련이 있다.

  // ASCII 코드에서 같은 문자의 대소문자 차이가 32이기 때문이다.

System.out.println(a+"->"+b);


}

}


결과) 문자를 입력하면 소문자는 대문자로, 대문자는 소문자로 바뀐다. 알파벳 이외의 값은 그대로 출력.


하나의 문자입력? a

a->A

'자바 > 문법' 카테고리의 다른 글

if ~else if 문(수우미양가)  (0) 2013.05.09
if문과 if~else, if~else if~else문  (0) 2013.05.09
삼항연산(중복 삼항연산)  (0) 2013.05.09
삼항연산(윤년, 평년 구분)  (0) 2013.05.09
삼항연산(짝수, 홀수 구분)  (0) 2013.05.09