์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- MySQL
- ์ฝํ๋ฆฐ
- Android
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
- ํผ๊ณต๋จ
- ์ฝํ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์๋ฐ
- Til
- ์๋๋ก์ด๋์คํ๋์ค
- ์๋ฃ๊ตฌ์กฐ
- ๊ธฐ์ ๋ฉด์
- ์๋๋ก์ด๋
- Kotlin
- CS
- doitandroid
- ์คํฐ๋
- ์นด์นด์ค์ฝํ
- ์ ์ฒ๊ธฐ
- join
- ์๊ณ ๋ฆฌ์ฆ
- select
- groupby
- ์ค๋ธ์
- ์ธํ๋ฐ
- ํผ๊ณตํ
- SQL
- java
- ํผ๊ณต์ฑ๋ฆฐ์ง
- Today
- Total
Welcome! Everything is fine.
[TIL] 220127 ๋ณธ๋ฌธ
๐ป Today I Leaned...
๐ ์ฝํ๋ฆฐ 3๊ฐ์ผ๋ก ๋๋ด๊ธฐ - 1ํธ ๊ธฐ๋ณธ๋ฌธ๋ฒ
1. ํจ์
์ ์ผ ๋จผ์ , ์ฝํ๋ฆฐ์ ์ํธ๋ฆฌ ํจ์๋ fun main()ํจ์์ด๋ค.
fun main(){
}
์๋ฐ์ ๊ฒฝ์ฐ, ๋งจ ์์ ๋ฆฌํดํ์ ์ ์ ์ด์คฌ์ง๋ง ์ฝํ๋ฆฐ์ ์ด๋ค ํ์ ์ด๋ fun ๋จผ์ ์ ์ด์ค๋ค. ์๋ ์ฝ๋๋ ๊ฐ๋ณ๊ฒ HelloWorld๋ฅผ ์ถ๋ ฅํ๋ ํจ์์ด๋ค. ๋ง์ฝ ๋ฆฌํดํ์ด ์๋ ๊ฒฝ์ฐ, Unit์ด๋ผ๊ณ ์ ์ด์ฃผ์ง๋ง ์๋ตํด๋ ๋๋ค.
fun helloWorld(){
println("Hello")
}
๋ง์ฝ ๋ฆฌํด ํ์ ์ด ์๋ ํจ์๋ผ๋ฉด ์๋์ ๊ฐ์ด ๋ณ์ ์ด๋ฆ : ๋ณ์ ํ์ ์ ์ ์ด์ฃผ๊ณ , ๋ฆฌํดํ์ ๋ ๋ฐ๋์ ์ ์ด์ค์ผ ํ๋ค.
package com.example.kotlin_1
fun main(){
println(add(4,5))
}
fun add(a : Int, b : Int) : Int{ // ๋ฆฌํดํ์
์๋ต ๋ถ๊ฐ
return a+b
}
2. val(์์) vs var(๋ณ์)
val์ value๋ก, ๋ฐ๋์ง ์๋ ๊ฐ์ ๋งํ๋ค. ์๋์ ๊ฐ์ด ์ ๊ณ val ๋ก ์ ์ธํ a์ ๊ฐ์ ๋ฐ๊พธ๋ ค๊ณ ํ๋ฉด 'Val cannot be reassigned'๋ผ๊ณ ๋จ๋ฉด์ ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค๊ณ ๋์จ๋ค. ๋ฐ๋ฉด var๋ variable๋ก, ๋ฐ๊ฟ ์ ์๋ ๋ณ์๋ฅผ ๋งํ๋ค. ๋ฐ๋ผ์ var๋ก ์ ์ธํ b์ ๊ฐ์ ๋ค์์ ๋ฐ๊พธ์ด๋ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค. ๋ํ c, name ๋ณ์๋ฅผ ๋ณด๋ฉด ์ฝํ๋ฆฐ์ ํ์
์ ์ ์ง ์์๋ ํ ๋น๋ ๊ฐ์ ํํ๋ฅผ ๋ณด๊ณ ์๋์ผ๋ก ํ์
์ถ๋ก ์ ํด์ค๋ค. ๊ทธ๋ฌ๋ ๋ฐ๋ก ํ ๋น์ ํ์ง ์๋๋ค๋ฉด ํ์
์ ์จ์ค์ผํ๋ค. ๊ฐ์ฌ๋์ด ์๋ ค์ค ์ฝ๊ฒ ์ธ์ฐ๋ ๋ฒ : val์ ๋ฐ, ๋ ์ ์์, ์์ X / var๋ ๋ฐ์ง, ๋ ์ ์์, ์์ ๐
fun hi(){
val a : Int = 10 // ๋ฐ - ๋์์์, ์์ X
var b : Int = 9 // ๋ฐ์ง - ๋์์์, ์์ O
a = 100 // ์๋ฌ
b = 100
val c = 100 // Int๋ผ๊ณ ์ ์ง ์์๋ Int์ธ์ค ์์ง๋ง val/var์ ์ ์ด์ค์ผ ํจ.
var name = "gom"
}
3. String templat
string์ ์ถ๋ ฅํ ๋, ๋ณ์๋ฅผ ์ด์ฉํ๊ณ ์ถ๋ค๋ฉด $ ํ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. { }๋ ๋ฃ์ง ์์๋ ๋์ง๋ง ๋ฃ์ง ์์ ๊ฒฝ์ฐ ๋์ด์ฐ๊ธฐ๋ฅผ ํ์ง ์์ ๋ถ๋ถ๊น์ง ๋ณ์๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ์จ์ฃผ๋ ๊ฒ์ด ๊น๋ํ๋ค. ๋ง์ฝ $ ํ์๋ฅผ ๊ทธ๋ฅ String์ผ๋ก ์ฐ๊ณ ์ถ์ ๋๋ ์์ ๋ฐฑ์ฌ๋์๋ฅผ ๋ฃ์ด์ค๋ค.
fun main(){
var name = "gom"
println("my name is ${name}I'm 2")
println("Is it true? ${1==0}")
println("This is 2\$a") // ๊ทธ๋ฅ $ ํ์๋ฅผ ์ฐ๊ณ ์ถ์ ๋ ์์ ๋ฐฑ์ฌ๋์
}
4. ์กฐ๊ฑด์
1) if - else
- ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ : If - else๋ฌธ์ ์ด์ฉํ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค.
fun maxBy(a : Int, b : Int) : Int{
if(a > b){
return a
}else{
return b
}
}
- ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ : ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ๊ณผ ๋๊ฐ์ ํ์์ด์ง๋ง ์ฝ๋๊ฐ ๋์ฑ ๊ฐ๊ฒฐํด์ ๋ง์ด ์ฐ์ธ๋ค. ์ฝํ๋ฆฐ์์๋ ์ผํญ์ฐ์ฐ์(ex. return (a > b) ? a : b) ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ํํํ๋ค.
fun maxBy2(a : Int, b : Int) = if(a > b) a else b
2) when
์ฝํ๋ฆฐ์์ if๋งํผ ์์ฃผ ์ฐ์ธ๋ค. switch๋ฌธ๊ณผ ๋น์ทํ๋ค๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค.
์๋ ์ฝ๋๋ when์ ์ด์ฉํ์ฌ score๊ฐ 0์ด๋ฉด "this is 0", 1์ด๋ฉด "this is 1", 2, 3์ด๋ฉด "this is 2 or 3", ์๋๋ฉด "I don't know"๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋์ด๋ค. function๊ฐ์ ๊ฒฝ์ฐ else๋ฅผ ์ฌ์ฉํ์ง ์์๋ ์๊ด์๋ค.
fun checkNum(score : Int) {
when(score){
0 -> println("this is 0")
1 -> println("this is 1")
2, 3 -> println("this is 2 or 3")
else -> println("I don't know")
}
}
ํ์ง๋ง when์ ์๋์ ๊ฐ์ด return์์ผ๋ก๋ ์ฐ์ผ ์ ์๋ค. ์ด๋ด ๋๋ else๋ฅผ ๊ผญ ์จ์ค์ผ when์ ๋ฌธ์ ์์ด Expression์ผ๋ก ์ธ ์ ์๋ค.
fun checkNum(score : Int) {
var b = when(score){
1 -> 1
2 -> 2
else -> 3
}
}
์๋ ์ฝ๋๋ score๊ฐ 90์์ 100์ฌ์ด๋ผ๋ฉด "You are genius", 10์์ 80์ฌ์ด๋ผ๋ฉด "not bad", ์๋๋ผ๋ฉด "okay"๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋์ด๋ค. ์ด ๊ฒฝ์ฐ ์ญ์ else๋ฅผ ์ฐ์ง ์์๋ ๋๋ค.
fun checkNum(score : Int) {
when(score){
in 90..100 -> println("You are genius")
in 10..80 -> println("not bad")
else -> println("okay")
}
}
โ Expression vs Statment
๋ฐ๋ก ์ when์ ๋ํ ์์ ์์ ์ฒซ ๋ฒ์งธ, ์ธ ๋ฒ์งธ ์์ ๋ Statment์ด๊ณ ๋ ๋ฒ์งธ ์์ ๋ Expression์ด๋ค. ๊ทธ ์ฐจ์ด๋ ๋ฌด์์ผ๊น?
- Expression : ์ด๋ค ๊ฐ์ ๋ง๋๋ ๊ฒ. ์ฝํ๋ฆฐ์์ ๋ชจ๋ ํจ์๋ Expression์ผ๋ก ์ฌ์ฉ๋จ.(๋ฆฌํด๊ฐ์ด ์๋ณด์ด๋ ํจ์๋ผ๋ Unit์ด๋ผ๋ ๊ฐ์ ๋ฆฌํดํ๊ธฐ ๋๋ฌธ์ Expression)
- Statment : "์ด๋ ๊ฒ ํด!"์ฒ๋ผ ๋ช ๋ น์ ์ง์ํ๋ ๋ฌธ์ฅ์ ๊ฒฝ์ฐ Statment ๋ก ๋ถ๋ฅ๋จ.
์ข ๋ ๊ฒ์ํด๋ณด๋ Statment๋ ์คํ ๊ฐ๋ฅํ ์ต์์ ๋ ๋ฆฝ์ ์ธ ์ฝ๋ ์กฐ๊ฐ์ด๊ณ , Expression์ ํน์ ํ ๊ฐ์ผ๋ก ์๋ ด๋๋ ์ฝ๋ ์กฐ๊ฐ์ด๋ผ๊ณ ํ๋ค.
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 220130 (0) | 2022.01.30 |
---|---|
[TIL] 220128 (0) | 2022.01.28 |
[TIL] 220125 (0) | 2022.01.25 |
[TIL] 220122 (0) | 2022.01.22 |
[TIL] 220121 (0) | 2022.01.21 |