table des matières
Variable de type à virgule flottante
Conversion de type automatique
Type de données variable
Java est un langage fortement typé et chaque variable doit déclarer son type de données.
Les types de données Java peuvent être divisés en deux catégories: les types de données primitifs et les types de données de référence.
Variable entière
1. Fonction: La variable de type entier est utilisée pour stocker une valeur entière , c'est-à-dire une valeur sans partie décimale.
2. Classification
![]()
En Java, afin d'allouer raisonnablement de l'espace de stockage pour des entiers de différentes tailles, les types d'entiers sont divisés en 4 types différents.
- Le type entier est le type int par défaut .
- Lors de l' affectation d'une valeur à une variable de type long , une lettre L (ou l minuscule) doit être ajoutée après la valeur affectée pour indiquer que l'affectation est de type lonh.
Si la valeur affectée ne dépasse pas la plage de valeurs du type int , vous pouvez omettre la lettre L (ou l minuscule).
Tels que: long num = 2200000000 L; // La valeur affectée dépasse la plage de valeurs du type int, et la lettre L doit être ajoutée après elle
long num = 189L; // La valeur assignée ne dépasse pas la plage de valeurs du type int, et la lettre L peut être ajoutée après elle
long num = 189; // La valeur assignée dépasse la plage de valeurs du type int, et la lettre L peut être omise plus tard
Exemple 1: Comment utiliser différents types de système numérique (de base)
public class TestVar1{ public static void main(String[] args){ //定义整数类型的变量 //给变量赋值时,值可以为不同进制的 int num1=12; //默认情况下赋值就是十进制数 System.out.println("num1"+"="+num1); int num2=0b10; //前面加上0b或0B,这个值就是二进制数 System.out.println("num2"+"="+num2); int num3=012; //前面加上0,这个值就是八进制数 System.out.println("num3"+"="+num3); int num4=0x12; //前面加上0x或0X,这个值就是十六进制数 System.out.println("num4"+"="+num4); } }
Résultat de l'opération: la sortie est de type décimal
Exemple 2: Comment utiliser différents types d'entiers
public class TestVar2{ public static void main(String[] args){ //定义byte类型的变量 byte b=12; //定义了一个byte类型的变量,名字叫b,赋值为12 System.out.println("b"+"="+b); short s=30000; //定义了一个short类型的变量,名字叫s,赋值为30000 System.out.println("s"+"="+s); int i=1234; //定义了一个int类型的变量,名字叫i,赋值为1234 System.out.println("i"+"="+i); long l=12; //定义了一个long类型的变量,名字叫l,赋值为12 System.out.println("l"+"="+l); //整数类型默认就是int类型的,所以12345678910是一个int类型的数,对于int类型来说,它超出范围了 //要想把一个数给long类型变量,那么后面加上L(推荐)或者l就可以了 long L = 12345678910L; System.out.println("L"+"="+L); } }
résultat de l'opération:
Variable de type à virgule flottante
1. Fonction: les variables de type nombre à virgule flottante sont utilisées pour stocker des valeurs décimales .
2. Classification:
En Java, il existe deux types de nombres à virgule flottante: virgule flottante simple précision (float) et virgule flottante multi-précision (double).
PS: les nombres significatifs font référence au premier nombre différent de zéro de la gauche au dernier nombre
- En java, une décimale sera par défaut à deux .
Par conséquent, lors de l' affectation d'une valeur à une variable de type flottant , vous devez ajouter la lettre F (ou f minuscule) après la valeur attribuée ;
Lors de l' attribution d' une variable de type double , vous pouvez ajouter la lettre D (ou en minuscule d) après la valeur attribuée ou non .
Tels que: float f = 123.4F; // Assigne une valeur à une variable de type float, la lettre F (ou f minuscule) doit être ajoutée après elle
double = 110.1D; // Attribuer une valeur à une variable de type double, vous pouvez ajouter la lettre D (ou d minuscule) après elle
double = 112,5; // Attribuer une valeur à une variable de type double, sans la lettre D (ou d minuscule)
- Vous pouvez également affecter une valeur entière à une variable numérique à virgule flottante dans le programme, par exemple, l'écriture suivante est également possible.
float f = 100; // Déclare une variable de type float et assigne une valeur entière
double = 100; // Déclare une variable de type double et attribue une valeur entière
Exemple 1: l'utilisation de deux représentations de nombres à virgule flottante
public class TestVar3{ public static void main(String[] args){ //浮点数类型常量的两种形式 //十进制小数法 double num1=2.14; System.out.println("num1"+"="+num1); //科学计数法 double num2=214E-2; System.out.println("num2"+"="+num2); } }
résultat de l'opération:
Exemple 2: Deux types de déclaration et d'affectation de nombres à virgule flottante
public class TestVar4{ public static void main(String[] args){ /*浮点数类型的变量 注意:浮点数类型默认是double类型,要想将一个double类型的数赋给 float类型后面必须加上F(或小写f) */ //声明并赋值一个float类型变量,后面必须加上F(或小写f) float f1=3.1415926784F; System.out.println("f1"+"="+f1); //声明并赋值一个double类型变量,后面的D或者d一般省略不写 double d1=3.1415926784; System.out.println("d1"+"="+d1); //注意:最好不要进行不同浮点数类型的比较 float f2=0.3F; double d2=0.3D; System.out.println(f2==d2); } }
résultat de l'opération:
Variable de type de caractère
Les variables de type caractère sont utilisées pour stocker un seul caractère , représenté par char en Java , et chaque variable de type caractère char occupe 2 octets .
- Le type char est utilisé pour représenter les caractères dans la table de code Unicode . (Unicode est compatible avec le code ASCII, les 128 premières positions d'Unicode sont ASCII)
- Lorsque vous attribuez une valeur à une variable de type char, vous devez entourer le caractère d'une paire de guillemets simples ('') au format anglais demi-largeur .
- Vous pouvez également attribuer des variables de type char à entiers dans la plage de 0 ~ 65535 ( sans guillemets simples ) , et l'ordinateur automatiquement convertir ces chiffres en les caractères correspondants . Par exemple, le caractère correspondant à la valeur 97 est «a».
- Lors du calcul du type de caractère sous-jacent, il est en fait calculé selon ASCII
Variable booléenne
Le type booléen a deux valeurs constantes, true et false , qui occupent un bit en mémoire (et non un octet). Vous ne pouvez pas utiliser des entiers 0 ou différents de zéro pour remplacer true et false. Ceci est différent du langage C. Le type booléen est utilisé pour déterminer les conditions logiques et est généralement utilisé pour le contrôle de flux de programme.
Conversion de type variable
Dans le programme, lors de l'attribution d'une valeur d'un type de données à une variable d'un autre type de données, une conversion de type de données est requise. Selon la méthode de conversion de type peut être divisée en deux types: conversion de type automatique et conversion de type forcée .
La plage de valeurs des différentes variables est triée: double> float> long> int> short> char> byte
Compatibilité: char ne peut pas être assigné à short et byte.
Boolean n'a pas de compatibilité avec les autres types de données.
Conversion de type automatique
La conversion de type automatique est également appelée conversion de type implicite , qui fait référence à la déclaration de deux types de données qui n'ont pas besoin d'être affichés pendant le processus de conversion .
Pour obtenir une conversion de type automatique, il faut remplir simultanément deux conditions: premièrement, deux types de données sont compatibles entre eux , le deuxième type de cible est dans la plage supérieure à la plage de type source.
- Format: type de source nom de la variable de type de source = valeur 1;
Type de cible Variable de type de cible = nom de la variable de type de source;
Par exemple : octet b = 6;
int i = b; // Le programme convertit la variable b de type byte en type int, sans déclaration spéciale
Conversion de type forcée
La conversion de type forcée est également appelée conversion de type explicite , qui fait référence à la déclaration de deux types de données qui doivent être affichés pendant le processus de conversion .
L'exigence de conversion forcée: les deux types de données sont incompatibles avec l'autre , ou la plage de valeurs du type de cible est plus petit que le type de source.
- Format de déclaration: nom de la variable de type cible = valeur (type de cible);
Par exemple: octet b = valeur (octet);
- Remarque: lors de la conversion de type forcé, lorsque la valeur du type source est supérieure à la plage de valeurs du type cible, les données sont perdues avec précision.
La plage de valeurs d'octet est de -128 ~ 127
supplément
1. Promotion automatique du type d'expression
La soi-disant expression fait référence à une expression composée de variables et d'opérateurs. Les expressions variables peuvent également subir une conversion de type automatique pendant les opérations . Il s'agit de la promotion automatique des types de données d'expression.
Par exemple, une variable de type octet sera automatiquement promue au type int pendant l'opération.
Raison : lors de l'opération de l'expression b1 + b2, les variables b1 et b2 sont automatiquement promues au type int et le résultat de l'expression devient de type int. À ce stade, si le résultat est affecté à une variable de type octet, une erreur être signalés et doivent être exécutés Conversion de type de force.
Solution : remplacez la cinquième ligne de code par l' octet b3 = (octet) b1 + b2;
2. Lorsqu'il existe plusieurs types de données dans la même expression, le calcul est effectué en fonction du type le plus élevé de l'expression courante.