0. 모든 것의 시작은 main function에서부터이다.
1. val 과 var 차이점?(변수)
먼저 자바와는 다른점은 코드 마지막마다 세미클론을 할 필요가 없다는 점이다.
var은 중복기재가 된다. 즉 var은 유동적인 변수에 사용한다.
val은 정적인 변수에 사용하기 떄문에 값이 변하지 않는 상수라고 생각하면 된다.
2. 주석 처리
//(한줄 주석), /* */(전체주석)을 사용해서 코드에 대한 설명을 기재한다.
(다른 개발자들이 코드의 의미를 잘 알 수 있도록)
3. type 정해주기(사실은 값을 보고 자동으로 type이 정해진다.) ->타입 추론
byte, short, float 같은 경우는 데이터 타입을 명시해주어야 한다.
val myByte : Byte = 12
val myFloat : Float = 13.37F(F를 기재해줘야 한다.)
val letterChar = 'A'
val digitChar = '$'
->> 문자 한개만 정하기(char)
val myStr = "Hello World" ->String 형태
var firstCharInStr = myStr[0] -> H가 출력된다.
4. String Template
$을 이용하여 + 를 대신하여 사용할 수 있다.
ex) $myStr.length == + myStr.length
5. 연산자에서 헷갈리는 부분
max++ vs ++max :
전자는 변수의 값이 max가 나오고 증가된다.(코드가 끝나고 나서 증가한다.)
후자는 변수의 값이 증가되어서 나온다.
print를 할때 System.out.print를 할 필요 없이 간단하다.(장점)
6. when expression
ex)
when(변수){
1 -> println()
2 -> println()
3 -> {println()
println()
}
in 0..20 ->println() // 0에서 20사이이면 출력
else -> println()
}
7. for 문
1) for(num in 1..10){ } ->1부터 10까지를 의미한다.
2) for(num in 1 until 10){ } -> 1부터 9까지를 의미한다.(10 전까지)
== for(i in 1.until(10)){ }
3) for(i in 10 downTo 1 step 2) { } -> 10부터 1까지 2씩 띄어서를 의미한다.
== for(i in 10.downTo(1).step(2)){ }
특정한 값에서 나오기 위해서는 break를 사용하고 특정 값에서 다음 값으로 넘어가고 싶을때 continue를 사용한다.
8. function 생성
fun 이름(parameter) : type { }형식으로 적어준다.
ex) fun addUp(a: Int, b: Int) : Int{ return a+b }
**argument vs parameter -> parameter는 함수와 메서드 '입력 변수명'을 의미하고 argument는 함수와 메서드의 '입력 값'을 의미한다.
**객체지향 안에서는 function이라는 말보다는 method라는 말을 사용한다.
method는 class안에 생성된 function을 의미한다.
9. Nullable
null type도 string, int와 같은 type이다.
?을 사용하면 nullable 사용 가능
ex) var nullableName : String? = null
?를 사용하게 되면 값이 있는 경우는 값을 저장하고 없는 경우는 null을 저장하게 된다.
ex) val name = nullableName ? : "Guest"
- > nullableName의 값이 있다면 원래 값을 넣지만 null이라면 Guest를 default 값으로 넣어주라는 것이다.
(?: Elvis operator)
10. non-null type -> 변수에 값이 있다고 확신할 때 사용한다.
!!를 사용하여 선언한다.
'GDSC : KOTLIN STUDY' 카테고리의 다른 글
kotlin udemy 강의 정리(126-128) (0) | 2022.11.16 |
---|---|
kotlin udemy 강의(122-123 정리 파트) (0) | 2022.11.10 |
[7팀] 퀴즈 앱 안드로이드 12 part 3 (0) | 2022.11.06 |
코틀린 2주차 정리(3/3) (1) | 2022.10.06 |
코틀린 스터디(2주차) - 2/3 (0) | 2022.10.05 |