개발자/kotlin 코틀린

kotlin 기본 예제 01

지구빵집 2022. 3. 31. 08:49
반응형

 

 

모든 프로그래밍 언어를 배울 때 까장 먼저 만나는 것이 Hello world를 보는 것이다. 일단 보자. 코드를 입력하고 실행까지 웹에서 할 수 있다. 바로 코틀린 플레이 그라운드다.

 

Hello, Kotlin!

 

fun main(args: Array<String>): Unit
{
	println("Hello, Kotlin!")
}

결과 

Hello, Kotlin!

 

 

표현식(Expression) 단독으로 표현식이 나와도 에러가 아니다. 아래 53+62-126

 

fun main(args: Array<String>): Unit
{
	53 + 62 - 126
	println(53 + 62 - 126)
}

결과

-11

 

 

변수(Variable)란

 

어떤 값을 저장해 놓은 공간이라고 이해하면 쉽다. 물론 다른 값으로 변하기도 하고, 보관 시간을 마음대로 길거나 짧게 할 수도 있으며, 저장해 놓았다가 필요한 시점에 꺼내서 사용할 수 있다. 변수 이름을 잘 지어서, 선언하고 값을 제대로 할당하면 아주 좋은 프로그램을 짤 수 있다. 변수에 대한 자세한 설명을 참조한다.

 

코들린에서 변수를 선언할 때는 var 변수이름 : 변수 타입 처럼 선언한다. 

 

  • val (혹은 var ) 변수명 : 타입 = 값
  • val (value)는 Assign-once 변수 , var (variable)은 Mutable 변수
  • 타입 추론 지원 -  변수 타입을 추론하여 지원하는 기능 

변수 초기화

 

  • 변수 선언은 최상위 클래스 외부 ), 클래스 내부 , 함수 내부에 선언
  • 최상위 레벨이나 클래스의 멤버 변수는 선언과 동시에 초기화해주어야 한다
  • 함수 내부의 지역 변수는 선언과 동시에 초기화하지 않더라도된다 . 초기화한후 사용할 수 있다 

 

val
topData1: Int //error - 최상위 변수 초기화 없어
var topData2: Int //error - 최상위 변수 초기화 없어

class User {
	val objData1: String //error 클래스 멤버변수 초기화 해야 함
	var objData2: String //error 클래스 멤버변수 초기화 해야 함
    
	fun some(){
		val localData1: Int // ok
		var localData2: String // ok
        
		println ( localData1)//error 초기화 없이 사용
        
		localData2=localData2=" hello"// ok
		println ( localData2)// ok
    }
}

 

fun main(args: Array<String>): Unit
{
	var total: Int
	total = 0

	val a: Int = 10 + 53 - 7
	println(a)

	val b: Int = 43 + 75 + a
	println(b)

	total = a + b
	println(total)
}

결과

56
174
230

 

리터럴의 타입

 

fun main(args: Array<String>): Unit
{
	val variable = 10 + 12 - 5
	println(variable)
}

결과 

17

 

 

산술 연산자(Arithmetic Operator) + - * / %

 

코틀린의 산술 연산자는 +, -, *, /, % 가 있다. 

 

연산자 의미
+ 더하기
- 빼기
* 곱하기
/ 나누기
% 나머지

 

fun main(args: Array<String>): Unit
{
	val num: Int = 15 - 4 * 3
	val num2: Int = 65 % 7
	val num3: Double = 7.5 / 5 + 22.25
	val num4: Double = num / num2 + 0.7

	println(num)
	println(num2)
	println(num3)
	println(num4)
}

결과

3
2
23.75
1.7

 

 

증감 연산자(Increment & Decrement Operator) ++, - -

 

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

	println(a++ + b)
	println(a)
	println(--b)

	10.inv()
}

결과

15
11
4

 

 

비트 연산자(Bitwise Operator) 7개으 비트 연산자를 가지고 있다. and, or, xo,r inv, sh,l shr, ushr

 

비트 연산자 예시 설명
shl 1 shl 3 - 1을 3칸 왼쪽으로 밀어준다.
- 자바 : <<
- 중위 함수
shr 9 shr 3 - 9를 3칸 오른쪽으로 밀어준다.
- 자바 : >>
- 중위 함수
ushr 10 ushr 2 - 10을 2칸 오른쪽으로 밀어준다
- 부호가 없다.
- 중위 함수
and 7 and 1 - 7과 1을 논리곱 연산한다.
- 자바 : &
- 중위 함수
or 6 or 3 - 6과 3을 논리합 연산한다.
- 자바 : |
- 중위 함수
xor 2 xor 5 - 2와 5를 베타적 논리합 연산한다.
- 자바 : ^
- 중위 함수
inv 12.inv() - 12를 not 연산한다.
- 자바 : ~

 

 

fun main(args: Array<String>): Unit
{
	println(15 and 7)
	println(5 or 2)
	println(15 xor 5)
	println(32767.inv())
	println(1 shl 3)
	println(8 shr 1)
	println(-17 ushr 2)
}

결과는

7
7
10
-32768
8
4
1073741819

 

 

정수 타입과 실수 타입

 

fun main(args: Array<String>): Unit
{
	val a: Byte = 125
	val b: Short = (100 + 200) * 100
	var c: Int = 12_4354_6538
	c = 0xFF_88_88
	c = 0b01010010_01100011_01110101_01000101
	var d: Long = -543_7847_3984_7238_4723

	c = a + b
	d = c + 10L

	var e: Float = 67.6f
	val f: Double = 658.4
	e = (e + f).toFloat()
	println(e)
}

결과는 

726.0

 

 

 

실수 타입의 함정

 

fun main(args: Array<String>): Unit
{
	println(0.1f + 0.1f + 0.1f)
	println(0.1f + 0.1f + 0.1f + 0.1f + 0.1f + 0.1f + 0.1f + 0.1f + 0.1f + 0.1f)
	println(0.1f * 10)
}

결과는 

0.3
1.0000001
1.0

 

 

 

문자 타입이란 문자를 저장할 수 있는 타입을 말한다.  

 

fun main(args: Array<String>): Unit
{
	var ch: Char = 'A'
	println(ch)

	ch = '\uAC00'
	println(ch)

	ch = '한'
	println(ch.toInt())
}

결과는

A
가
54620

 

 

참고 

도서: 초보자를 위한 코틀린 200제(Kotlin) 

정보문화사 코틀린 200제 예제 파일-자료실

 

 

코틀린 변수, 데이터타입, 연산자

 

 

반응형