• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Kotlin: costrutto if e cicli for con il nuovo linguaggio Android

By Giuseppe Maggi | on 16 Giugno 2017 | 0 Comment
Android
Kotlin Android Tutorial

L’aspetto dominante di qualsiasi tecnologia di programmazione consiste nella gestione del flusso di esecuzione comprendendo con tale espressione sia la programmazione condizionale (ambito dominato tipicamente dal costrutto if) sia la gestione iterativa delle operazioni, il cui re è il ciclo for. Stiamo per vedere entrambi questi aspetti al lavoro in Kotlin: gli esempi sono scaricabili qui.

Programmazione condizionale: if … else if … else

La sintassi del costrutto if è equivalente a quella di Java e, di conseguenza, particolarmente affine al linguaggio C. Innanzitutto, è importante conoscere:

  • gli operatori di confronto che permetteranno di comparare valori ed ottenere un risultato di tipo booleano (true o false ossia “vero” o “falso”). Gli operatori di confronto sono: > (maggiore), < (minore), == (uguale), >= (maggiore o uguale), <= (minore o uguale) e != (diverso);
  • gli operatori logici che permettono di concatenare più valori booleani o risultato di confronti: && (and logico) che restituisce “vero” solo se viene usato con operandi equivalenti entrambi al valore booleano true; || (or logico) che per fornire un risultato true richiede che almeno uno dei due operandi coinvolti nel confronto rappresenti il valore “vero”; ! (not) un operatore unario che inverte il valore booleano che lo segue.

Il costrutto if determina se devono essere eseguite le operazioni indicate, in base ad un valore booleano contenuto in una variabile o restituito come risultato di un’espressione. Per porre condizioni alternative si può utilizzare la parola chiave else (alternativa incondizionata) o else if che pone un’ulteriore condizione da valutare.

Passiamo subito ad un esempio: realizziamo una funzione che in base all’età dello spettatore o all’esistenza di un abbonamento decide a quanto ammonta il prezzo del biglietto. Queste le regole: gratuito per spettatori abbonati, 5 euro per minorenni e ultra-sessantacinquenni, 7 euro (prezzo intero) per tutti gli altri.

Questo è il codice della funzione che determina il prezzo del biglietto da pagare:

fun prezzoBiglietto(etaSpettatore: Int, abbonato: Boolean): Float
{
   if (abbonato)
     {
	// spettatore abbonato non paga
	return 0.0f;
     }
   else if (etaSpettatore<18 || etaSpettatore>=65)
     return 5.0f
   return 7.0f;
}

Nella funzione main viene utilizzata prezzoBiglietto e coinvolta nella valutazione di tre diversi spettatori.

fun main(args : Array<String>) {
	
	// condizioni Spettatore1
	val etaSpettatore1=45
	val abbonatoSpettatore1=true
	
	// condizioni Spettatore2
	val etaSpettatore2=70
	val abbonatoSpettatore2=false
	
	// condizioni Spettatore3
	val etaSpettatore3=45
	val abbonatoSpettatore3=false
	
	println("Lo spettatore1 paga ${prezzoBiglietto(etaSpettatore1, abbonatoSpettatore1)}")
	println()
	println("Lo spettatore2 paga ${prezzoBiglietto(etaSpettatore2, abbonatoSpettatore2)}")
	println()
	println("Lo spettatore3 paga ${prezzoBiglietto(etaSpettatore3, abbonatoSpettatore3)}")
}

Notare ancora l’uso dei template all’interno di stringhe per una formattazione dell’output che non richiede concatenazioni.

Il ciclo for

Il ciclo for è il costrutto basilare per eseguire operazioni iterative. Lo scopo può essere vario: dalla semplice ripetizione di attività all’analisi di una struttura dati fino ad un’elaborazione che necessiti della ricorsione di alcuni passi.

Per una delle modalità di impiego basilari, Kotlin offre una sintassi del ciclo for molto essenziale in cui chiederemo che una variabile contatore assuma ogni valore di un intervallo specifico, ognuno dei quali sarà reso disponibile in una diversa iterazione del ciclo.

Il nostro esempio offre tre conteggi effettuati utilizzando il ciclo for: il primo stampa tutti i numeri da 1 a 10, il secondo la medesima sequenza ma in ordine inverso, il terzo tutti i numeri da 18 a 45 saltandone due:

fun main(args : Array<String>) {
	 
  println("Contare da 1 a 10...")
  for (x in 1..10) {
	println(x)
  }
  
  println("\nContare a ritroso da 10 a 1")
	
  for (x in 10 downTo 1) {
	println(x)
  }
	
  println("\nContare da 18 a 45 saltandone 2")
	
  for (x in 18..45 step 3) {
	println(x)
  }
	
}

Conclusioni

Come si sa, cicli e costrutti condizionali sono tematiche onnipresenti nei progetti informatici, pertanto è indispensabile imparare ad usarli bene. Kotlin ci viene incontro sfruttando la sintassi di Java, particolarmente conosciuta, oltre a sue innovazioni che la rendono più snella.

Continueremo il nostro viaggio in Kotlin e di sorprese ne arriveranno ancora molte!

 

Share this story:
  • tweet

Tags: androidkotlinTutorial Pratici

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Stringhe in Kotlin

    23 Agosto 2018 - 0 Comment
  • IntelliJ IDEA: IDE per programmare in Java e Kotlin

    25 Luglio 2018 - 0 Comment
  • Android: usare Connect Pattern

    10 Luglio 2018 - 0 Comment

Author Description

No Responses to “Kotlin: costrutto if e cicli for con il nuovo linguaggio Android”

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO