Kotiln ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ๐Ÿ”Ž

hwakyoungยท2023๋…„ 3์›” 30์ผ
0
post-thumbnail

๐Ÿ”ŽKotiln ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ์•Œ์•„๋ณด๊ธฐ๐Ÿ”Ž


๐Ÿ“Œ์ฝ”ํ‹€๋ฆฐ ์ž๋ฃŒํ˜•

fun main() {
    println("Hello, Kotlin")
    var var1 : Int = 10		//:int๋Š” ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค.
    var var2 : Float = 10.4f
    var var3 : Double = 10.2
    var var4 : Char = '์•ˆ'
    var var5 : String = "์•ˆ๋“œ๋กœ์ด๋“œ"
    
    var var6 ="hello world"	//๋ชจ๋“  ๊ฒƒ์„ ๋‹ค ์ˆ˜์šฉํ•จ.
    
    println(var1)
    println(var2)
    println(var3)
    println(var4)
    println(var5)
    println(var6)
      
}

๐Ÿ“๊ฒฐ๊ณผ๊ฐ’

Hello Kotiln
10	
10.4
10.2
์•ˆ
์•ˆ๋“œ๋กœ์ด๋“œ
hello world

์ฝ”ํ‹€๋ฆฐ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JS)์™€ ๊ฐ™์ด var๋กœ ๋ณ€์ˆ˜๋ฅผ ์“ฐ๊ณ  var ๋ณ€์ˆ˜๊ฐ€ ๋ชจ๋“  ์ž๋ฃŒํ˜•๋“ค์„ ๋‹ค ๋ฐ›์•„ ๋จน์„์ˆ˜ ์žˆ๋Š” ์•„์ด์ด๋‹ค.

โš ๏ธ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด์ž!โš ๏ธ

var a = 4 			//์ด๋ ‡๊ฒŒ ๋„ฃ๊ฒŒ ๋˜๋ฉด var์˜ ์ž๋ฃŒํ˜•์€ int๊ฐ€ ๋œ๋‹ค.
var b = "Kotiln" 	//b์˜ ์ž๋ฃŒํ˜•์€ string์ด ๋œ๋‹ค.
var c = 3.141596	//c์˜ ์ž๋ฃŒํ˜•์€ Double ๋˜๋Š” float๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
var d = '์•ˆ'		//d์˜ ์ž๋ฃŒํ˜•์€ char๊ฐ€ ๋œ๋‹ค.

๊ฐ ๋ณ€์ˆ˜์•ˆ์— ์–ด๋–ค ๊ฒƒ์„ ๋„ฃ๋Š๋ƒ์— ๋”ฐ๋ผ ๋ณ€์ˆ˜์˜ ์ž๋ฃŒํ˜•์ด ๋ฐ”๋€” ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“Œ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜


โš ๏ธ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด์žโš ๏ธ

fun main() {
	var myVar : Int =100 	//๋ณ€์ˆ˜ var์„ ์–ธ
    
    val myVal : Int =100	//์ƒ์ˆ˜ val์„ ์–ธ  
    	
    println(myVar)
    println(myVal)
    
    // myVal = 200 error๊ฐ€ ๋‚˜๋Š” ๋ฌธ์žฅ
}

๐Ÿ“๊ฒฐ๊ณผ๊ฐ’

100
100

myVal์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๊นŒ๋‹ญ์€ val์ธ์ง€ var์ธ์ง€ ์„ ์–ธ์„ ํ•ด์ฃผ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— error๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค


๐Ÿ“Œval๊ณผ var์˜ ์ฐจ์ด์ 

  • var์€ ๊ทธ๋ƒฅ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • var ํ•˜๋‚˜๋กœ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž๋ฃŒํ˜•๋“ค์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

  • val์€ ๋ณ€์ˆ˜๋ฅผ ์ƒ์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
    +์ž๋ฐ”๋กœ ๋”ฐ์ง€๋ฉด final ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค.

๐Ÿ“ŒNull๊ฐ’ ์‚ฌ์šฉํ•˜๊ธฐ

์ฝ”ํ‹€๋ฆฐ์—์„œ๋„ null๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค!


โš ๏ธ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด์žโš ๏ธ
fun main() {

    var a : Int ="100".toInt()				//ํ˜•๋ณ€ํ™˜
    var b : Double ="100.123".toDouble()
   
   println(a)
   println(b)
   
   var okNull : Int? = null //?๋ฅผ ๋ถ™์—ฌ์•ผ null๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
   println(okNull)
   
   //๋Š๋‚Œํ‘œ 2๊ฐœ๋ฅผ ๋ถ™์ด๋ฉด null๊ฐ’์ด ์•„๋‹ˆ๋ผ๊ณ  ํ‘œ์‹œํ•˜๋Š”๊ฒƒ.
   var arr = ArrayList<Int>(1)
   arr!!.add(100) 	//๊ฐ’ 100์„ ์ถ”๊ฐ€
   println(arr)
   
}

