안드로이드 앱개발 #WIL3

YEAh·2021년 6월 21일
0

개발일지

목록 보기
3/5

✅ Kotlin

장점
1. 간결해서 생산성이 높아진다.
2. Java 대비 '버그'가 발생될 가능성이 낮다.
3. 코틀린은 Java와 호환 가능. (안드로이드 프로젝트에서 두개의 언어를 혼용해서 사용 가능함)

1. 변수(Variable) & 기본연산

  • var로 변수 선언
  • 변수는 처음 값의 타입을 기억하고, 앞으로 같은 타입만 넣을 수 있다.
  • 변수명은 코틀린에서 주로 camelCase 많이 사용
var temp1 = 20
var temp2 = "Bob"

tmep1 = "Bob"   // error 발생
var a = 1
var b = 2

println(a + b)  // 3

var first = "Bob"
var last = "Lee"

println(first + last)  // 'BobLee'

println(first + a)  // Bob1  문자 + 숫자를 하면, 숫자를 문자로 바꾼 뒤 수

2. 컬렉션 - 리스트(List), 맵(Map)

  • 리스트
    - 같은 타입만 들어감
var numList = listOf(1, 2, 3)  // 리스트 선언

println(numList[0])  // 1 

// 리스트의 길이 구하기
numList.size  // 3

  • - 키(key)-값(value) 의 묶음
var myMap = mapOf("firstName" to "Bob", "LastName" to "Lee")  // 맵 선언

println(myMap["FirstName"])  // Bob

// 맵에 있는 key의 수
myMap.size
// 맵에 있는 key값 가져오기 
myMap.keys
// 맵에 있는 value값 가져오기
myMap.values
  • 수정가능한 리스트와 맵

    listOf()와 mapOf()을 생성하면 읽기전용 모드로 생성되어 수정 불가능.
    mutableListOf()와 mutableMapOf() 사용!

var alphabetList = mutableListOf("a", "b", "c")

// 새로운 값을 마지막에 추가
alphabetList.add("d")

// n번째에 값을 추가
alphabetList.add(2, "d")

// 값을 변경
alphabetList[0] = "A"
// 또는
alphabetList.set(1, "B")

// 해당 하는 값이 있으면 가장 먼저 나오는 값을 제거
alphabetList.remove("d")

// n번째 값을 제거
alphabetList.removeAt(3)
var myMap = mutableMapOf("FirstName" to "Bob", "LastName" to "Lee")

// 새로운 값을 추가
myMap.put("language", "kor")

// 값을 변경
myMap["LastName"] = "Park"
// 또는
myMap.put("language", "kotlin")

//값을 제거
myMap.remove("FirstName")
  • 리스트와 맵의 조화
var students = mutableListOf(
  mapOf("name" to "bob", "age" to 20),
  mapOf("name" to "carry", "age" to 28)
)

println(students[0]["name"])  // bob

println(students)  // [{name=bob, age=20}, {name=carry, age=28}]

3. 함수

// 만들기
fun 함수이름(필요한 변수들) {
  내릴 명령어들을 순차적으로 작성
}

// 사용하기
함수이름(필요한 변수들)

// 동작을 실행하고 결과를 돌려주는(return) 경우
fun 함수이름(필요한 변수들): return타입 {
  내릴 명령어들을 순차적으로 작성
  retun 돌려주는 결과 값
}

//사용하기 
var 함수결과저장변수 = 함수이름(필요한 변수들)
// 자주 쓰이는 타입

// 숫자
var one: Int = 1
var pi: Double = 3.14

// 글자열
var name: String = "Lee"

// 참거짓
var isEasy: Boolean = true

4. 조건문

if (조건1) {

} else if (조건2) {

} else {

}

5. 반복문

for (i in 0..99) {
 print(i)
 
 // 0..99는 숫자의 범위를 나타내는 방법
for (변수 in 리스트) {
  
}
profile
End up being.

0개의 댓글