초보자를 위한 Kotlin 튜토리얼(예)

코틀린이란?

코 틀린 JVM(Java Virtual Machine)에서 실행되는 오픈 소스 정적 유형 프로그래밍 언어입니다. 이는 객체 지향 프로그래밍(OOP)과 기능적 프로그래밍을 제한되지 않고 자급자족할 수 있는 독특한 플랫폼에 결합합니다. 또한 소형 코드로 기능을 결합할 수 있습니다. Kotlin은 JetBrains가 설계한 범용 프로그래밍 언어입니다.

코틀린의 역사

Kotlin의 역사에서 중요한 랜드마크는 다음과 같습니다.

출간연도 이벤트
2016 Kotlin v1.0 출시
2017 Kotlin의 최고 수준 지원에 대한 Google의 발표 android
2018 Kotlin v1.2에는 JVM과 JavaScript 간 코드 배포에 대한 추가 기능이 포함되어 있습니다.
2019 Google은 Kotlin을 선호하는 프로그래밍 언어로 발표했습니다. Android 애플리케이션 개발자
2021 20년 2021월 1.5.31일에 Kotlin vXNUMX이 출시되었습니다.

Kotlin을 사용하는 이유

Kotlin이 널리 사용되는 몇 가지 중요한 이유는 다음과 같습니다.

  • Kotlin은 읽고 쓰기가 매우 쉬운 정적인 유형의 언어입니다.
  • Kotlin 프로그램에는 프로그램에 세미콜론이 필요하지 않습니다. 이렇게 하면 코드가 더 쉽고 쉬워집니다. readable.
  • 이 언어를 사용하면 Java의 정보를 다양한 방식으로 교환하고 사용할 수 있습니다. 또한 Java와 Kotlin 코드는 동일한 프로젝트에 공존할 수 있습니다.
  • Kotlin의 유형 시스템은 코드에서 NullPointerException을 제거하는 것을 목표로 합니다.
  • Kotlin으로 새 코드를 작성하는 데 시간이 덜 걸립니다. Kotlin 코드를 배포하고 대규모로 유지 관리하는 것이 훨씬 더 쉽습니다.

코틀린의 특징

프로그래밍 언어의 발전 경로를 확인할 수 있는 Kotlin의 몇 가지 기능은 다음과 같습니다.

다듬어진 코딩:

Kotlin은 코드 라인을 최대 40%까지 줄일 수 있는 OOP 기반 프로그래밍 언어로, Kotlin은 소프트웨어 또는 웹 개발에 이상적인 선택입니다.

오픈 소스:

Kotlin용 Android JVM을 활용하고 OOP와 기능 지향 프로그래밍의 기능을 결합합니다.

빠른 컴파일:

Kotlin으로 작업할 때 코드를 쉽게 컴파일하면 더 나은 성능을 얻을 수 있습니다. android 개발 및 전체 코드에서 어떤 유형의 데이터 함수를 사용할 수 있는지 설명합니다.

확장 기능:

Kotlin은 코드를 변경하지 않고도 다양한 확장 기능을 지원할 수 있습니다. 이는 개발자에게 기존 코드를 더욱 매력적이고 훌륭하게 만드는 데 도움이 됩니다.

예를 들면 :

Fun String.removeFirstLastChar():
String = this.substring(1, this.length -1)

이 코드는 문자열의 첫 번째 문자와 마지막 문자를 잘라내는 데 도움이 되며 다음과 같이 적용할 수 있습니다.

Val string1 = "Today is cloudy."
Val string2 = string1.removeFirstLastChar()

안전이 보장되지 않음:

Kotlin에서 시스템은 아래 Kotlin 예와 같이 null 참조와 null이 아닌 참조를 구별합니다.

예를 들어 String 변수는 null을 보유할 수 없습니다.

Var string1: String = "Today is Sunday"
String1 = null  // compilation error
To permit null, we can adjoin the nullable variable :
Var string2: String? = "Today is Sunday"
String2 = null
print(string2)

매장하다opera블레:

Kotlin 코드는 Java에서 사용할 수 있고, Java 코드는 Kotlin과 함께 사용할 수 있습니다. 따라서 이에 대한 지식이 있으면 OOP 프로그래밍을 하다 보면 Kotlin 개발로 전환하기가 쉽습니다. 또한 Java로 작성된 애플리케이션이 있으면 Kotlin 환경에서 사용할 수 있습니다.

강력한 도구:

