부울 유형 및 연산.(boolean) 진실과 거짓 kotlin hyperskill 답안 #16

Table of Contents

이번 주제에서는 부울(Booleans) 에 대해 이야기하겠습니다 . 부울 값은 프로그래밍에서 자주 사용됩니다. 기본적으로 그들은 두 가지 반대 상태를 나타냅니다. 예를 들어 부울 값은 다음을 나타낼 수 있습니다.

  • 매장이 열려 있는지 여부;
  • 비행기가 하늘에 떠 있는지;
  • 여행이 허용되는지 여부;
  • 옵션 활성화 여부 등.

부울 변수

부울(Boolean)은true 다음과 같은 두 가지 값만 가질 수 있는 특수 데이터 유형입니다 false.

val t = true  // t is true
val f = false // f is false

println(t) // true
println(f) // false

부울 변수에는 정수 값을 할당할 수 없습니다. Kotlin에서는 와 0동일하지 않습니다 false.

참 또는 거짓

부울 값 읽기

Kotlin 1.4부터 다음과 같은 부울 값을 읽을 수 있습니다.

val b: Boolean = readLine().toBoolean()

Kotlin 1.6부터 다음과 같은 부울 값을 읽을 수 있습니다.

val b: Boolean = readln().toBoolean()

toBoolean()true입력이 “true”이면 대소문자를 구분하지 않고 반환됩니다 . 그렇지 않으면 를 반환합니다 false.

따라서 다음과 같은 입력이 있다고 가정해 보겠습니다.

true
True
TRuE
T
false

출력은 다음과 같습니다:

println(readln().toBoolean()) // true
println(readln().toBoolean()) // true
println(readln().toBoolean()) // true
println(readln().toBoolean()) // false
println(readln().toBoolean()) // false

readLine()!!.toBoolean()Kotlin 컴파일러 버전 1.3 이하에서 사용할 수 있습니다 .

val b: Boolean = readLine()!!.toBoolean()

StringKotlin 1.5부터는 다른 함수를 사용하여 Boolean. 이 함수는 문자열이 단어 “true”와 같고 대소문자를 구분하며 문자열이 “false”와 같으면 toBooleanStrict()반환합니다 . 그렇지 않으면 프로그램이 . 이 함수는 문자열이 단어 “true”와 같고 대소문자를 구분하며 문자열이 “false”와 같으면 반환합니다 . 그렇지 않으면 특별한 값을 반환합니다 . 나중에 논의하겠습니다.truefalsejava.lang.IllegalArgumentExceptiontoBooleanStrictOrNull()truefalsenull

println("true".toBooleanStrict())     // true
// println("True".toBooleanStrict())  // program crashes
println("false".toBooleanStrict())    // false
// println("faLse".toBooleanStrict()) // program crashes

println("true".toBooleanStrictOrNull())  // true
println("false".toBooleanStrictOrNull()) // false
println("faLse".toBooleanStrictOrNull()) // null

논리 연산자

부울 유형 변수는 논리 연산자를 사용하여 논리문을 구성합니다. Kotlin에는 NOT , AND , OR 및 XOR 이라는 네 가지 논리 연산자가 있습니다 .

  • NOT은 부울 값을 반대로 바꾸는 단항 연산자입니다. 로 표시할 수 있습니다 !.
val f = false // f is false
val t = !f    // t is true
  • trueAND는 두 피연산자가 모두 이면 반환하는 이항 연산자입니다 true. 그렇지 않으면 를 반환합니다 false. 로 표시할 수 있습니다 &&.
val b1 = false && false // false
val b2 = false && true // false
val b3 = true && false // false
val b4 = true && true  // true 
  • trueOR은 하나 이상의 피연산자가 이면 반환하는 이항 연산자입니다 true. 그렇지 않으면 를 반환합니다 false. 로 표시할 수 있습니다 ||.
val b1 = false || false // false
val b2 = false || true  // true
val b3 = true || false  // true
val b4 = true || true   // true
  • trueXOR(배타적 OR)은 부울 피연산자의 값이 다른 경우 반환하는 이항 연산자입니다 . 그렇지 않으면 입니다 false.
val b1 = false xor false // false
val b2 = false xor true  // true
val b3 = true xor false  // true
val b4 = true xor true   // false

XOR 연산자는 다른 논리 연산자만큼 널리 사용되지 않습니다. 하지만 만일을 대비해 계속 사용할 수 있습니다.

논리 연산자 우선순위

아래에서 Kotlin의 논리 연산 우선순위 를 살펴보세요 . 우선 순위는 괄호 없이 다른 변수를 그룹화하는 방법을 결정합니다.

  1. !NOT을 위해
  2. xorXOR의 경우
  3. &&AND의 경우
  4. ||또는

따라서 아래 변수는 다음과 같습니다 true.

val bool = true && !false // true because !false is evaluated first

(...)괄호를 사용하여 실행 순서를 변경할 수 있습니다 .

예를 들어, 여름과 다른 계절에 하이킹을 갈 가능성을 결정하는 부울 표현식을 작성해 보겠습니다.

val cold = false
val dry = true
val summer = false // suppose it is autumn now

val hiking = dry && (!cold || summer) // true, let's go hiking!

위 표현에 너무 속지 마세요. 좋은 프로그래머는 산술 규칙뿐만 아니라 논리 연산도 이해해야 합니다. 그렇지 않으면 악천후 속에서 하이킹을 하게 될 수 있습니다.

결론

!이 주제에서는 네 가지 주요 Kotlin 논리 연산자인 (NOT), xor(배타적 OR), &&(AND), ||(OR)에 대해 논의했습니다 . Kotlin을 마스터하려면 이를 잘 이해해야 합니다. 그들은 또한 우선순위라고 불리는 특별한 실행 순서를 준수합니다. 처음에는 혼란스러워 보일 수도 있지만 연습을 하면 완벽해집니다. 그러고보니 몇 가지 과제를 해결해 볼까요!

관련 주제

주제 전제 조건:

  1. 데이터 유형

답안

20240211 152111 1

20240211 152111 2

20240211 152111 3

20240211 152111 4

20240211 152111 5

20240211 152111 6

20240211 152111 7

20240211 152111 8

솔루션의 답은 위이고, 제가 쓴 답은 아래입니다.

boolean

역시 솔루션의 답들은 무릎을 딱 치게 만드네요. 코딩이라는게 간편하게 쉽고 짧게 쓰는게 좋은것이라고 어디서 들은것 같은데요. 정말 한가지 답안이 아니라 여러가지 좋은 답안들이 있어요. 이 글을 보시는 공부하시는 분들도 자기만의 코딩방법을 더 쉽고 짧게 만들기를 노력해보세요. 그래야 코딩 실력이 늘겠죠!!!