함수
1. 선언 : fun 함수명(매개변수명: 타입): 반환타입 {...}
1)반환타입 생략시 자동으로 Unit설정
2)매개변수는 자동 val 설정
3)매개변수 기본값 설정: 매개변수명: 타입 = 기본값 형식으로 두면 인자전달 안 할시 기본값으로 받음
4)명명된 매개변수: 호출시 매개변수명 지정시 순서 바뀌어도 됨: ex)some(data2=10,data1=20)
컬렉션 타입: Array, List,Set,Map
1. Array
1)생성
<1>기본: val data: Array<데이터타입>=Array(n,{a}): n개의 a로 구성된 배열 생성
<2>기초타입: val data: 데이터타입Array = 데이터타입Array(n,{a})
<3>arrayOf(): val data=arrayOf(데이터들)
=>arrayOf()는 다양한 타입의 데이터들로 구성되게 만들 수있음.
=>arrayOfNulls<데이터타입>(원소개수)로 널배열 생성가능
=>emptyArray()로 빈 배열 생
2)읽기: 배열.contentToString()으로 한번에 읽기가능
3)접근:
1)가져오기:get(원소위치), data[원소위치]
2)수정:set(원소위치,바꿀값), data[원소위치]=바꿀
3)크기: size
2. List, Set, Map
1)List: 순서 존재, 중복허용
=>listOf()
2)Set: 순서 존재X, 중복 불허용
=>setOf()
3)Map: 키,값으로 이루어진 데이터집합, 키중복 불허용
=>mapOf()
=>map의 원소는 Pair(키,값) 이나, 키 to 값 으로 쓴다.
4)mutable:앞에 Mutable을 붙여사용
<1>Mutable:가변, add(),set(),get(),size()사용가능
<2>일반: 불변, get,size만 사용가능
조건문과 반복문
1. if ~ else / if ~ else if ~ else
=>표현식으로 사용가능: val result = if ~ else
=>이때 마지막줄에 쓰인 값이 해당됨.
2.when
1)형식: when(변수){ case1 -> 표현식 ... else -> 표현식}
=>when{(변수포함 표현식) ->표현식 ~ else ->표현식}: 변수를 케이스 부분에 넣어사용가
2)case부분에 사용가능한 형식:
<1>is 데이터타입: 해당 데이터인지 여부
=>단, 다른 데이터 타입을 확인하려는경우(ex)정수를 is String)에러가 나므로 변수 타입을 Any로 명시해 줘야 한다.
<2>20, 30: 여러값에 대한 경우
<3> in 1..10: 이상 이하로 범위 나타낼 경우
<4> >, <, >=, <=, ==:이건 데이터 명시 x일시 사용
=>when{~} 형태일시
<4>!표현식: 표현식을 제외한 범위
3)표현식으로 사용: val result = when(){}: ->뒷부분에 나오는 게 들어가는 데이터
3.for
1)형식:for(i in 표현식){}
2)표현식
<1>i in 1..10: 1이상 10이하까지
<2>i in 1 until 10: 1이상 10 미만까지
<3>i in 1..10 step 2:1이상 10이하까지 2씩 증가
<4>i in 10 downTo 1:10에서 1까지
3)컬렉션 사용시
<1>i in collection.indices: 컬렉션의 데이터 개수만큼 돌아감. 이때 i는 컬렉션의 인덱스(즉 0,1,2,3,....)
<2>(index, value) in data.withIndex(): 인덱스와 값을 각각 꺼내오며 돌아감
4.while(조건문){...}
'코틀린-안드로이드' 카테고리의 다른 글
6일차)알고리즘 문제(문자열 나누기) (0) | 2024.05.28 |
---|---|
5일차)알고리즘 문제(체육복,숫자짝꿍), 코틀린 문법 (0) | 2024.05.27 |
4일차)코틀린 문법 - 4 (0) | 2024.05.16 |
3일차) 코틀린 문법-3 (0) | 2024.04.05 |
1일차)코틀린 문법-1 (0) | 2024.03.28 |