반응형

[Oracle Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.]

[Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼]

2019/06/22 - [Software/Java] - [Java_Tutorial]12강-자바 코딩, 표현식 구문 블록[Expressions, Statements, Blocks, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]12강-자바 코딩, 표현식 구문 블록[Expressions, Statements, Blocks, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 2019/06/20 - [..

tiboy.tistory.com

이번 포스팅은 자바 프로그래밍(Java Programming)의 제어 흐름 구문에 대해 알아본다. 꼭 자바에서만 사용되는 건 아니다. 프로그래밍 언어라면 당연히 있는 문법이다. 반드시 꼭 알아야 하는 구문이므로 잘 이해해서 사용하길 바란다.

제어 흐름 구문(Control Flow Statements)

여러분들이 구현한 자바(Java) 소스는 일반적으로 작성한 순서대로 위에서 아래로 실행된다. 하지만 제어 흐름 구문을 사용하면 건너뛰기도 가능하고 반복적으로 순환도 되며 특정 위치로의 이동도 가능하다. 즉 프로그램을 구현하기 위해 필수 문법 중 하나이다. 자바에서 제어 흐름 구문의 종류는 조건문(if-then, if-then-else, switch), 반복문(for, while, do-while) 그리고 분기문(break, continue, return)가 있다. 그럼 하나씩 이해하고 예제를 통해 사용법을 익혀 본다.

if 조건문(The if-then and if-then-else Statements)

if-then 구문(The if-then Statement)

모든 제어 흐름 구문 중 가장 기본적이고 많이 사용되는 것은 if-then 구문이다. 그럼 어떻게 생겼고 사용하는지 알아본다.

위 예문을 보면 if 문 다음에 괄호()가 있고 그 안에 bOk가 있다. If 문의 ()는 Boolean 으로 평가된다. 값이 참(true)이면 if문 내의 구문을 실행하고 거짓(false)이면 if문 건너뛰고 다음 구문을 실행한다. 위 예문은 bOkfalse이므로 if 문을 건너 뛰고 “OutSide”를 출력한다.

이 예문에서는 if 문의 bOk값은 true이므로 if 문 내의 구문인 System.out.println(“Boolean bOk : + bOk); 를 실행한다. 그리고 그 다음 구문도 실행해서 결괏값은 “Boolean bOk : true” “OutSide”가 출력된다.

 

 

if 문 내의 구문이 한 줄이면 중괄호 { } 를 생략할 수 있다. 하지만 2줄 이상이면 중괄호로 블록을 지정해줘야 한다.

if-then-else 구문(The if-then-else Statement)

if-then-else문은 기본 조건을 만족하거나 하지 않을 때 구문을 실행할 수 있다. if 문을 평가해서 true 면 첫번째 구문을 실행하고 false else 문의 구문을 실행한다. 위 예제를 보면 확인할 수 있다. 위 구문도 단문이라 중괄호 { } 는 선택이다. 물론 2개 이상의 구문으로 구성되었다면 블록(중괄호)를 지정해 줘야 한다.

조금 더 응용해 보자. If 문의 ( ) 안에서 boolean으로 평가한다고 했다. 그래서 반드시 Boolean 타입의 데이터 (Boolean) 뿐 아니라 평가식으로도 (== , <, >, => ) 사용할 수 있다 평가식도 결국 Boolean 값을 리턴하기 때문에 가능한 것이다. 또한 여러 개의 조건을 이용할 수 있다.

위에서 아래로 조건을 확인하면서 평가식이 true 가 나오면 해당 구문을 실행하고 if 문을 빠져나간다. 위 예문을 잘 확인하고 다양한 방식으로 연습하길 바란다.

주의할 점은 한 개라도 true가 나오면 그 나머지 조건식은 평가하지 않는다.

지금까지 if 조건문에 대해 알아보았다. 사실 어려운 점은 없다. 직접 코딩(coding)하면서 다양하게 활용해 보면 실전에서 유용하게 사용할 수 있다.

다음 포스팅은 if 조건문과 비슷하지만 좀 더 가독성이 좋아 보이는 switch문에 대해 알아본다. If 조건문과 switch문의 다른 점은 어떤 것이 있는지 확인해 볼 것이다.

2019/06/25 - [Software/Java] - [Java_Tutorial]14강-자바 코딩, switch 제어문[Control Flow Statements, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]14강-자바 코딩, switch 제어문[Control Flow Statements, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 2019/06/25 - [..

tiboy.tistory.com

즐 코딩~

반응형
반응형

[Oracle Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.]

[Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼]

앞 포스팅에 이어서 다른 연산자에 대해 설명해 본다. 실제 개발에 자주 사용되므로 잘 보고 숙지해야 한다.

2019/06/19 - [Software/Java] - [Java_Tutorial]10강-자바 코딩, 할당 산술 단항 연산자[Operators, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]10강-자바 코딩, 할당 산술 단항 연산자[Operators, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 앞 포스팅에서..

tiboy.tistory.com

같음, 관계 그리고 조건 연산자 (Equality, Relational, and Conditional Operators)

같음과 관계 연산자 (The Equality and Relational Operators)

피연산자보다 큰지, 작은지, 같은지, 다른지 판단하는 연산자를 같음과 관계 연산자 또는 비교 연산자라고 한다. 주의할 점은 같다는 “==”로 사용하지 “=”로 하면 안 된다. "="는 할당 연산자이다. 어떤 연산자가 있는지 확인해 본다.

== 같다.

!= 같지 않다.

> 크다.

>= 크거나 같다.

< 작다.

<= 작거나 같다.

이 연산자는 실제 프로젝트에서 자주 사용된다. 중요하니 아래 예제를 통해 잘 익혀 두길 바란다.

조건문 if 는 곧 포스팅할 계획이니 그냥 참고로 보길 바란다. 특이한 점은 String 문자열 d, e는 같다고 나오지만 new String()로 생성한 객체는 ef, fg는 다르다고 나온다. 이유는 새로운 객체를 생성했고 객체 자체를 비교하기 때문이다. 단순 값을 비교하는게 아니기에 같지 않은 것이다.

조건 연산자 (The Conditional Operators)

조건 연산자 “&&”“||”를 확인해 본다. 조건 AND와 조건 OR로 동작하며 Boolean(true/false)로 판별된다. 이 연산자의 특징은 연산자 앞 뒤의 조건 중 앞의 조건을 먼저 판명하고 뒤의 연산자는 필요시에만 평가한다는 것이다. 무슨 의미인지 예를 들어 본다.

if ((조건1) && (조건2))

이 식은 AND(그리고) 조건 연산자로 조건 1과 조건 2둘 다 참(true)인 경우에만 true가 된다. 만약 조건 1이 참이 아니면 (false) 조건 2를 평가할 이유가 없다. 그래서 조건 2를 확인하지 않는다.

if ((조건1) || (조건2))

이 식은 OR(또는) 조건 연산자로 조건 1이 참이거나 또는 조건 2가 참이면 true가 된다. 즉 둘 중 하나만 참이면 참(true)인 것이다. 그래서 조건 1이 참이라면 굳이 조건 2를 평가할 이유가 없는 것이다.

 

 

이는 단락 행위라고 하는데 두 번째 연산자는 필요시에만 평가한다는 의미이다. 이 또한 잘 활용하면 실전에서 유용하다.

또 하나의 조건 연산자가 있는데 정말 간단하게 조건을 표현할 때 유용하게 사용되는 연산자이다.

“?:” 연산자로 예문을 통해 확인해 본다.

조건이 true면 ? 뒤의 첫 번째 값을 false: 뒤의 두 번째 값을 리턴한다.

한 줄로 가볍게 조건문을 사용할 때 유용하다. 특히 값 할당에 사용하면 가독성도 좋고 간단해서 좋다. 당연 실전에서도 가끔 사용한다.

타입 비교 연산자 instanceof (The Type Comparison Operator instanceof)

이건 또 무엇일까? 클래스 또는 인터페이스 타입(type)을 비교한다는데 어떤 의미인지 살펴본다. 당연히 실전에서 자주 사용하는 연산자이기 때문에 반드시 이해하고 숙지하길 바란다.

객체의 명시된 타입을 비교하는 연산자로 생성된 객체가 어떤 클래스의 인스턴스인지 확인할 때 유용하다. 역시 예문을 통해 확실히 이해해 보자.

부모클래스 a1 = new 부모클래스();

부모클래스 a2 = new 자식클래스();

(a1 instanceof 부모클래스) 는 true를 반환한다. (a2 instanceof 자식클래스) true를 반환한다. 하지만 a1 instanceof 자식클래스 는 false를 반환한다. 부모와 자식클래스에 대한 자세한 설명은 추후 포스팅에서 instanceof를 활용해서 자세히 알아보겠다.

“null”은 어떤 인스턴스도 아니다.

2019/06/22 - [Software/Java] - [Java_Tutorial]12강-자바 코딩, 표현식 구문 블록[Expressions, Statements, Blocks, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]12강-자바 코딩, 표현식 구문 블록[Expressions, Statements, Blocks, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 2019/06/20 - [..

tiboy.tistory.com

다음 포스팅은 식, 구문, 블록에 대해 알아본다.

반응형