Рабочий стол > DL Руководство пользователя > ... > Programming Languages > Kotlin > Information > Сравнить страницу
Kotlin Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Ключ
Эти линии были удалены. Это слово было удалено.
Эти линии были добавлены. Это слово было добавлено.

Просмотр истории страницы


Есть 1 изменений. Просмотреть первое изменение .

 h1. Kotlin
  
 [Kotlin|https://kotlinlang.org] - это универсальный язык программирования, созданный [JetBrains|https://www.jetbrains.com] в качестве альтернативы Java с намного более удобным синтаксисом, но выполняющийся на JVM и полностью совместимый с существующей экосистемой Java.
  
 Поддержка языка уже доступна из коробки в [ItelliJ IDEA|https://www.jetbrains.com/idea/] от JetBrains и [Android Studio|https://developer.android.com/studio/] от Google. Поэтому перспективы внушительные. См. про это в блоге: [Kotlin 1.0 Released: Pragmatic Language for JVM and Android|https://blog.jetbrains.com/kotlin/2016/02/kotlin-1-0-released-pragmatic-language-for-jvm-and-android/].
 Kotlin уже стал [официальным|https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/] и [предпочтительным|https://techcrunch.com/2019/05/07/kotlin-is-now-googles-preferred-language-for-android-app-development/] языком для Android и [официальным языком соревнований ACM ICPC|http://codeforces.com/blog/entry/52128?locale=ru#comment-361660].
  
 [Официальная справка по языку|https://kotlinlang.org/docs/reference/] ([по-русски|https://kotlinlang.ru/])
 [Краткое описание по русски|https://vk.com/pages?oid=-59097513&p=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D1%8F%D0%B7%D1%8B%D0%BA_Kotlin]
 [Хабрахабр: Почему следует полностью переходить на Kotlin|https://habrahabr.ru/company/mailru/blog/329294/] (список фич)
  
 [Бесплатные курсы по Kotlin на Stepik|https://stepik.org/catalog?q=Kotlin]
  https://www.coursera.org/learn/vvedenie-v-yazyk-kotlin
 [Серия видеоуроков по Kotlin по-русски|https://habrahabr.ru/post/321600/] ([playlist|https://www.youtube.com/playlist?list=PLIU76b8Cjem4ZOt3tlWykUX1AjL9zE19t])
 [Вводные видео|http://petersommerhoff.com/dev/kotlin/kotlin-beginner-tutorial/]
 [Видео: Что такое Kotlin? Введение|https://www.youtube.com/watch?v=HWyd1gYMkl0]
 [Algorithms and data structures in Kotlin|https://github.com/bmaslakov/kotlin-algorithm-club]
 [Kotlin Academy|https://kotlin-academy.herokuapp.com/]
 https://superkotlin.com/kotlin-mega-tutorial/
  
 На сайте http://try.kotlinlang.org/ есть набор ознакомительных задач и можно запускать решения на Kotlin прямо в браузере.
 [Habr: Андрей Бреслав и Дмитрий Жемеров о Kotlin 1.0|https://habrahabr.ru/post/279667/] (внутри много ссылок).
 Большой набор набор ссылок по продвинутому использованию Kotlin: http://kotlin.link/.
 https://developer.android.com/kotlin/resources.html
  
 Вот отчёт о первом Kotlin Challenge с Геной и примером решения: https://habrahabr.ru/company/JetBrains/blog/222693/.
 Больше идеоматических примеров решения задач можно найти в [Codeforces Surprise Language Round #8|http://codeforces.com/blog/entry/45454?#comment-300490] и http://rosettacode.org/wiki/Category:Kotlin.
  
 [Как писать в файл|http://stackoverflow.com/questions/35444264/how-do-i-write-to-a-file-in-kotlin/].
 [Примеры обращения с коллекциями|http://stackoverflow.com/questions/34642254/what-java-8-stream-collect-equivalents-are-available-in-the-standard-kotlin-libr].
 [Функциональное программирование на Kotlin|https://habrahabr.ru/post/268463/].
 [Kotlin Coding Conventions|https://kotlinlang.org/docs/reference/coding-conventions.html].
  
 Ещё тренироваться в решении задач на Kotlin можно на http://codeforces.com, https://www.hackerrank.com, https://www.codechef.com, https://codingame.com, [Advent of Code|https://blog.jetbrains.com/kotlin/2015/12/try-kotlin-with-advent-of-code/] и в курсе Программирование \ Программирование на Java на [DL|http://dl.gsu.by].
  
 Для корректного тестирования на DL в тексте решения на Kotlin должна быть определена функция верхнего уровня main:
 {code}
 fun main() {
  println("Hello world!")
 }
 {code}
  
 [Примеры|https://stackoverflow.com/questions/41283393/reading-console-input-in-kotlin] *A+B*
 {code}
 fun main() {
  val (a, b) = readLine()!!.split(' ')
  println(a.toInt() + b.toInt())
 }
 {code}
 или
 {code}
 fun main() {
  val (a, b) = readLine()!!.split(' ').map { it.toInt() }
  println(a + b)
 }
 {code}
 или (из https://kotlinlang.org/docs/tutorials/competitive-programming.html)
 {code}
  
 fun readLn() = readLine()!! // string line
 fun readInt() = readLn().toInt() // single int
 fun readStrings() = readLn().split(" ") // list of strings
 fun readInts() = readStrings().map { it.toInt() } // list of ints
  
 fun main(vararg args: String) {
  val (a, b) = readInts()
  println(a + b)
 }
 {code}
 или
 {code}
 import java.util.Scanner
  
 fun main() {
  val input = Scanner(System.`in`)
  val a = input.nextInt()
  val b = input.nextInt()
  println(a + b)
 }
 {code}
 или
 {code}
 import java.util.Scanner
  
 fun main() {
  with(Scanner(System.`in`)) {
  val a = nextInt()
  val b = nextInt()
  println(a + b)
  }
 }
 {code}
  
 Чтение/запись в файл:
  
 {code}
  fun <T : Closeable, R> T.useWith(block: T.() -> R): R = use { with(it, block) }
  
  File("a.in").bufferedReader().useWith {
  File("a.out").printWriter().useWith {
  val (a, b) = readLine()!!.split(' ').map(String::toInt)
  println(a + b)
  }
  }
  
  Scanner(File("b.in")).useWith {
  PrintWriter("b.out").useWith {
  val a = nextInt()
  val b = nextInt()
  println(a + b)
  }
  }
 {code}
  
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами