무엇에 속해 있느냐를 나타냄
if, when, loop, lange, generic에서 사용
a in b —— b.contains(a)
a !in b ———!b.contains(a)
val nums = intArrayOf(1,2,3,4,5,6,7,8,9,0)
if(5 in nums) println(" 5는 포함됨!")
var max = a
if (a<b) max = b
val max = if (a>b) a else b
val max = if (a>b) {
print()
a
} else {
print()
b
}
java코드
int max = (a>b) ? a: b;
코틀린코드
val max = if(a>b) a else b
kotlin 표준 라이브러리 kotlin.ranges에 존재
수열에 해당하는 값들을 열거할수 있다
세가지 range타입 존재
fun main(args: Array<String>) {
val a = 1..10000
println("a타입은? :"+ a.javaClass)
//출력 : a타입은? :class kotlin.ranges.IntRange
} fun main(){
val awesomePoint= Random().nextInt(30000)
println("Awesome 포인트점수는 $awesomePoint입니다")
//awesome 커피숍의 point 등급을 범위변수로 선언
val bronzeRange= 1000..9999
val silverRange= IntRange(10000,19999)
val goldRange=20000..30000
val awesomeRating= if(awesomePoint in bronzeRange)
"Bronze"
else if(awesomePoint in silverRange)
"Silver"
else if(awesomePoint in goldRange)
"Gold"
else
"Brass"
println("당신은 $awesomeRating등급입니다")
}if elseif else 쓰는 경우는 거의 다 when씀 (else if를 쓰는거는 초보라는 뜻)
switch case문은 kotlin에 없음
분기조건에 만족하는 요건이 없을 시에는 반드시 else문이 들어가야함
import java.util.*
const val a = 100 // - > const 는 글로벌 상수 선언 키워드( val 타입만 가능하며 반드시 초기화가 되어야 한다)
const val b = 50
fun main(){
println(">>>>>>>>>사칙연산(+,-,*,/) 기호를 입력하고 엔터키을 치세요<<<<<<<<<")
val arithmeticSign = Scanner(System.`in`).nextLine().trim()
val result= when(arithmeticSign){
"+" -> a + b
"-" -> a - b
"*" -> a * b
"/" -> a / b
else -> {
println(arithmeticSign + " 는 연산기호가 아니네요!!!")
}
}
println("$arithmeticSign 의 결과는 $result 입니다")
}
const val GOLD = "Gold"
const val SLIVER = "Silver"
const val BRONSE = "Bronse"
const val BRASS = "Brass"
fun main(){
val awesomePoint = Random().nextInt(30000)
val awesomeRating = when(awesomePoint) { ---> when을 식으로 사용
in 1000..9999 -> BRONSE
in 10000..19999 -> SLIVER
in 20000..29999 -> GOLD
else -> BRASS
}
println("당신의 포인트는 $awesomePoint 점이며 등급은 $awesomeRating 입니다")
// -1 - - - > 블럭 바로 전에 코딩을 해야 함
}
밑에 처럼 쓰지말고 위에처럼 쓰자 (awesomePoint가 중복된다)
val awesomeRating = when{ - - - - > when에 인자가 없을 시
awesomePoint in 1000..9999 -> "Bronze"
awesomePoint in 10000..19999 -> "Silver"
awesomePoint >= 20000 -> "Gold"
else -> {
"Brass"
}
}
Any : 어떤자료형이든 상관없이 호환되는거(코틀린의 최상위 자료형)
override fun equals(other: Any?): Boolean {
return when(other) {
!is Employee4 -> false
else -> empNumber == other.empNumber
}
}
var res = when(x) {
100
90
80
else ->
}
var res = when (x) {
true -> "맞다"
false -> "틀리다"
}
when (x) {
0,1,2,3 ->
else ->
}
when (x) {
parseInt(x) ->
1+3 ->.
else ->
}
in, !in으로 범위 등을 검사할 수 있음val number = listOf(3,6,9)
when (x) {
in number ->
in 1..10 ->
~in 10..20 ->
else ->
}
fun hasPrefix(x: Any) = when(x) {
is String -> x.startsWith("prefix")
else -> false
}
x = 3
y = 2
when {
x.isOdd() -> print("x is odd") //isOdd()함수는 홀수인지 판별하는 함수
y.isEven() -> // isEven()은 짝수인지 판별하는 함수
else ->
}