Java와 마찬가지로 Kotlin 코드도 IDE나 명령줄 인터페이스를 사용하여 작성할 수 있습니다. IDE로 작업하기 쉽고 구문 오류도 획기적으로 줄어듭니다. 동시에 명령줄 인터페이스로 작업할 때는 코드를 먼저 컴파일해야 합니다.

스마트 캐스트:

스마트 캐스팅은 기본적으로 적용 비용을 절감하고 속도나 성능을 향상시키는 데 도움이 됩니다. 유형 캐스팅이나 불변 값을 사용하여 코드 효율성을 관리하는 작업을 수행합니다.

예를 들어 문자열이 식별되면 길이와 개수이며 Smart Cast 기능을 사용하여 찾을 수 있습니다.

Val string1: Any = "Today is Monday"
when(string1)
{
is String  -> string1.length
Is Int -> string1.inc()
}

낮은 채택 비용:

Kotlin은 채택 비용 손실로 인해 기업에서 선호됩니다. 가장 중요한 것은 특히 프로그래밍 배경을 가진 개발자가 배우기 쉽다는 것입니다.

Kotlin 환경 설정

FOLLOwing Kotlin을 설치하여 작업 환경을 설정하는 데 도움이 되는 단계입니다.

1단계) 자바 설치

앞서 Kotlin이 Java 기반이라고 설명했듯이 Kotlin을 도입하려면 먼저 Java를 설치해야 합니다. 우리를 참조하십시오 자바 설치 튜토리얼.

2단계) Java IDE 설치

다행히 여러개 있어요 Java IDE 에서 고르다. 여기에서는 작업을 좀 더 쉽게 할 수 있도록 다운로드 링크를 제공했습니다.

이 Kotlin 튜토리얼에서는 Eclipse.

3단계) ​​Kotlin 설치

Kotlin을 설치하려면 Eclipse, 도움말 섹션으로 이동하세요. Eclipse 를 클릭하고 Eclipse 마켓플레이스 옵션.

Kotlin 환경 설정

이제 검색에 Kotlin 키워드를 입력하세요. box. 플러그인을 나열하려면 이동 옵션을 클릭하세요. Kotlin 플러그인 링크가 제공되므로 해당 링크에서 플러그인을 설치해야 합니다.

Kotlin 환경 설정

다시 시작하세요. Eclipse IDE, 설치가 완료되면. 오른쪽 상단에 바로가기 아이콘이 있습니다. Eclipse IDE. 빠른 접근 방법입니다.

Kotlin 환경 설정

Kotlin에 액세스하는 또 다른 방법은 다음과 같습니다. Eclipse IDE는 Windows, Perspectives, Open Perspectives를 선택한 후 기타 옵션을 선택하십시오. 여기에서 설치된 플러그인 목록을 확인할 수 있습니다. later, 아래와 같이.

Kotlin 환경 설정

Kotlin 설치를 확인했으면 다음 단계에서 첫 번째 Kotlin 프로그램을 만들어 보겠습니다.

4단계) 첫 번째 Kotlin 프로그램

첫 번째 Kotlin 프로젝트부터 시작하세요. 파일 메뉴에서 새로 만들기 옵션을 선택한 다음 다른 항목을 선택하고 목록에서 새 Kotlin 프로젝트로 시작하세요.

Kotlin 환경 설정

이제 프로젝트 이름을 정의해야 하며 Kotlin을 사용할 준비가 되었습니다.

Kotlin 환경 설정

이 간단한 단계를 통해 쉽게 다운로드할 수 있습니다. Eclipse Kotlin을 시스템에 설치하고 바로 첫 번째 Kotlin 프로그램을 작성해 보세요.

Archi코틀린 강의

잘 지어진 archi애플리케이션이 기능을 확장하고 최종 사용자 기반의 기대를 충족하려면 강의가 중요합니다. Kotlin은 자신만의 독특한 특징을 가지고 있습니다. archi개발자와 최종 사용자를 위해 메모리를 할당하고 양질의 결과를 얻을 수 있는 강의입니다.

Kotlin의 코루틴 및 클래스 archi상용구 코드를 덜 생성하고 성능을 증폭시키며 효율성을 강화하는 방식으로 코어를 설계합니다. Kotlin 컴파일러가 다르게 반응할 수 있는 다양한 시나리오가 있으며, 특히 다양한 종류의 언어를 지정할 때마다 더욱 그렇습니다.

Archi코틀린 강의
Archi코틀린 강의

