java.net member

Rechercher dans ce site

Les variables de JavaFX Partie 2

>> 01 March 2009

Valeurs par défaut
Chaque variable a une valeur par défaut, avant d'assigner une valeur à cette variable

null est la valeur par défaut pour les types ayant une cardinalité optionnelle, comme par exemple les variables déclarées sans type, mentionnée là-haut.

Les autres variables déclarées avec un type prédéfini ont des valeurs par défaut fixée, selon la nature de chaque variable.

Toutes les valeurs par défaut sont dans le tableau suivant :

Source : https://openjfx.dev.java.net/langref/



Afficher la valeur d'une variable

Pour afficher la valeur d'une variable il suffit de passer cette variable à une fonction d'affichage, comme par exemple println(). Pour intégrer cette valeur dans une chaîne on utilise une expression, String expression, (nom de la variable entouré par deux accolades { et } )

Exemple :

/**
@author : Kaesar ALNIJRES
*/
package javafxapplication3;

var s1 = 'Bonjour';
var s2 = "Bonjour";

var chiffre1 = 11;

println(s1);

println(chiffre1);

println("La valeur de s1 est {s1}");

println("La valeur de chiffre1 : {chiffre1}");



Types de variables

JavaFX supporte plusieurs types de données prédéfinis, les chaîne de caractères, les types numériques, les types booleans, un type pour mesurer la durée (Duration), le type null et Void (type vide)


- String
- Integer et Number
- Boolean
- Duration
- Void
- null

String (chaîne de caractères)
On peut déclarer une chaîne de caractères en utilisant un simple ou double guillemets. La valeur par défaut d'un type String est une chaîne de caractères vide.

var s:String;//valeur par défaut une chaîne vide

Attention :
une déclaration d'un membre String en Java a null comme valeur par défaut
private String s;//variable d'instance null

Les deux déclaration suivantes sont identiques :

var s1 = 'Bonjour';

var s2 = "Bonjour";

Il est possible d'incorporer un simple guillemet dans un double guillemet sans utiliser un caractère d'échappement. Les autres caractères spéciaux ont besoin d'un caractère d'échappement.

package javafxapplication3;


var s1 = "Bonjour";



println("J'ai dit {s1}");



Il est possible aussi de la même manière d'incorporer un double guillemet entre deux guillemets simples, et toujours sans caractère d'échappement

Exemple :

package javafxapplication3;

println('JavaFX est un "script" ');