๐Ÿ“๊ฒฐ๊ณผ๊ฐ’

100
100.123
null
100

๐Ÿ“Œํ˜•๋ณ€ํ™˜..? ์•Œ์•„๋ณด์ž

var a : Int ="100".toInt()				
var b : Double ="100.123".toDouble()

a๋ฅผ Int๋กœ ์„ ์–ธ ํ–ˆ์ง€๋งŒ 100์ด๋ผ๋Š” ์ˆซ์ž๋ฅผ ๋„ฃ์„ ๋•Œ stringํƒ€์ž…์œผ๋กœ ๋„ฃ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—
๋’ค์—์„œ .toInt()๋ฅผ ์“ฐ๋ฉด์„œ string์ด์˜€๋˜ ๋ฌธ์ž๋ฅผ ๋‹ค์‹œ int๋กœ ํ˜•๋ณ€ํ™˜ ํ•ด์ฃผ์—ˆ๋‹ค.


๐Ÿ“ŒNull๊ฐ’ ์‚ฌ์šฉ

var okNull : Int? = null 

์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” null๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.
๊ทธ๋•Œ๋Š” ?๋ฅผ ๋ถ™์—ฌ์ฃผ๋ฉด null๊ฐ’์œผ๋กœ ์ธ์ •ํ•ด์ฃผ๊ฒŒ ๋˜์–ด null์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


๐Ÿ“Œ๋ฐฐ์—ด null๊ฐ’ ์‚ฌ์šฉํ•˜๊ธฐ

   var arr = ArrayList<Int>(1)
   arr!!.add(100) 	//๊ฐ’ 100์„ ์ถ”๊ฐ€
   println(arr)
  • ๋ฐฐ์—ด์•ˆ์ด null๊ฐ’์ด ์•„๋‹ˆ๋ผ๊ณ  ํ‘œํ˜„์„ ํ•  ๋•Œ !! ๋Š๋‚Œํ‘œ 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚˜ํƒ€๋‚ธ๋‹ค.
    (!!๋ฅผ ๋ถ™์ด๊ฒŒ ๋˜๋ฉด Null๊ฐ’์ด ์•„๋‹ˆ๋‹ค!)
  • ๊ทธ๋ฆฌ๊ณ  add๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐฐ์—ด ์•ˆ์— ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

๐Ÿ“Œwhen๋ฌธ ์‚ฌ์šฉํ•˜๊ธฐ

์ž๋ฐ”๋กœ ๋”ฐ์ง€๋ฉด switch~case์™€ ๋งค์šฐ ๋น„์Šทํ•œ ๊ผด์ด์ง€๋งŒ break๋ฅผ ์“ฐ์ง€ ์•Š๋Š” ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

โš ๏ธ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด์žโš ๏ธ

fun main() {
	var count : Int = 85;
    if(count >=90){
        println("if๋ฌธ: ํ•ฉ๊ฒฉ (์žฅํ•™์ƒ)")
    }else if (count >=60){
        println("if๋ฌธ: ํ•ฉ๊ฒฉ")
    }else{
        println("if๋ฌธ : ๋ถˆํ•ฉ๊ฒฉ")
    }
    var score : Int = (count/10)*10
    when (score){
        100 ->println("when๋ฌธ :ํ•ฉ๊ฒฉ(์žฅํ•™์ƒ)")
        90 ->println("when๋ฌธ: ํ•ฉ๊ฒฉ(์žฅํ•™์ƒ)")
        80,70,60 -> println("when๋ฌธ: ํ•ฉ๊ฒฉ")
        else ->println("when๋ฌธ :๋ถˆํ•ฉ๊ฒฉ")
    }
}

๐Ÿ“๊ฒฐ๊ณผ๊ฐ’

if๋ฌธ: ํ•ฉ๊ฒฉ
when๋ฌธ: ํ•ฉ๊ฒฉ

๐Ÿ“๋ฌธ์ œ
๋งŒ์•ฝ์— ๋‚ด ์ ์ˆ˜๊ฐ€ 100~90์  ์ด๋ฉด "ํ•ฉ๊ฒฉ(์žฅํ•™์ƒ)" ์ด๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ
80~60์ ๊นŒ์ง€๋Š” "ํ•ฉ๊ฒฉ" ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋จธ์ง€ ์ ์ˆ˜๋“ค์€ "๋ถˆํ•ฉ๊ฒฉ"์ด๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.


