Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스택
- JS
- kotlin
- 백준 스택 시간초과 python
- 코딩테스트
- typescript
- C++
- CSS
- 알고리즘
- Python
- 자바스크립트
- TS
- 백준 스택
- k for k
- stdin vs input
- HTML
- javascript
- react
- 리액트
- next Link
- 프론트엔드
- 최적화
- 타입스크립트
- 안드로이드
- 파이어베이스
- 파이썬
- NPM
- nodejs
- Android
- firebase
Archives
- Today
- Total
sooleeandtomas
코틀린 문법 본문
Google의 공식 언어인 kotlin은 이미 많은 앱들이 kotlin을 이용해서 안드로이드 앱을 개발하고 있습니다.
netflix, airbnb, twitter, slack, wechat, evernote ... 등이 있습니다.
코틀린 문법은 아래의 kotlin playground에서 이용해 볼 수 있습니다.
#변수
fun main() {
println("코틀린은 정말 좋군요!!")
var temp = 20
temp = 5
var temp1 = 50 // 숫자만 넣을 수 있다.
var temp2 = "BOB" // 글자만 넣을 수 있다.
temp1 = '50' // error
}
fun main() {
var a = 1
var b = 2
println(a+b)
println(a-b)
println(a*b)
println(a/b) // 0 실수에 대한 정보가 없어서 소숫점을 버리게된다.
var first = "bob"
var last = "lee"
println(first + last)//boblee
println(first + ' ' + last)//bob lee
println(first+a)//bob1
}
#자료구조 배열
fun main() {
var numList = listOf(1,2,3)
println(numList[0]) // 1
var stringList = listOf('a', 'b', 'c')
println(stringList) //[a,b,c]
println(stringList[1])
println(stringList.size)//3
}
#자료구조 Map
fun main() {
var nameMap = mapOf("firstName" to "Rtan", "lastName" to "Lee")
println(nameMap) // {firstName=Soo, lastNam =Lee}
println(nameMap["firstName"]) //Soo
println(nameMap.size)//2
println(nameMap.keys)//[firstName, lastName]
println(nameMap.values)//[Soo, Lee]
}
#수정 가능한 자료구조 Array mutableListOf
fun main() {
var list = mutableListOf("a", "b", "c")
println(list) //[a,b,c]
list.add("d")
println(list) //[a,b,c,d]
list[0] = "A"
println(list) // [A,b,c,d]
list.set(1, "B")
println(list) //[A,B,c,d]
list.remove("d")
println(list) //[A,B,c]
list.removeAt(1)
println(list) //[A,c]
}
#수정 가능한 자료구조 Map mutableMapOf
fun main() {
var map = mutableMapOf("first" to "Soo", "last" to "Lee")
println(map) //{fist=Soo, last=Lee}
map.put("age", "19")
println(map) //{fist=Soo, last=Lee, age=19}
map.put("first", "Kotlin")
println(map)//{first=Kotlin, last=Lee, age=19}
map["first"] = "Soo"
println(map)//{first=Soo, last=Lee, age=19}
map.remove("age")
println(map) //{frst=Soo, last=Lee}
}
#리스트와 맵의 조합
fun main() {
var students = mutableListOf(
mutableMapOf("name" to "Hell"),
mutableMapOf("name" to "Kotlin")
)
println(students) //[{name=Hell}, {name=Kotlin}]
students.add(mutableMapOf("name" to "Soo"))
println(students) //[{name=Hell}, {name=Kotlin}, {name=Soo}]
println(students[1])//{name=Kotlin}
println(students[1]["name"]) //Kotlin
}
#타입 지정
fun main() {
var one:Int = 1
var pi:Double = 3.14 //실수
var name:String = "실수"
var isEasy:Boolean = true
var isHard:Boolean = false
}
#void 함수
fun main() {
fun printSum(num1: Int, num2: Int){
println(num1 + num2)
}
printSum(3, 5) // 8
printSum(4, -1) // 3
}
#리턴 함수
fun main() {
fun sum(num1: Int, num2: Int): Int{
return num1 + num2
}
var result = sum(3, 5)
println(result) // 8
}
#조건문
fun main() {
fun compareNinety(num: Int){
if(num > 90){
println("90보다 커요")
}else{
println("90과 같거나 작아요")
}
}
compareNinety(100)//90보다 커요
compareNinety(80)//90과 같거나 작아요
compareNinety(79)//90과 같거나 작아요
}
fun main() {
fun isSoo(name: String) : Boolean{
if(name == "soo"){
return true
}else{
return false
}
}
println(isSoo("soo")) //true
println(isSoo("hye")) //false
}
#And / Or / Not
fun main() {
var num = 30
if(!(num >= 20 && num < 30)){
println("20대가 아닙니다!")
}else{
println("20대입니다")
}
}
#반복문
fun main() {
for(i in 0..5){
println(i)
}
}
//0
//1
//2
//3
//4
//5
fun main() {
var languages = listOf("Korean", "English", "Kotlin", "Python")
for(lang in languages){
println(lang)
}
}
//Korean
//English
//Kotlin
//Python
# 맵의 반복문
fun main() {
var users = listOf(
mapOf("FirstName" to "안드", "LastName" to "이"),
mapOf("FirstName" to "로이", "LastName" to "김"),
mapOf("FirstName" to "개발", "LastName" to "최"),
)
for(user in users){
println(user)
}
}
//{FirstName=안드, LastName=이}
//{FirstName=로이, LastName=김}
//{FirstName=개발, LastName=최}
# 맵의 반복문 + 조건문
fun main() {
var users = listOf(
mapOf("FirstName" to "안드", "LastName" to "이"),
mapOf("FirstName" to "로이", "LastName" to "김"),
mapOf("FirstName" to "개발", "LastName" to "최"),
)
for(user in users){
if(user["LastName"] == "김"){
println(user)
}
}
}
//{FirstName=로이, LastName=김}
#타입지정
fun main() {
fun printSum(a:Int, b:Int){
println(a+b)
}
printSum(3, 5) //8
printSum(3, -1) //2
fun sum(a: Int, b: Int): Int {
return a + b;
}
var result = sum(6,1)
println(result) //7
}
#함수생성
fun main() {
fun countScore(bottom: Int): Int{
var scores = listOf(81, 79, 80, 30, 50, 100, 99, 56, 0, 12)
var count = 0
for(score in scores){
if(score >= bottom){
count += 1
}
}
return count
}
println(countScore(80))
println(countScore(70))
println(countScore(50))
}
'코틀린 > kotlin' 카테고리의 다른 글
안드로이드스튜디오에서 domain 모듈 분리하는 방법 (0) | 2022.07.13 |
---|---|
안드로이드 코틀린 아키텍쳐와 테스트 (1) (0) | 2022.07.13 |
코틀린 화면 구성하기 (0) | 2021.09.18 |
android studio를 M1에서 사용하기 (0) | 2021.09.13 |
Comments