. archi구조 다이어그램을 보면 코드 실행이 세 가지 쉬운 단계로 수행된다는 것이 분명합니다.

  1. 첫 번째 단계에서는 ".kt" 또는 kotlin 파일이 컴파일러에 추가됩니다.
  2. 두 번째 단계에서 Kotlin 컴파일러는 코드를 바이트코드로 변환합니다.
  3. 세 번째 단계에서는 바이트코드가 자바 가상 머신 JVM에 의해 실행됩니다.

몇 바이트로 코딩된 파일인 경우 operaJVM에 대한 테스트, 그들은 kindle Kotlin의 기능이 inter라고 불리는 이유입니다.opera자바 룩 탄생 능력

Kotlin이 JavaScript로 전환되는 것은 Kotlin이 JavaScript를 대상으로 할 때 발생합니다.

JavaScript의 대상이 선택되면 Kotlin과 함께 항해하는 라이브러리의 일부인 Kotlin 코드는 JavaScript로 유출됩니다. 단, JDK(Java Development Kit) 또는 사용되는 모든 Java 라이브러리는 제외됩니다.

Kotlin이 아닌 파일은 이러한 과정에서 고려되지 않습니다. operation. JavaScript를 대상으로 하는 동안 .kt 파일은 Kotlin 컴파일러에 의해 ES5.1로 변환되어 JavaScript에 대한 일관된 코드를 생성합니다. Kotlin 컴파일러는 최적의 크기 출력을 시도합니다.opera기존 모듈과의 호환성, 표준 라이브러리와 동일한 기능, JavaScript 출력 readable.

논의를 통해 Kotlin 컴파일러가 더욱 효율적이고 유능하며 독립적인 코드를 생성하여 고성능 소프트웨어 제품을 만들 수 있다는 것이 분명해졌습니다.

코틀린 변수

변수는 프로그램에서 조작하고 참조할 데이터를 저장하는 데 사용됩니다. 이는 기본적으로 데이터를 저장하고 레이블을 지정하는 단위로, 프로그램이 읽기 쉽고 이해하기 쉽도록 설명적 별칭을 기다립니다. 즉, 변수는 정보를 수집하는 그릇이라고 할 수 있습니다.

Kotlin에서는 모든 변수를 선언해야 합니다. 그러나 변수를 선언하지 않으면 구문 오류가 발생합니다. 또한 변수의 선언에 따라 우리가 할당할 데이터 유형이 결정됩니다.wing 변수에 저장합니다. Kotlin에서는 val 및 var 키워드를 사용하여 변수를 정의할 수 있습니다. Kotlin에서 변수를 선언하는 구문은 다음과 같습니다.

Var day = "Monday"
Var number = 3

여기서는 값이 ''인 지역 변수 day를 선언했습니다.Monday'이고 유형이 String이고 값이 3이고 유형이 Int인 또 다른 지역 변수 번호입니다. 여기서 리터럴은 정수 유형 3이기 때문입니다.

지역 변수는 맞춤형입니다.mari동시에 선언되고 초기화됨neo우리. 우리는 또한 특정 작업을 수행할 수 있습니다 operaKotlin 변수를 초기화하는 동안 발생하는 문제입니다.

우리는 opera동일한 데이터 유형의 변수에 대한 설명입니다. 여기에서 num1과 num2는 모두 동일한 데이터 유형인 Int인 반면 day는 문자열 데이터 유형입니다. Ergo, 오류가 표시됩니다. Kotlin에서 변수를 정의하는 또 다른 기술은 다음과 같습니다.

var day : String = "GURU99"
var num : Int = 100

var 및 val 키워드가 어떻게 다른지 살펴보겠습니다.

변수:

Var는 단일 프로그램에서 여러 번 사용할 수 있는 모든 프로그래밍 언어에서 사용되는 일반 변수와 같습니다. 또한 프로그램에서 언제든지 해당 값을 변경할 수 있습니다. 따라서 가변 변수라고 합니다.

다음은 Kotlin의 변경 가능한 변수의 예입니다.

var num1 = 10
Var num2 = 20
Num1 = 20
print(num1 + num2) // output : 40

여기서 num1의 값인 20은 num1의 이전 값인 10으로 덮어쓰여집니다. 따라서 num1 + num2의 출력은 40이 아닌 30입니다.

값:

Val은 상수 변수와 같으며 값을 변경할 수 없습니다. later 단일 프로그램에서 여러 번 할당할 수 없으며 특정 프로그램에서 한 번만 사용할 수 있습니다. Ergo는 불변 변수로 알려져 있습니다.

다음은 Kotlin의 불변 변수에 대한 Kotlin 프로그램 예시입니다.

Val num1 = 10
Var num2 = 20

