개발자/kotlin 코틀린

kotlin 02. 문자열, 연산자, 제어문

지구빵집 2022. 4. 20. 15:16
반응형

 

 

문자열(String)이란 문자들을 일렬로 나열한 것을 말한다. 

 

fun main(args: Array<String>): Unit
{
	var str: String = "Hello"
	println(str)

	str = str + "\nKotlin!"
	println(str)

	println(str[8])

	val num = 10 * 5 + 3
	println(str + num)
}

결과

Hello
Hello
Kotlin!
t
Hello
Kotlin!53

 

문자열 안에 표현식의 값을 집어넣기: 표현식이나 변수값에 "$"표시를 사용하면 문자열에 포함된다. $ 문자 자체를 나타내려면 '\$'를 사용한다.

 

fun main(args: Array<String>): Unit
{
	val a = 10
	val b = 20

	println("a의 값: $a")
	println("b의 값: $b")

	println("a + b = ${a + b}")
}

결과

a의 값: 10
b의 값: 20
a + b = 30

 

타입 별명(Type Alias): typealias 키워드를 사용하면 이미 존재하는 데이터 타입을 별명처럼 사용할 수 있다. typealias 별명 = 타입 이름 처럼 표현하면 데이터 타입에 새로운 이름을 붙일 수 있다. 정리하자면 type alias 는 새로운 type 을 만드는 것이 아니라 원래의 타입과 동일한 별칭을 만드는 것이다.

 

typealias Number = Int

fun main(args: Array<String>)
{
	val a: Number = 10
	println(a)
}

결과

10

 

주석(Comment)은 // 로 다는 방법과 /* ~ */ 다는 방법 두 가지가 있다.

 

fun main(args: Array<String>): Unit
{
	// Apple을 화면에 출력한다.
	println(/* 이 부분은 컴파일러가 통째로 무시한다. */"Apple"/* 이
	부
	분
	도
	*/)
}

결과

Apple

 

배정 연산자(Assignment Operator) =

 

fun main(args: Array<String>): Unit
{
	val a: Int
	var b: Int

	a = 10 + 5
	b = 10

	b += a // b에 a의 값을 누적
	println(b)

	b %= 3 // b를 3으로 나눈 나머지를 b에 저장
	println(b)
}

결과

25
1

 

문장(Statement)

 

fun main(args: Array<String>): Unit
{
	val num: Int
	num = 15

	println(
			num + 7 * 3
	)
}

총 3개의 문장이다.

 

비교 연산자(Comparison Operator) = = != 〉 〈 〉= 〈=

 

연산자 의미
< 왼쪽이 더 큰가
> 오른쪽이 더 큰가
<= 왼쪽이 크거나 같은가
>= 오른쪽이 크거나 같은가
== 값이 같은가
!= 값이 같지않은가
=== 주소값이 같은가
!== 주소값이 같지않은가

 

fun main(args: Array<String>): Unit
{
	var isRight: Boolean = (10 + 70) > (3 * 25)
	println(isRight)

	isRight = false
	println(isRight)

	isRight = 30 == (10 + 20)
	println(isRight)

	isRight = 0.00001f == 0.005f * 0.002f
	println(isRight)

	isRight = 3.0 * 5 + 2.7 <= 16
	println(isRight)
}

결과

true
false
true
false
false

 

논리 연산자(Logical Operator) && || !

 

연산자 이름 의미
&& and 좌우 모두 true이면 true를 반환
|| or 한쪽이라도 true라면 true를 반환
! not ture일 경우 false로 false일 경우 true로 만들어 준다 즉 반대 값으로 바꿔준다

 

fun main(args: Array<String>): Unit
{
	val a = 15
	val b = 17

	var bool: Boolean = (a - b < a + b) && (a == 15)
	println(bool)

	bool = !((a + b) > (a * 3) || (b - a) > 0)
	println(bool)
}

결과

true
false

 

흐름 제어-조건문 if

 

fun main(args: Array<String>): Unit
{
	var a = 15
	val b = 11

	if (a > b)
	{
		println("if 안으로 들어옴")
		a -= b
	}

	println(a)
}

결과

if 안으로 들어옴
4

 

흐름 제어-조건문 if- else 

 

fun main(args: Array<String>): Unit
{
	val a = 10
	val b = 5

	if (a < b)
		println("if")
	else
		println("else")

	if (a > b)
		println("a가 크다.")
	else
		println("b는 a 이상이다.")
}

결과

else
a가 크다.

 

 

 

 

 

반응형