변수
val
: 불변 변수. 값을 재할당 할 수 없음 (컴파일 에러)
var
: 가변 변수. 값을 재할당 할 수 있음
val은 c언어의 const
변수라고 생각할 수 있을 것 같다.
자료형
Integer, Long, Float 등 c언어와 비슷함 // 대신 첫문자 대문자로 쓰기...
소수를 변수값으로 저장할 때 자료형을 지정해 주지 않으면 Double형으로 추론
Float로 저장하려면? → f를 값 끝에 붙임
* 변수값을 $ { }
으로 넣어 줄 수 있음
nullable type
null 할당을 허용하려면 nullable modifier ‘?’를 통해 지정함
if문
c언어와 크게 차이점은 없음
if 조건문 block의 마지막 값을 반환해 변수에 할당 가능
when 조건문
c언어의 switch문과 유사
if 조건문과 같이 값을 반환해 변수에 할당 가능
반복문
c와 동일하게 초기화식 → 조건식 → 증감식 순으로 들어감
break와 continue도 똑같이 사용
추가로 break@{label}, continue@{label}을 이용해서 가장 가까운 반복문이 아닌, 지정한 반복문을 break, continue 가능
→ 안쪽 반복문에서 바깥쪽 반복문의 중단, 계속이 지정되는 경우 상당히 간편함
https://school.programmers.co.kr/learn/courses/30/lessons/120888
이 문제의 경우 2중 반복문 사용시 라벨을 이용하면 간편하게 풀 수 있다
class Solution {
fun solution(my_string: String): String {
var answer: String = ""
loop@ for (i : Int in 0 until my_string.length step 1) {
for (j : Int in 0 until i step 1) {
if (my_string[i] == my_string[j]) continue@loop
}
answer += my_string[i]
}
return answer
}
}
연산자
?.
: safe call operator - nullable type 변수 속성에 접근 가능
?:
: Elvis operator - null이 아닌 경우 앞에 것 반환
!!
: not null assertion - null이 사용되지 않을 것을 단언
🙋🏻♂️ 이번 강의에서 특히 중요하다고 생각하는 것
nullable type이라고 생각한다.
다른 언어들에서는 없는 개념이라서 생소했지만, nullable type을 다루는 연산자가 따로 있는 것을 보아서 nullable type을 중요하게 생각하는 것 같다.
아직 코틀린으로 코드를 짜 본 적이 없어서 어떻게 사용될지는 더 해 봐야 알 것 같다.
추가로 매일 c++로 ps하다가 코틀린으로 하니 실행 시간이 상당히 길다!!
또한 세미콜론을 쓰지 않아도 된다는 게 어색하다. 파이썬 같고...
'코틀린' 카테고리의 다른 글
코틀린 공부 이야기 - 4주차 (0) | 2024.03.03 |
---|---|
코틀린 공부 이야기 - 3주차 (0) | 2024.02.26 |