여기서 num1의 값 10은 상수 val 유형이므로 num1의 새 값 20으로 덮어쓸 수 없습니다. 따라서 출력은 30이 아닌 40입니다.

주의 사항: Kotlin에서는 변경 가능한 변수보다 불변 변수가 선호됩니다.

Kotlin의 데이터 유형

데이터 유형은 관련 가능한 값의 집합이며 다음을 설명합니다. opera할 수 있는 사항 opera그들에게 테드. 다른 프로그래밍 언어와 마찬가지로 Kotlin에는 Int, Boolean, Char와 같은 사전 정의된 데이터 유형 세트도 있습니다. Double등

Kotlin에서는 모든 데이터 유형을 객체로 간주합니다.

이제 이 Kotlin 기본 튜토리얼에서는 Kotlin에서 사용되는 사전 정의된 데이터 유형에 대해 자세히 살펴보겠습니다.

Numbers :

Kotlin은 다음과 같은 내장 데이터 유형 세트를 제공합니다. numbers, 이는 정수 및 부동 소수점으로 하위 분류됩니다. Numbers.

정수 :

정수는 다음의 범주에 속합니다. numbers 여기에는 네 가지 유형이 있습니다.

타입 크기(비트) 최소값 최대 가치
바이트 8 -128 127
짧은 16 -32768 32767
INT 32 -2,147,483,648(-231) 2,147,483,647 (231 ~ 1)
64 -9,223,372,036,854,775,808(-263) 9,223,372,036,854,775,807 (263 ~ 1)

부동 소수점 Numbers :

부동 소수점 Numbers 정수가 아닌 것 numbers 일부 소수 값을 전달합니다.

Float: Float는 32비트 단정밀도 부동 소수점 값입니다.

예: var: 부동 x = 3.25600

Double: Double 64비트입니다 double – 정밀 부동 소수점 값.

예: 변수: Double y = 2456.345587.

부울:

Kotlin의 부울 데이터 유형은 논리 값을 나타내는 데 중요합니다. 부울에는 true 또는 false라는 두 가지 가능한 값만 있습니다.

예를 들면 : 발데이 = 사실

Val day2 = 거짓

캐릭터 :

Kotlin의 문자는 char이라는 키워드를 사용하여 표현됩니다. Kotlin에서 작은따옴표는 char 선언을 나타냅니다. Java에서는 char이 때때로 다음과 같이 사용됩니다. numbers 코틀린에서는 불가능합니다.

예를 들면 :

val onechar = 'x'
print(onechar) //  output : x
Val onedigit = '7'
print(onedigit) // output : 7

Kotlin 유형 변환 또는 Kotlin 유형 캐스팅

유형 변환은 한 유형의 데이터 변수를 다른 데이터 유형 변수로 변환하는 절차입니다. 이는 Type Casting이라고도 알려져 있는 엄청난 규모입니다.

특히 Java에서는 암시적 유형 변환 또는 더 작은 데이터 유형을 더 큰 데이터 유형으로 유형 변환하는 암시적 유형이 지원됩니다.

For Example : int abc = 15;
Long bcd = abc; // compiles successfully

그러나 Kotlin에서는 더 작은 데이터 유형을 더 큰 데이터 유형으로 암시적으로 변환하는 것이 전혀 지원되지 않습니다. 즉, int 데이터 유형은 암시적으로 긴 데이터 유형으로 변환될 수 없습니다.

For Example : var abc = 15
Val bcd : Long = abc // error

그러나 Kotlin에서는 유형 변환이 명시적으로 수행됩니다. 다음은 하나의 데이터 유형 변수를 다른 데이터 유형 변수로 변환하도록 안내하는 도우미 함수에 대한 지침입니다.

한 데이터 유형을 다른 데이터 유형으로 변환하기 위해 사전 소유된 특정 도우미 함수가 있습니다.

toInt()

투바이트()

toShort()

toChar()

길이에()

플로트()

에Double()

For Example : var abc = 15
Val bcd : Long = abc.toLong() // compiles successfully

코 틀린 Opera토르

Opera토르(tors)는 다음을 보장하는 중대한 특수 문자 또는 기호입니다. opera안으로 opera변수와 값이 있는 nds입니다. Kotlin에는 다음과 같은 세트가 있습니다. opera다양한 용도로 사용되는 토르 opera산술과 같은 opera임무, 임무 opera설명, 비교 opera등등.

산수 Opera토르 :

산수 opera토르는 덧셈, 뺄셈, 곱셈, 나눗셈, 모듈러스에 사용됩니다.

