[Java] Type de données ①-Type de base
Variables Java
- Déclaration de variable: notifie le nom de la variable à Java et sécurise une zone pour stocker la valeur en mémoire.
- ʻInt data (= valeur initiale) `
- Plusieurs variables peuvent être déclarées ensemble
- ʻInt data1, date2 (= valeur initiale) `
- Essayez de définir la valeur initiale
int data1= 108;
String message = “Hello World”;
- Identifiant
- UCS2 est utilisé dans Java.
- Tous les caractères Unicode sont disponibles
- Sensible aux majuscules et minuscules
- Les noms de variables sont fondamentalement lisibles et idéalement lisibles en anglais
*
if (obj.isCompleted()){
- Par convention, les variables sont ** camelClass **, les classes sont ** Pascal **, les constantes sont ** majuscules + notation de soulignement **
constant
- ** Une variable qui ne peut pas être réaffectée **
//Mauvais exemple
int price = 1000;
double sum = price * 1.08;
- En utilisant des constantes, la signification de la formule de calcul est facile à comprendre et il est facile de la changer.
- Je veux éviter de taper une chaîne de caractères directement dans le code → Mettez-la comme constante
//Exemple de refactorisation
final double TAX = 1.08;
int price = 1000;
double sum = price * TAX;
System.out.println(sum);
Type de données Java
- Langage à typage statique: détermine le type lors de la déclaration d'une variable
- ** Type de base **: la valeur elle-même est stockée
- ** Type de référence **: Stocke les informations indiquant l'emplacement de stockage de la valeur. La base de Java est le type de référence
- Il existe des types de base et des types de référence qui correspondent à tous
- booléen: type de base Booléen: type de référence
- int: type de base Entier: type de référence
Type entier: utiliser un int de base
- byte, char: stocker les données d'octet
- court: représente un petit entier
- long: uniquement lorsqu'il s'agit d'une plage numérique qui ne peut pas être prise en charge par int
Type à virgule flottante: utiliser le double de base
-
Occupe 64 bits de mémoire
-
Dans le type à virgule flottante, la largeur de saut de la valeur augmente à mesure que la position absolue augmente.
-
IEEE 754 définit le format de conservation de la valeur
-
Normalisé, décomposé en formats formels et exponentiels et géré
123.75_{(10)}=1111011.11_{(2)}=1.11101111*2^{6}_{(2)}
-
1,23 $ * 10 ^ 1 $ ~ 1,24 $ * 10 ^ 1 $ et 1,23 $ * 10 ^ {100} $ ~ 1,24 $ * 10 ^ {100} $ feront la différence! !!
Type de caractère
- ** Type de caractère **: 16 bits - Unicode (UCS2) 1 caractère
- ** Type de chaîne **: longueur variable, multiple de 2
Valeur booléenne (booléenne, type logique)
- Ne peut pas être converti en type numérique (vrai = 1, faux = 0, etc.)
Inférence de type
var nom de la variable = valeur initiale
var i = 48;
- Le type de données peut être omis
- Le compilateur déduit automatiquement l'épaule de la valeur assignée et détermine = type infère
- L'exemple ci-dessus déduit int
- La valeur initiale ne peut pas être omise
Cannot use var on variable without initializer
- Impossible de déclarer plusieurs
- Uniquement les variables locales (variables déclarées dans les méthodes) qui ne peuvent pas être utilisées dans les déclarations de champ
Qu'est-ce qu'un littéral
- ** La valeur elle-même qui peut être stockée dans le type de données, la méthode de représentation **
- Littéraux entiers, littéraux à virgule flottante, littéraux de vérité, etc., selon le type de données
Entier littéral
- Décalque / 16 bases / 8 bases / 2 bases littérales
Littéral à virgule flottante
- $ E $
- 1.14142e-5 → 0.0000114142
Suffixe de type
- Si vous n'utilisez pas de littéral numérique, l'entier est entier et la virgule flottante est double.
- Utilisé lorsque vous êtes en difficulté si le type de données est décidé arbitrairement
- Ajouter un suffixe d'épaule au littéral numérique
System.out.println (2147483648L); // à long terme
Séparateur numérique (séparateur)
- Pour améliorer la lisibilité des caractères avec un grand nombre de chiffres
var pi = 3.141_592_653_59;
- Notez que les méthodes qui reçoivent des chaînes numériques (telles que Integer.parseInt) ne peuvent pas reconnaître le séparateur.
Caractère littéral
- Exprimé sous forme de devis unique
- Les caractères Unicode sont multipliés par le code de caractère hexadécimal au format
\ u3042
.
Chaîne littérale
- Exprimé entre guillemets
- Utilisez la séquence d'échappement lorsque vous souhaitez mettre des guillemets doubles à l'intérieur
System.out.println("You are \"GREATE\" !");
System.out.println("Welcome to wherever you are \nThis is your life, you made it this far");
var str = "Welcome, you got to believe " + "That right here, right now"; //Séparé pour améliorer la lisibilité
System.out.println(str);
Conversion de type
Type statique mais conversion de type autorisée
- ** Conversion d'agrandissement **
- int à long
- Notez que la conversion d'entier en virgule flottante peut entraîner une perte de moisissure.
- ** Conversion réduite (diffusion, conversion explicite) **
- Indiquer explicitement l'intention de conversion
- Notez que le signe peut changer en raison de la conversion entre int et short.
int i = 10;
// byte b = i ; //NG
byte b = (byte)i ; //OK