Задания по главе «Типы данных в Kotlin»

Задание 1

Ответьте на следующие вопросы:

Есть ли в Котлине динамическая или статическая типизация?
Котлин — статически типизированный язык.
Что означает статическая типизация и какие преимущества она дает?
Статическая типизация означает, что каждой переменной во время компиляции присваивается определенный тип данных, и ее нельзя изменить во время выполнения.
Какие два параметра определяются типом данных в Котлине?
Тип данных определяет, насколько Speicherplatz должны быть зарезервированы для объекта (например, переменной) и какие из них операции можно применить к этому объекту.

Задача № 2 – Целочисленные типы данных

а). Инициализируйте для каждого типа данных Байт, короткий, Int, длинный переменную и присвойте значения с помощью функции println() в консоли.

Решение задачи № 2 а).

fun main() {
   val byteVariable: Byte = -1
   val shortVariable: Short = 99
   val intVariable: Int = 15000
   val longVariable: Long = 800000
   println(byteVariable)
   println(shortVariable)
   println(intVariable)
   println(longVariable)
}

б). Код ниже содержит три ошибки. Найдите их и исправьте.

Решение задачи № 2 б).

fun main() {
    val byteVariable: Byte = 130        // The value 130 is outside the permitted range of -128 to 127
    val shortVariable: Short = -33000  // The value -33000 is outside the permitted range -32,768 to 32,767
    val intVariable: Int = 25120
    val longVariable: Long = "40500"   // It is not possible to assign a string to the Long data type
    println(byteVariable)
    println(shortVariable)
    println(intVariable)
    println(longVariable)
}

в). Инициализируйте для каждого типа данных UBYTE, USort, UInt, ULong переменную и выведите значения в консоли.

Решение задачи № 2 в).

fun main() {
    val uByteVariable: UByte = 20U
    val uShortVariable: UShort = 176U
    val uIntVariable: UInt = 99000U
    val uLongVariable: ULong = 4520004880U
    println(uByteVariable)
    println(uShortVariable)
    println(uIntVariable)
    println(uLongVariable)
}



Задача №3 – Типы данных для Числа с плавающей запятой

Следующий код содержит две ошибки. Найдите их и исправьте.

Решение задачи №3

fun main() {
    val floatVariable1: Float = 5.18f // A suffix "f" or "F" must be appended to a float number to tell the compiler that it is a float number and not a double number.
    val floatVariable2: Double = -4.123 // The suffix "F" is unnecessary at this point. Value assignment for the Double data type occurs without a suffix.
    println(floatVariable1)
    println(floatVariable2)
}



Задача № 4 – Логический логический тип данных

Создайте две переменные с логическими значениями true и false, выведите значения в консоль.

Решение задачи №4

fun main() {
    val isEarthCube: Boolean = false
    val isSunHot: Boolean = true
    println(isEarthCube)    
    println(isSunHot) 
}



Задача №5 – вывод типа (вывод типа)

Создайте шесть переменных с разными значениями без указания типа данных. Выведите значения в консоль. Объясните, какие типы данных были определены Kotlin в ваших переменных.

Решение задачи №5

fun main() {
    val age = 100          // Integers are recognized as Int
    val name = "Arnold"    // In this case the data type String is identified
    val route = 1.2        // Any number with a decimal point is interpreted as the data type Double
    val sum = 160L         // To explicitly specify the Long data type, you should use the suffix “L”.
    val height = 5.40F     // To initialize a float type variable, one must specify the suffix "f" or "F" after the number
    val width = 50U        // Unsigned integer data types are specified with "u" or "U"
    println(age)
    println(name)
    println(route)
    println(height)
    println(width)
}


Задача №6 – Любой тип данных

  • Объявите переменную с типом данных Any. Сначала присвойте переменной строковое значение. Выведите значение.
  • Затем присвойте значение int и выведите его на консоль.
  • Наконец, повторите то же самое с двойным значением.
Решение задачи №6

fun main() {
    var anyVariable: Any
    anyVariable = "London is the capital city of England and the United Kingdom"
    println(anyVariable)
    anyVariable = 100
    println(anyVariable)
    anyVariable = 1.9
    println(anyVariable)
}



Задача №7 – Шаблоны строк

Напишите короткий рассказ о мальчике, который особенно любит играть в баскетбол. Объявите следующие параметры как отдельные переменные и включите их в свой текст (шаблоны строк):

  • Имя: Тим
  • Фамилия: Джонсон
  • Возраст: 19 лет
  • Размер: 182 см
  • Хобби: баскетбол

Выведите результат на консоль.

Решение задачи №7

fun main() {
// I have prepared the following text in English as a solution:
   val name: String = "Tim"
   val surname: String = "Johnson"
   val age: Int = 19
   val height: Double = 1.82
   val hobby: String = "basketball"
   val finalText: String
   finalText = "Meet $name $surname, a $age-year-old boy who is passionate\nabout his hobby $hobby. Standing tall at $height meters,\nhe spends most of his free time practicing his skills on the court."
   println(finalText)
}


Мысль о «Задания по главе «Типы данных в Kotlin»

  • Привет
    Во-первых: сделано блестяще. Получайте удовольствие от изучения Kotlin во время работы.

    Aber:

    Что мне нужно сделать, чтобы НЕ получить пробел между «182» и «см»?
    print(Рост его $height см) образует (логически) пробел между 182 и см.

    print(это высота %heightcm) не может работать, потому что тогда cm становится частью имени переменной.

    В других языках (perl, php…) переменная заключена в апострофы. Здесь нет проблем («$высота» см…).

    Спасибо за каждую подсказку 🙂

    Ответ

Оставить комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены * отмеченный