Opera바위 산 의미
+ 추가(문자열 연결에도 사용됨)
- 뺄셈 Opera바위 산
* 곱셈 Opera바위 산
/ 분할 Opera바위 산
% 모듈러스 Opera바위 산

예를 들면 :

var x = 10
var y = 20
var z = ( ( x + y ) * ( x + y ) ) / 2     

다음은 follo의 출력입니다.wing 코드는 45입니다.

비교 Opera토르 :

비교 operator는 두 값, 두 변수 또는 두 값을 비교하는 데 사용됩니다. numbers. 초과 기호( > ), 미만 기호( < ) 및 같음 기호( ==), 같지 않음 기호( != ), 이상 기호( >= ), 같음 기호와 함께 사용됩니다. 기호(<= ). 결과는 항상 true 또는 false입니다.

예를 들면 :

var x = 10
Var y =20
Var z = x < y // Output : true
Var w = x > y // Output : false
Var m = x == y // Output : false

할당 Opera토르 :

할당 Opera토르(tors)는 산술 연산을 할당하는 데 사용됩니다. opera테드 값. +=, -=, *=, /=, %=와 같은 기호와 함께 사용됩니다.

예를 들면 :

var x = 10
var y = 20
var x + = y // Output : 30
Var y - = x // Output : 10
Var x * = y // Output : 200

증가 및 감소 Opera토르 :

증가 및 감소 opera토르는 변수나 숫자의 값을 늘리거나 줄이는 데 사용됩니다. ++ 및 —와 같은 기호의 도움으로 사용됩니다.

증가 및 감소에는 사전 증가 ++a, 사후 증가 a++, 사전 감소 –b, 사후 감소 b–의 두 가지 유형이 있습니다.

예를 들면 :

var a = 10
var b = 20
var c = a++ // Output: 11
var d = b— //Output : 19     

코틀린 배열

배열은 동일한 유형의 데이터 유형 세트이며 동일한 유형의 데이터를 연속 메모리 위치에 저장하는 데 사용되는 가장 기본적인 데이터 유형 중 하나입니다. 배열은 모든 프로그래밍 언어에서 데이터를 구성하는 데 중요하므로 한 곳에 저장된 여러 데이터를 쉽게 검색하거나 정렬할 수 있습니다.

Kotlin에서 배열은 기본 데이터 유형이 아니라 동일한 데이터 유형의 변경 가능한 공동 작업입니다.

Kotlin 배열의 특정 속성은 다음과 같습니다.

  • 일단 선언되면 배열의 크기를 변경할 수 없습니다.
  • Kotlin의 배열은 변경 가능합니다.
  • 배열은 인접한 메모리 위치에 저장됩니다.
  • a[1], a[2] 등과 같은 인덱스를 사용하여 배열에 액세스할 수 있습니다.
  • 배열의 인덱스는 0(a[XNUMX])으로 시작합니다.

Kotlin에서는 두 가지 방법으로 배열을 정의할 수 있습니다.

arrayOf() 함수를 사용하여:

Kotlin에서는 라이브러리 함수가 주로 사용됩니다. 그러한 라이브러리 함수 중 하나는 arrayOf() 함수로, 변수 값을 함수에 전달하여 배열을 정의하는 데 사용됩니다.

예를 들면 : arrayOf() 함수를 사용하여 배열의 암시적 유형 선언

val x = arrayOf(1,2,3,4,5,6,7,8,9)

예를 들면 : arrayOf() 함수를 사용하여 배열 선언을 명시적으로 입력합니다.

Val y = arrayOf<Int>(1,2,3,4,5,6,7,8,9)

배열 생성자를 사용하여:

Kotlin에는 Array라는 클래스가 있습니다. 따라서 생성자의 배열을 사용하여 배열을 만드는 것이 가능합니다. 생성자의 배열에는 두 가지 주요 매개변수가 있습니다.

Kotlin의 배열 인덱스는 무엇입니까?

배열 인덱스가 인덱스의 초기 값을 반환하는 데 허용되는 함수입니다.

예를 들면 :

val abc = Array(7 , { i -> i*1})

여기서 배열의 값은 7이고 람다 표현식을 사용하여 요소의 값을 초기화합니다.

특정 기능을 사용하여 배열에 액세스하고 수정하는 다양한 방법도 있습니다. 따라서 클래스 배열의 객체에 액세스하는 데 사용되는 두 개의 멤버 함수 get() 및 set()이 있습니다.

예를 들면 :

