모든 프로그래밍 언어를 배울 때 까장 먼저 만나는 것이 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
참고
'개발자 > kotlin 코틀린' 카테고리의 다른 글
kotlin 05. 파일분리, 패키지, import, object, heap, class (0) | 2022.08.15 |
---|---|
kotlin 04. 매개변수, 인수, 범위, 함수 오버로딩, 스택 예제 코드 (1) | 2022.08.12 |
kotlin 03. 제어문과 함수 기초 (0) | 2022.04.21 |
kotlin 02. 문자열, 연산자, 제어문 (0) | 2022.04.20 |
Kotlin 입문 참고 자료 (0) | 2022.02.10 |
Kotlin 핵심 개념 알아보기 2 (0) | 2022.02.08 |
Kotlin 핵심 개념 알아보기 1 (0) | 2022.02.07 |
안드로이드 스튜디오 파일 위에 날짜와 사용자 이름 나오게, Kotlin 파일 생성할 때 (0) | 2022.02.02 |
더욱 좋은 정보를 제공하겠습니다.~ ^^