Utilisez le caractère d'échappement
Un anti-slash '\' est nécessaire pour incorporer des caractères spéciaux dans une chaîne de caractères. Il est à noter qu'il est possible (bien qu'il ne soit pas nécessaire) d'échapper le simple guillemets dans les guillemets doubles et vice versa.

Exemple :
/**
@author : Kaesar ALNIJRES
*/
package javafxapplication3;

println("Utilisez un anti slash \\ pour les caractères spéciaux comme l\'accolade \{")




String expression
Une chaîne permet d'incorporer des expressions (entre { et } ), et appelée " String expression ", sous forme simple comme le nom d'une variable pour l'afficher ou sous des formes plus complexes utilisant par exemples des conditions. Une expression peut contenir des guillemets, donc d'autres expressions.

Exemple :

package javafxapplication3;

var s1="Bonjour";
var s2="le monde !!!";

println('{s1}{s2}');

Exemple :
Remarquez l'accord entre " pomme " et " nombre "

package javafxapplication3;

var nombre = 3;

println("J'ai {nombre} pomme{if(nombre >1) "s" else ""}");

nombre=1;

println("J'ai {nombre} pomme{if(nombre >1) "s" else ""}");



Concaténer plusieurs chaînes
Il suffit de mettre les chaînes de caractères à côté les une aux autres entre guillemets (simple ou double)

Exemple :

package javafxapplication3;

var s1 = "Bonjour";
var s2 = "le monde !!!";
var s = '{s1}{s2}';
var z = "{s1}{s2}";

println("Les deux chaines = {s}");
println("et avec double guillemets = {z}");
println("Les deux pour l'affichage {s1}{s2}");



String (java.lang.String)
String dans JavaFX appartient à la classe java.lang.String (specifier) d'où la possibilté d'utiliser les fonctions utilitaires de java.lang.String dans les scripts JavaFX

Exemple :

/**
@author : Kaesar ALNIJRES
*/
package javafxapplication3;

var nombre=4;
var fruit="orange";

println("j'ai {nombre} {fruit}{if(fruit.endsWith('s')) "" else "{if(nombre > 1) "s" else ""}"}");
println(fruit.getClass());



Integer
Est utilisé pour représenté des données numériques de type integer
C'est le type à utiliser dans tous les cas sauf quand on a besoin des numéros avec fraction et virgule flottante, là on utilise Number.

Sauf pour les besoins très spécifiques de développement, ces deux types de données numériques sont utilisables dans tous les cas bien que la gamme de types numériques a été élargie dans la version 1.1 pour comprendre :
Byte, Short, Number, Integer, Long, Float, Double, et Character.

Déclaration :
Comme pour les autres types on peut laisser le compilateur choisir le type d'une variable ou le préciser au moment de la déclaration.

Par exemple les déclaration dans num1 et num2 sont équivalentes.

def num1=1; //Integer
def num2: Integer=1;

et dans num3 et num4 sont aussi équivalentes,

var num3=1;
var num4: Integer=1;

Les Integers sont utilisé dans le opérations arithmétiques et les comparaison

La valeur par défaut d'un Integer est 0

Integer appartient à la classe java.lang.Integer.


Exemple :

package javafxapplication3;

def num1=1; //Integer
def num2: Integer=1;
var t=num1+num2;

var num3=1;
var num4: Integer=1;
var t2=num3+num4;

println("num1 + num2 = {t} et num3 + num4 = {t2}");



Number
Représente les numéros à virgule flottante

Déclaration :
Donner à une variable un type Number se fait de la même manière que les autres variables d'une façon explicite ou implicite en laissant le compilateur sélectionner le type

Les Numbers sont utilisé dans le opérations arithmétiques et les comparaison

La valeur par défaut est 0.0

Number appartient à la classe java.lang.Double

Exemple :
package javafxapplication3;

def num1=1.0; //Number
def num2: Number=1.1;
var t=num1+num2;

var num3=1.0;
var num4: Number=1.1;
var t2=num3+num4;

println("num1 + num2 = {t} et num3 + num4 = {t2}");




Boolean
Les types Booleans sont à tous les points identiques au types boolean dans Java, avec deux valeur possibles " true " et " false "

Les variables de type Boolean sont utilisée dans des comparaisons et les expressions conditionnelles.

La valeur par défaut d'un Boolean est false

Boolean appartient à la classe java.lang.Boolean

Exemple :

package javafxapplication3;

var nombre = 3;

var estVrai = true;
var estVrai2: Boolean=true;
var estVrai3 = nombre > 2;

println("estVrai = {estVrai} - estVrai2 = {estVrai2} - estVrai3 = {estVrai3}");



Duration (durée) javafx.lang.Duration

Ce type représente tout simplement une durée dans le temps. Des chiffres utilisés avec des suffixes précises indiquent une durée dans le temps et sont des littérales de temps

Le temps est traduit dans tous les cas en millisecondes

Suffixe Signification
====================
ms milliseconde
s secondes
m minutes
h heure

Il est possible par la suite d'effectuer des opérations arithmétique de base sur des variables contenant des " Duration " pour calculer en unités de temps

La valeur par défaut d'une Duration est 0ms

Exemple :

/**
@author : Kaesar ALNIJRES
*/
package javafxapplication3;

//variables utilisant le temps
var seconde:Duration=1s;//indication du type
var minute=1m;//type inference

//5 minutes, 100 secondes et 10 milliseconds
var temps=minute*5+100s+10ms;

println("une seconde = {seconde} -> millisecods");

println("une minutes = {minute} -> millisecods");

println(temps);



Void et null
Ce sont deux types à utilisation spéciale

Void
Permet d'indiquer qu'une fonction n'a pas de valeur de retour. D'ailleurs si le type de retour d'une fonction n'est pas indiqué, il est assumé comme " Void "

Note :
Selon les documentations officiels " Void " est assumée comme valeur de retour en l'absence de celle-ci. J'ajoute ici et en l'absence d'une contexte indiquant une valeur de retour. Ici le type inference joue son rôle. Voyez Exemple 3, cité dans les " JavaFX reference " où la fonction retourne un " Number ".

Note :
JavaFX utilise le " type inference " pour déterminer, selon le contexte le type de variables et fonctions.

Exemple 1:
/*
* test.fx
@author: ka
*/

package javafxapplication3;


def msg="Bonjour";

afficheMessage();

function afficheMessage()
{
println("Le message est {msg}") ;
}

Exemple 2:
Le même exemple mais la valeur de retour est déclarée explicitement comme " Void "

/*
* test.fx
@author: ka
*/

package javafxapplication3;


def msg="Bonjour";

afficheMessage();

function afficheMessage():Void
{
println("Le message est {msg}") ;
}

Exemple 3:

def PI = 3.14159265;
var r = 7;
function circumference(radius) { 2 * PI * radius }
println("Circumference is { circumference(r) } ")



null
Indique l'absence d'une valeur. Par exemple les variables déclarées sans type avec " Cardinality : 0-1 Optional, ont une valeur par défaut null.

Exemple :
/**
@author : Kaesar ALNIJRES
*/
package javafxapplication3;

var n;


println("La valeur de n est '{n}'");


println("Le test if(n==null) = {(n==null)}");

0 comments:

Post a Comment

  © Blogger template Simple n' Sweet by Ourblogtemplates.com 2009

Back to TOP