val x = arrayOf(10,20,30,40,50,60,70,80,90)
val y = x.get(0) // Output 10

여기서 배열의 인덱스 10의 값이 0이므로 출력은 10입니다.

참고: get()은 단일 값만 사용합니다.

예를 들면 :

val x = arrayOf(10,20,30,40,50,60,70.80.90)
val y = x.set(2, 3) //

출력 : 30 40

여기서 배열의 인덱스 30의 값은 40이고 인덱스 2의 값은 30이므로 출력은 3과 40입니다.

참고: set()은 배열의 여러 값을 사용합니다.

코틀린 문자열

문자열은 모든 프로그래밍 언어의 기본 데이터 유형입니다. 문자열은 일련의 문자에 지나지 않습니다. String 클래스는 문자열을 나타냅니다. Kotlin에서 모든 문자열은 String 클래스의 객체입니다. 즉, 문자열 리터럴이 클래스의 인스턴스로 구현됩니다.

구문 :

 Val myString = "Hey there!"

코틀린 컬렉션

컬렉션에는 유사한 유형의 여러 개체가 포함되어 있으며 컬렉션의 이러한 개체를 요소 또는 항목이라고 합니다. 컬렉션은 데이터를 저장, 검색, 조작 및 집계하는 데 도움이 될 수 있습니다.

컬렉션 유형:

불변 컬렉션

이 유형의 컬렉션은 읽기 전용 기능을 지원합니다. 해당 요소는 수정할 수 없습니다.

방법은 다음과 같습니다.

  • 목록 – listOf() 및 listOf ()
  • 설정 – setOf()
  • 지도 - mapOf()

변경 가능한 컬렉션

읽기 및 쓰기 기능을 모두 지원합니다.

방법은 다음과 같습니다.

  • 목록 – mutableListOf(),arrayListOf() 및 ArrayList
  • 설정 - mutableSetOf(), hashSetOf()
  • 맵 - mutableMapOf(), hashMapOf() 및 HashMap

코틀린 함수

모든 프로그래밍 언어의 함수는 특정 작업을 수행하도록 지정된 유사한 명령문 그룹입니다. 함수를 사용하면 프로그램이 이를 다양한 작은 코드 블록으로 나눌 수 있습니다. 이러한 코드 분할은 코드의 가독성과 재사용성을 높이고 프로그램 관리를 쉽게 만듭니다.

Kotlin은 정적으로 유형이 지정된 언어로 알려져 있습니다. 여기서는 'fun' 키워드를 사용하여 함수를 선언했습니다. Kotlin에는 표준 라이브러리 또는 사용자 정의의 가용성에만 의존하는 두 가지 유형의 함수가 있습니다. 그들은:

  • 표준 라이브러리 기능
  • 사용자 정의 함수

코틀린 함수

코틀린 함수

이제 Kotlin 코드 예시를 통해 자세히 살펴보겠습니다.

표준 라이브러리 기능

암시적으로 정의하고 사용할 수 있는 내장 라이브러리 함수입니다.

예 2의 경우:

fun main(args: Array<String>){  
var number = 9  
var result = Math.sqrt(number.toDouble())  
print("$result")  
}  

출력:

3.0

sqrt()는 숫자의 제곱근을 반환하는 라이브러리에 정의된 함수입니다.

print() 함수는 메시지를 표준 출력 스트림으로 인쇄합니다.

사용자 정의 기능

이름에서 알 수 있듯이 이러한 함수는 일반적으로 사용자가 생성하며 고급 프로그래밍에 사용할 수 있습니다.

여기서 함수는 'fun' 키워드를 사용하여 선언됩니다.

예 3의 경우:

fun functionName(){
//body of the code
}

여기서는 functionName() 본문 내부의 코드를 실행하는 함수를 호출합니다.

Kotlin 함수 예시:

fun main(args: Array<String>){  
    sum()  
    print("code after sum")  
}  
fun sum(){  
    var num1 =8  
    var num2 = 9  
    println("sum = "+(num1+num2))  
}  

출력:

합계 = 17

합계 뒤의 코드

Kotlin의 예외 처리

프로그래밍 예외는 프로그램에서 발생하여 종료되는 런타임 문제로 정의됩니다. 이 문제는 메모리 공간 부족, 결합되지 않은 배열, XNUMX으로 나누기와 같은 조건으로 인해 발생할 수 있습니다. 코드 실행 시 이러한 유형의 문제를 억제하기 위해 예외 처리가 사용됩니다.

예외 처리는 런타임 문제를 처리하고 실행 중에 프로그램 흐름을 유지하는 기술로 정의됩니다.

