일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- node.js
- Array
- Python
- 리스트 뷰
- 함수
- var
- js
- Overloading
- 배열
- javascript
- 노트북
- 연산자
- Java
- 파이썬
- adapter
- HP
- 안드로이드
- golang
- 패널 교체
- 오버로딩
- Android
- blockchain
- go
- ListView
- 코틀린
- 싱글 스레드
- Kotlin
- 자바
- 노트북 추천
- Today
- Total
목록프로그래밍 (Programming)/코틀린 (Kotlin) (20)
Bbaktaeho
코틀린에서는 조건문으로 if와 when을 사용한다. 코틀린에서 if와 when은 명령문이 아닌 표현식으로 간주한다. 다양한 상황에 맞게 간결한 코드를 작성할 수 있도록 해준다.이렇게 이해해보자.if)만약 (이게 true 라면) {이걸 실행해}-----------------------------------------if (a==10) {println("a는 10이다")}if-else)만약 (이게 true 라면) {이걸 실행해}true가 아니라면 {이걸 실행해}-----------------------------------------if (a==10) {println("a는 10이다")}else {println("a는 10이 아니다")}if-else if-else)만약 (이게 true 라면) {이걸 실..
인덱스 연산자)배열은 인덱스를 사용해서 저장된 요소를 불러오거나 변경할 수 있다.인덱스 연산자인 [] 는 get()과 set() 함수로 오버로딩되므로 우리가 정의하는 컬렉션 클래스에서도 get()과 set()을 정의하여 인덱스 연산자를 오버로딩할 수 있다. 여기서 get() 은 요소의 값을 읽고, set() 은 해당 요소를 변경한다.표기코드설명arr[i]arr.get(i)arr의 인덱스 i 의 값arr[i] = barr.set(i,b)arr의 인덱스 i 의 값을 b로 변경invoke 연산자)함수를 호출할 때는 이름에 괄호를 붙여 사용한다. 그런데 클래스의 인스턴스도 이런 방법으로 호출 가능하다. 이때는 괄호연산자->() 를 오버로딩한 invoke() 함수에 operator 키워드를 지정하여 해당 클래스..
비교 연산자)표기코드설명a > ba.compareTo(b) > 0a가 b보다 큰가?a = ba.compareTo(b) >= 0a가 b보다 큰 거나 같은가?a
코틀린 연산자를 사용하는 법은 다른 프로그래밍 언어와 유사하지만 내부적으로 연산자를 오버로딩한 함수를 사용한다. 코틀린에서 A+B는 덧셈 연산자를 오버로딩한 A.plus(B) 가 수행된다. 그래서 피연산자가 어느 타입이라도 우리는 + 로만 나타내도 돼서 편리하다.산술 연산자)표기코드설명a + ba.plus(b)a와 b를 더한다a - ba.minus(b)a에서 b를 뺀다a * ba.times(b)a와 b를 곱한다a / ba.div(b)a를 b로 나눈다a % ba.rem(b)a를 b로 나눈 나머지를 리턴한다기본 타입의 변수를 연산할 때는 우리가 굳이 연산자를 오버 로딩하지 않아도 된다. 이미 오버로딩되어 있다.다른 연산자도 확인해보자.단항 연산자)표기코드설명+aa.unaryPlus()a를 양수로 변환한다..
입력)코틀린에서 입력은 자바에서 사용한 Scanner 클래스를 이용할 수 있다. 또한 readLine() 함수를 사용하여 입력받을 수 있다.자바에서 Scanner 사용법은 먼저 Scanner 클래스를 Imprt 시켜주고 객체를 생성하여 원하는 타입을 입력받는 것이다.코틀린에서도 같은 방법으로 사용할 수 있다.12345678910import java.util.*fun main(args: Array) { print("이름을 입력하세요 : ") val name = readLine() print("학교를 입력하세요 : ") val s = Scanner(System.`in`) val uni = s.nextLine() //입력 print("이름은 $name , 학교는 $uni 입니다.")}Colored by Col..
추론)기본 타입 변수를 선언할 때 타입을 지정하지 않으면 초기화되는 값을 기준으로 코틀린 컴파일러가 적합한 타입을 추론해준다. 정수의 경우는 Int 타입, 실수의 경우는 Double 타입으로 추론한다.12345678910fun main(args: Array) { val a = 10 val b = 10.0 val c = 10f val d = 10L println(a.javaClass) println(b.javaClass) println(c.javaClass) println(d.javaClass)}cs위의 코드를 실행하면intdoublefloatlong으로 출력된다. 변수들을 만들 때 타입을 명시하지 않아도 초기화 값을 기준으로 추론해주기 때문이다. 타입을 명시하지 않더라도 변수들은 추론한 타입으로 정해졌기..
다차원 배열)2차원 이상의 배열을 다차원 배열이라고 한다.어떤 배열 요소에 값이 아닌 또 다른 배열을 저장하면 2차원 배열이 된다. 2차원 배열은 행과 열로 구성되는 표라고 생각해도 좋다.12345678910fun main(args: Array) { val arr1 = arrayOf(arrayOf(1,2,3), arrayOf(4,5,6)) val arr2 = Array(2, {Array(3,{i -> i+1 })}) arr1[0].forEach { print(it) } arr1[1].forEach { print(it) } println() arr2[0].forEach { print(it) } arr2[1].forEach { print(it) }}Colored by Color Scriptercs변수 arr..
배열)코틀린에는 배열이 Array 클래스로 정의되어 있다. 그리고 Array처럼 배열에 저장되는 요소의 타입을 제네릭 타입으로 나타낸다.대괄호는 배열을 선언할 때 사용하지 않고 배열의 각 요소를 읽거나 쓸 때만 사용한다.(자바와 다른 점)첫 번째로 arrayOf() 함수를 사용하여 생성해보자 괄호 안에는 순서대로 요소가 들어간다.1234val arr = arrayOf(1,2,3)//arr[0]는 1//arr[1]는 2//arr[2]는 3csarrayOf() 함수는 초기화를 해주지 않으면 안 된다. 만약 배열 요소가 null 값을 가질 수 있거나 또는 요소의 타입이 null 값을 허용하는 경우에는 arrayOfNulls() 함수를 사용해야 된다.12val arr1 = arrayOf(1,2,3)val ar..