Kotlin Academy · Leçon

Intervalles de caractères et intervalles personnalisés

Aller au-delà des entiers

Leçon 4 sur 413 étapes

Intervalles de caractères et intervalles personnalisés est une leçon Kotlin Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.

Au-delà des entiers

Les plages ne servent pas uniquement à Int. Kotlin prend également en charge les plages de caractères et d'autres types comparables.

Cette leçon explore les plages de caractères et la manière dont les types personnalisés peuvent les utiliser avec rangeTo.

Récapitulatif des plages de caractères

Les caractères possèdent un ordre défini ; 'a'..'z' constitue donc une plage valide.

Vous pouvez la parcourir, vérifier l'appartenance et bien plus encore.

fun main() {
    for (c in 'a'..'f') print(c)
    println()
    println('q' in 'a'..'z')
}

Valider des caractères

Les plages de caractères rendent la validation des entrées lisible, par exemple pour vérifier la présence de chiffres ou de lettres.

fun isDigit(c: Char): Boolean = c in '0'..'9'

fun main() {
    println(isDigit('7'))
    println(isDigit('x'))
}

Compter les lettres

Vous pouvez construire rapidement un alphabet en parcourant une plage de caractères et en recueillant les valeurs.

fun main() {
    val alphabet = ('a'..'z').toList()
    println(alphabet.size)
    println(alphabet.first())
    println(alphabet.last())
}

Plages de nombres longs

Les plages fonctionnent également avec Long, ce qui est utile pour les grands intervalles numériques.

Les mêmes opérateurs s'appliquent.

fun main() {
    val big = 1L..5L
    println(big.sum())
}

Plages de types comparables

Tout type Comparable peut former une plage avec .., même si ces plages permettent uniquement de vérifier l'appartenance et non de les parcourir.

Par exemple, les plages de String vérifient l'ordre lexicographique.

fun main() {
    val range = "apple".."mango"
    println("cherry" in range)
    println("zebra" in range)
}

Pourquoi certaines plages ne peuvent pas être parcourues

Le parcours nécessite un pas défini. Les entiers et les caractères en possèdent un (ajouter 1), mais les chaînes et les nombres à virgule flottante n'ont pas de valeur suivante évidente.

Ces plages prennent donc en charge in, mais pas les boucles for.

fun main() {
    val r = 1.0..5.0
    println(2.5 in r)
    // for (x in r) // not allowed for Double
}

Types personnalisés avec rangeTo

L'opérateur .. appelle une fonction rangeTo. Si votre classe implémente Comparable, vous obtenez gratuitement la vérification d'appartenance à une plage.

Ici, une version simple compare les valeurs numériquement.

data class Ver(val n: Int) : Comparable<Ver> {
    override fun compareTo(other: Ver) = n - other.n
}

fun main() {
    val range = Ver(1)..Ver(5)
    println(Ver(3) in range)
    println(Ver(9) in range)
}

L'opérateur en coulisses

Écrire a..b revient à appeler a.rangeTo(b).

La forme opérateur est simplement une syntaxe plus agréable pour la même fonction.

fun main() {
    val r1 = 1..5
    val r2 = 1.rangeTo(5)
    println(r1.toList() == r2.toList())
}

Choisir la bonne plage

Quelques conseils :

  • Nombres et caractères → parcourir et vérifier
  • Nombres à virgule flottante et types comparables personnalisés → vérifier l'appartenance uniquement
  • Besoin d'un pas ? Utilisez des progressions d'entiers ou de caractères
fun main() {
    println('m' in 'a'..'z')
    println(3.5 in 1.0..4.0)
    println(50 in 1..100)
}

Tout rassembler

Les plages se généralisent à de nombreux types :

  • Les plages de caractères permettent de parcourir et de valider
  • Les plages de Long gèrent les grands intervalles
  • Les types Comparable et personnalisés prennent en charge l'appartenance
  • .. est une syntaxe abrégée pour rangeTo
fun main() {
    val vowels = "aeiou"
    for (c in 'a'..'z') {
        if (c in vowels) print(c)
    }
    println()
}

Vérification rapide

Vérifiez votre compréhension des plages de caractères et des plages personnalisées.

Récapitulatif

Vous avez découvert les plages de caractères et les plages personnalisées :

  • Les plages de caractères et de Long se parcourent comme celles de Int
  • Les types Comparable prennent en charge l'appartenance via ..
  • Les types non discrets vérifient in, mais ne peuvent pas être parcourus
  • .. est une abréviation de rangeTo

Le cours sur les plages et les progressions est terminé.

Gratuit pour commencer

Apprends Kotlin avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
51
Leçons
203

Questions Fréquemment Posées

La leçon « Intervalles de caractères et intervalles personnalisés » est-elle gratuite ?

Oui — le texte complet de « Intervalles de caractères et intervalles personnalisés » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Intervalles de caractères et intervalles personnalisés » ?

Aller au-delà des entiers Tu pratiques Kotlin Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Kotlin Academy ?

Aucune expérience préalable n'est requise. Kotlin Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Intervalles de caractères et intervalles personnalisés » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Kotlin Academy ?

Oui. Chaque leçon Kotlin Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Opérateurs d’intervalle
  2. step et downTo
  3. Intervalles dans les boucles
  4. Intervalles de caractères et intervalles personnalisés
← Retour à Kotlin Academy