Kotlin은 'throw' 표현식을 사용하여 예외 객체를 발생시킵니다. 여기서 모든 예외 클래스는 Throwable 클래스의 자손입니다.

Throw MyException(“예외를 발생시킵니다”)

예외 처리에는 네 가지 유형의 예외가 있습니다. 그들은:

  • try – 이 블록에는 예외를 생성할 수 있는 문이 포함되어 있습니다. 그 뒤에는 항상 catch나 finally 또는 둘 다가옵니다.
  • catch – try 블록에서 발생한 예외를 포착합니다.
  • finally – 예외 처리 여부를 항상 확인합니다.
  • throw – 명시적으로 예외를 발생시키는 데 사용됩니다.

잡아보세요:

예외 처리의 try-catch 블록에서 try 블록은 예외가 발생할 수 있는 코드를 포함하고 catch 블록은 표현식을 잡아서 처리합니다.

Try catch 블록의 구문:

try{    
//code with exception    
}catch(e: SomeException){  
//code handling exception  
}    

finally 블록을 사용한 try 구문

try{    
//code with exception    
}finally{  
// code finally block  
}   

마지막으로 :

Kolin에서 finally 블록은 항상 예외 처리 여부를 확인하므로 예외 처리에 있어 매우 중요한 문입니다.

예 4의 경우:

이 코드 조각에서는 예외가 발생하고 처리됩니다.

fun main (args: Array<String>){  
    try {  	
        val data =  9/ 0  
        println(data)  
    } catch (e: ArithmeticException) {  
        println(e)  
    } finally {  
        println("finally block executes")  
    }  
    println("write next code")  
}  

출력:

java.lang.ArithmeticException: / by zero
finally block executes
write next code

던지다:

Throw 블록은 명시적인 예외를 발생시킵니다. 또한 사용자 정의 예외를 발생시키는 데 사용됩니다.

구문 :

Throw SomeException()

Throw SomeException()

예:

fun main(args: Array<String>) {
    try{
        println("Exception is not thrown yet")
        throw Exception("Everything is not well")
        println("Exception is thrown")
    }
    catch(e: Exception){
        println(e)

    }
    finally{
        println("You can't ignore me")
    }
}

출력:

코틀린 예제

Kotlin Null 안전

Kotlin을 지원하는 시스템 유형은 주로 null 허용 참조를 전달할 수 있는 참조와 null 허용 참조를 전달할 수 없는 참조를 구별합니다. Kotlin은 코드에서 의도적으로 A라고 알려진 널 포인터 예외 또는 널 참조를 제거하기 위한 널 안전 언어입니다. Bill이온 달러 실수.

많은 사람들의 가장 전통적인 걸림돌 프로그래밍 언어 null 참조의 멤버에 액세스하는 동안 NullPointerException이 발생한다는 것입니다. 이는 !! operator 또는 이 생성자는 다른 곳에서 사용되고 다른 코드 지점에서 전달되었습니다. nullable 속성은 활용하기 전에 매번 null 검사에 대한 확인이 필요합니다.

Kotlin에서 시스템은 null 참조와 null이 아닌 참조를 구별합니다.

예를 들어 String 변수는 null을 보유할 수 없습니다.

예 5의 경우:

fun main(args: Array<String>){
    var x: String = "GURU99 is the only place where you will get maximum technical content!" // Not Null by default
    println("x is : $x")
    // You cannot assign null variable to not-nullable variables 
    // a=null // it will give compilation error
    var y: String? = "Thanks for visiting GURU99" 
// Nullable Variable
    println("y is : $y")
    y = null
    println("y is : $y")
}

출력:

Kotlin Null 안전

Kotlin OOP

객체 지향 프로그래밍 접근 방식을 사용하면 complex 객체를 생성하여 더 작은 코드 블록으로 나누는 코드 조각입니다. 이러한 개체는 상태와 동작이라는 두 가지 특성을 상호 공유합니다.

다음은 Kotlin 코드 예제를 통해 논의할 OOP 요소 중 일부입니다.

  • 클래스와 객체
  • 생성자
  • 계승
  • 추상 클래스

Kotlin OOP

Kotlin 클래스

객체를 생성하기 전에 먼저 객체의 청사진이라고도 알려진 클래스를 정의해야 합니다.

구문 :

class ClassName {
    // property
    // member function
    ... .. ...
}

Kotlin의 객체

클래스를 정의하는 동안 객체에 대한 사양만 정의하고 메모리나 저장소와 같은 다른 매개변수는 할당하지 않습니다.