์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” switch~case๋ผ๋Š” ๋ฌธ๋ฒ•์ด ์•„์— ์—†๊ณ  ๊ทธ ๋Œ€์‹  when์ด๋ผ๋Š” ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ง€๊ธˆ ์œ„์— ์ฝ”๋“œ์—์„œ ๋‚˜ํƒ€๋‚œ when์€ switch~case์™€ ๋น„์Šทํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด์„œ ์ €๋ ‡๊ฒŒ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๊ณ  ์‚ฌ์‹ค ๋ฒ”์œ„๋ฅผ ์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

   when (score){
       in 90 .. 100 -> println("ํ•ฉ๊ฒฉ(์žฅํ•™์ƒ)")
       in 80 .. 70 -> println("ํ•ฉ๊ฒฉ")
       else -> println("when๋ฌธ ๋ถˆํ•ฉ๊ฒฉ")

์ด๋Ÿฐ์‹์œผ๋กœ ..์„ ์ด์šฉํ•ด์—ฌ ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“Œ์ฝ”ํ‹€๋ฆฐ ๋ฐฐ์—ด

๐Ÿ“1์ฐจ์› ๋ฐฐ์—ด ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•


โš ๏ธ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด์žโš ๏ธ

var ๋ฐฐ์—ด๋ช… = Array<๋ฐ์ดํ„ฐ ํ˜•์‹>(๊ฐœ์ˆ˜, {์ดˆ๊นƒ๊ฐ’})
var๋ฐฐ์—ด๋ช… = Array<๋ฐ์ดํ„ฐ ํ˜•์‹)<๊ฐœ์ˆ˜>{์ดˆ๊นƒ๊ฐ’}

fun main() {
    var one = Array<Int>(4,{0})
    one[0] = 10
    one[3] = 20
    
    println(one[0])
    println(one[3])
    
    var one1 = Array<Int>(4){0}
    one1[0] = 10
    println(one1[0])
}

๐Ÿ“๊ฒฐ๊ณผ๊ฐ’

10
20
10
  • ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•  ๋•Œ intArrayof(1,2,3) ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•ด๋„ ๋˜๊ณ 
    ๋ฐฐ์—ด ๋Œ€์‹  ArrayList๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.

  • ๋ฐฐ์—ด์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” add() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉ
    ๊ฐ’์„ ๊บผ๋‚ผ ๋•Œ๋Š” get()๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

intArrayof(1,2,3)

1,2,3 ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด 0,1,2๋ฐฉ์— ์ˆœ์„œ๋Œ€๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค


๐Ÿ“2์ฐจ์› ๋ฐฐ์—ด ์„ ์–ธ๋ฐฉ๋ฒ•

var ๋ฐฐ์—ด๋ช… = Array<๋ฐฐ์—ด ๋ฐ์ดํ„ฐ ํ˜•์‹>(ํ–‰ ๊ฐœ์ˆ˜, {๋ฐฐ์—ด ๋ฐ์ดํ„ฐ ํ˜•์‹(์—ด ๊ฐœ์ˆ˜)})
var ๋ฐฐ์—ด๋ช… = Array<๋ฐ์ดํ„ฐ ํ˜•์‹>(๊ฐœ์ˆ˜) {์ดˆ๊นƒ๊ฐ’}


โš ๏ธ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด์žโš ๏ธ

fun main() {
	var two = Array<IntArray>(3,{IntArray(4)})
    two[0][0] = 100
    two[2][3] = 200
    
    println(two[0][0])
    println(two[2][3])
}

๐Ÿ“๊ฒฐ๊ณผ๊ฐ’

100
200

2์ฐจ์› ๋ฐฐ์—ด๋„ 1์ฐจ์› ๋ฐฐ์—ด๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์„ ์–ธํ•ด์ฃผ๊ณ  ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋!!!


๐Ÿš€๋Š๋‚€์ ๐Ÿš€

๋‚˜๋Š” ์ž๋ฐ”๋ฅผ ๋จผ์ € ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ์ฝ”ํ‹€๋ฆฐ์„ ํ•  ๋•Œ๋งˆ๋‹ค ์„ธ๋ฏธ์ฝœ๋ก  ; ์„ ์ฐ์ง€ ์•Š๋Š”๊ฒŒ
์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋“ฏ ํ•˜๋‹ค.. ์•„์ง๊นŒ์ง€ ๋งŽ์ด ์–ด์ƒ‰ํ•˜๊ณ  ๋ญ”๊ฐ€ ์—๋Ÿฌ๊ฐ€ ๋‚  ๊ฒƒ ๊ฐ™๋‹ค.
๋ฐฐ์—ด ์„ ์–ธํ•  ๋•Œ๋„ new๋ฅผ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜์„œ ์ž๋ฐ”๋ณด๋‹ค ์งง๊ณ  ๋‹จ์ˆœํ•œ๊ฒƒ ๊ฐ™์ง€๋งŒ ๊ทธ๋ž˜์„œ ์–ด์ƒ‰ํ•œ ์–ธ์–ด์ธ๊ฒƒ ๊ฐ™๋‹ค.

๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋‹ค์‹œ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ๊ฐ’์„ ๋„ฃ๊ณ  ์‹ถ์„๋• add ๋นผ๊ณ  ์‹ถ์„ ๋•Œ๋Š” get์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

์•ž์œผ๋กœ ์ž˜ ๋ถ€ํƒํ•ด ์ฝ”ํ‹€๋ฆฐ...

profile
fire-irror

0๊ฐœ์˜ ๋Œ“๊ธ€