본문 바로가기
Java 강의

코드 아카데미 두번째

by 자유코딩 2017. 9. 13.

안녕하세요 fors 입니다.

지난 글에서는 코드 아카데미 첫번째 예제에 대해서 살펴봤습니다.

이번엔 첫번째 퀴즈 이후의 예제에 대해서 알아보겠습니다.

 

 

 

퀴즈 이후의 첫번째 예제 입니다.

소스코드를 읽어보고 Run을 클릭해서 실행해봅니다.

 

 

2번째 예제는 &&연산자에 대한 문제입니다.

&& 는 논리곱 연산자입니다.

 

잠시 논리 곱 연산자에 대해서 알아보도록 하겠습니다.

&&연산자는 두개의 변수 또는 상수에 대해서 연산을 합니다.

두개의 값이 모두 거짓이면 거짓을 반환합니다.

두개의 값이 모두 참이면 참을 반환합니다.

아래 표와 같습니다.

 

논리 곱 &&

 

0 : false

1 : true

 

 x

결과 

 0 거짓

 0 거짓

 0 거짓

 0 거짓

 1 참

 0 거짓

 1 참

 0 거짓

 0 거짓

 1 참

 1 참

1 참

 

 이번에는 다음 예제인 논리합 연산자에 대해서 알아보도록 하겠습니다.

|| 연산자는 두개의 변수 또는 상수에 대해서 연산을 합니다.

두개의 값이 모두 거짓이면 거짓을 반환합니다.

두개의 값이 모두 참이면 참을 반환합니다.

아래 표와 같이 반환 값이 정해집니다.

 

논리 합 ||

 

 x

결과 

 0 거짓

0 거짓

0 거짓 

 0 거짓

1 참

1 참

 1 참

0 거짓

1 참

 1 참

1 참

1 참

 

 

! true = false

! 는 값을 반대로 바꿔주는 연산자 입니다.

예를 들어서

!참 은 거짓 이 되고 !거짓 = 참이 됩니다.

참을 거짓으로 , 거짓을 참으로 값을 반대로 바꿔주는 것입니다.

 

 

 

|| 예제의 모습입니다.

 

 

||예제 문제를 풀었습니다.

 

 

위 그림처럼 ! 연산자는 값을 반대로 바꿔줍니다.

 

 

! 연산자 문제를 푼 모습입니다.

 

 

삼항 연산자 예제입니다.

 

예제와 관련해서 삼항 연산자에 대해서 알아보도록 하겠습니다.

 

int pointsScored = 21;
  char gameResult = (pointsScored >20) ? 'W' : 'L';
  System.out.println(gameResult);

 

 

(pointsScored >20) ? 'W' : 'L';

 

이런 식에서 삼항 연산자가 사용됩니다.

여기서 3가지 항은 다음과 같습니다.

1항 (pointsScored >20)

2항 'W'

3항 'L'

 

여기서 이 식의 의미는 이렇습니다.

 

pointsScored가 20보다 크면 앞의 'W'가 식의 결과 값이 됩니다.

 

pointsScored가 20보다 작으면 뒤의 'L'가 식의 결과 값이 됩니다.

 

~보다 크면 ~보다 작으면 에서 if ~ else if 문과 비슷한 점을 발견하셨나요?

 

삼항 연산자는 if ~ else if 구문을 사용해서 소스코드를 작성할 때보다 코드의 길이를 줄여줍니다.



출처: http://fors.tistory.com/45 [Fors]

 

 

다음은 조건문 if 예제입니다.

if 문은 if 뒤에 있는 괄호 안의 값이 '참'이면 {} 중괄호 안의 구문을 실행합니다.

 

 

다음은 if-else 예제입니다.

 

 

if 뒤의 조건이 '거짓' = false 값이기에

if 문 뒤의 구문을 실행하지 않고 else 아래의 구문을 실행합니다.

 

 

if - else if - else 예제입니다.

 

 

예제의 정답 화면입니다.

round의 값이 11로 12보다 작습니다.

그래서 if 다음에 있는 구문을 건너뛰고 else if 아래에 있는 구문을 실행합니다.

 

 

다음은 삼항 연산자 예제입니다.

문제에서 서술하는대로 삼항 연산자를 소스코드에 적어줍니다.

 

 

소스코드를 다음과 같이 작성하고 Run을 클릭하시면 됩니다.

 

 

다음은 switch 예제입니다.

 

 

그림에서 숫자 1이라고 제가 표시한 부분부터 보시겠습니다.

1에서 default 아래에 문제에서 제시하는대로 코드를 작성해줍니다.

 

이제 2를 보겠습니다.

문제 2에서는 switch - case 구문이 동작하게 해야 합니다.

penaltyKick 변수의 값을 L, R, C 중에서 한가지로 바꿔줍니다.

 

 

 

다음은 이번 두번째 예제의 마지막 문제입니다.

 

 

1,2,3 순서대로 살펴보겠습니다.

1번 문제는 boolean tricky 위에 있는 주석 처리된 // (3>=3 && ! (true || true) 의 값을 묻는 문제 입니다.

 // (3>=3 && ! (true || true) 의 결과 값을 tricky 에 저장합니다.

그러므로 1에서 tricky 변수의 값을 false로 할당해줍니다.

 

2에서는 if뒤의 괄호안에 tricky를 적어줍니다.

이렇게 하면 tricky의 값이 false(거짓)이기 때문에 if 아래의 구문이 실행되지 않습니다.

 

3번을 살펴보겠습니다.

3번은 case 5에 문제에서 제시하는 문장을 입력하면 됩니다.

 

 

두번째 예제를 마쳤습니다.

 

Start Lesson을 클릭하시면 객체지향에 대한 내용을 공부하실 수 있습니다.

 

질문하고 싶으신 것들을 댓글로 질문해주세요

댓글