구문 :

var obj1 = ClassName()

Kotlin의 생성자

생성자는 클래스 속성을 초기화하는 방법입니다. 객체가 인스턴스화될 때 호출되는 멤버 함수입니다. 하지만 Kotlin에서는 다르게 작동합니다.

Kotlin에는 두 가지 유형의 생성자가 있습니다.

Kotlin의 생성자

Kotlin의 생성자

기본 생성자: 클래스를 초기화하는 최적화된 방법

구문 :

class myClass(valname: String,varid: Int) {  
    // class body  
}  

보조 생성자: 초기화 논리를 추가하는 데 도움이 됩니다.

코틀린 상속

상속은 부모 클래스의 일부 속성을 자식 클래스가 획득할 때 발생합니다. 두 개 이상의 클래스가 동일한 속성을 가질 때 상속이 허용됩니다.

구문 :

open class ParentClass(primary_construct){
    // common code
  }class ChildClass(primary_construct): ParentClass(primary_construct_initializ){
    // ChildClass specific behaviours
  }

Kotlin의 추상 클래스

추상 클래스는 인스턴스화할 수 없는 클래스이지만 그로부터 하위 클래스를 상속받을 수 있습니다. 'abstract' 키워드는 추상 클래스를 선언하는 데 사용됩니다.

예 6의 경우:

  open class humanbeings { 
    open fun Eat() { 
        println("All Human being Eat") 
    } 
} 
abstract class Animal : humanbeings() { 
    override abstract fun Eat() 
} 
class Cat: Animal(){ 
    override fun Eat() { 
        println("Cats also loves eating") 
    } 
} 
fun main(args: Array<String>){ 
    val lt = humanbeings() 
    lt.Eat() 
    val d = Cat() 
    d.Eat() 
} 

출력:

Kotlin의 추상 클래스

Kotlin의 현재와 미래

본:

  • 많은 회사들이 Netflix, Pinterest 및 Corda는 Kotlin을 사용하여 강력한 Android 응용 프로그램.
  • 2016년부터 2017년까지 XNUMX년이라는 짧은 기간 동안 Kotlin은 놀라운 프로그래밍 기능으로 큰 인기를 얻었습니다.
  • 2017년 구글은 Kotlin을 공식 프로그래밍 언어로 발표했습니다. android 개발.
  • Java 코드는 100% Inter이므로 Kotlin으로 빠르게 대체할 수 있습니다.operaJava와 연결하고 Android.

미래:

  • 크로스 플랫폼 게임 개발
  • 크로스 플랫폼 모바일 앱 개발
  • 서비스 측 스크립팅 및 마이크로서비스
  • 기계 학습 & 데이터 분석

요약

  • Kotlin은 Apache 2010 라이선스에 따라 다중 플랫폼 앱을 위해 2.0년 JetBrains가 제안한 프로그래밍 언어입니다.
  • Kotlin이라는 이름은 Java라는 섬의 이름을 따서 Java와 유사한 대응으로 Kotlin Island의 이름을 따서 유래되었습니다.
  • 2016년에 Kotlin 첫 번째 버전 v1.0이 출시되었습니다.
  • Kotlin 프로그램에는 프로그램에 세미콜론이 필요하지 않습니다. 이렇게 하면 코드가 더 쉽고 쉬워집니다. readable.
  • Kotlin용 Android 개발자는 코드 줄을 최대 40%까지 줄일 수 있는 OOP 기반 프로그래밍 언어이므로 Kotlin은 소프트웨어 또는 웹 개발에 이상적인 선택입니다.
  • Kotlin에서는 모든 변수를 var 및 val 키워드를 사용하여 선언해야 합니다.
  • 다른 프로그래밍 언어와 마찬가지로 Kotlin에는 Int, Boolean, Char와 같은 사전 정의된 데이터 유형 세트도 있습니다. Double등
  • Kotlin에는 다음과 같은 세트가 있습니다. opera다양한 용도로 사용되는 토르 opera산술과 같은 opera임무, 임무 opera설명, 비교 opera등등.
  • Kotlin에서 배열은 기본 데이터 유형이 아니라 동일한 데이터 유형의 변경 가능한 공동 작업입니다.
  • Kotlin에서 배열은 ArrayOF()와 생성자라는 두 가지 방법을 사용하여 정의됩니다.
  • Kotlin은 코드에서 의도적으로 A라고 불리는 널 포인터 예외 또는 널 참조를 제거하는 데 도움이 되는 널 안전 언어입니다. Bill이온 달러 실수.