1. Elaboration des types de données de base
La langue Java fournit huit types de base. Six types numériques (quatre types entiers, deux types de points flottants), un type de caractère et un type booléen.
【Remarque】 Java n'a pas de type non signé
(1). Entier: int, court, octet, long
(2). Type de flotteur: flotteur, double
(3). Caractère: charbon
(4). Booléen
Taille de base Taille de la taille minimale Valeur maximale
vide
booléen ----- ---------
char 16 bits Unicode 0 Unicode 2 ^ 16-1
octet 8 bits -128 +127
court 16 bits -2 ^ 15 + 2 ^ 15-1
int 32 bits -2 ^ 31 + 2 ^ 31-1
long 64 bits -2 ^ 63 + 2 ^ 63-1
Float 32 bits IEEE754 IEEE754
Double 64 bits IEEE754 IEEE754
De plus, nous utilisons souvent deux variables de classe, à savoir la chaîne et la date.
2. Conversion des données
1 Types de conversion de type de données Il existe généralement trois types de conversion des types de données Java, à savoir:
(1). Conversion entre les types de données de base (2). Conversion entre les chaînes et autres types de données (3). Conversion d'autres types de données pratiques
2 Conversion entre les types de données de base <br /> Les types de base de faible à haut sont (octets, court, char) - int - Long-float -
La conversion entre les types de données simples peut être divisée en:
● Conversion de type automatique de bas niveau à avancé ● Conversion de type de fonte avancé en bas niveau ● Le type de transition des cours d'emballage peut être converti
2.1 Conversion de type automatique 2.1.1 Les variables de bas niveau peuvent être directement converties en variables de haut niveau, appelée conversion de type automatique. Par exemple, les instructions suivantes peuvent être directement adoptées en Java:
octet b; int i = b; long l = b; float f = b; double d = b;
2.1.2 Si le type de niveau de bas niveau est de type char, il sera converti en valeur de code ASCII correspondante lors de la conversion en un type de niveau élevé (type intégral), par exemple
char c = 'c'; int i = c; System.out.println ("sortie:" + i);Sortie: sortie: 99;
2.1.3 Pour les trois types d'octets, courts et char, ils sont horizontaux et ne peuvent donc pas être automatiquement convertis les uns aux autres. La conversion de type coulée suivante est utilisée.
court i = 99; char c = (char) i; i = (court) c; System.out.println ("sortie:" + c); Sortie: Sortie: C;
Mais selon l'expérience, l'octet, court et int sont tous des types entiers, donc si vous utilisez des données entières, il est préférable d'utiliser uniformément le type int.
2.2 Lorsque la coulée convertit les variables de haut niveau en variables de bas niveau, la situation sera plus compliquée et vous pouvez utiliser la coulée. C'est-à-dire que vous devez utiliser le format d'énoncé suivant:
int i = 99; octet b = (octet) i; char c = (char) i; float f = (float) i;
Comme vous pouvez l'imaginer, cette conversion peut certainement entraîner un débordement ou une diminution de la précision.
2.3 Conversion de type de transition de classe d'emballage Lorsque nous discutons de la conversion mutuelle entre d'autres types de variables, nous devons comprendre la classe d'emballage de Java. La classe dite d'emballage signifie que nous pouvons représenter directement des variables de type simple en tant que classe. Lorsque vous effectuez une conversion mutuelle de types de variables, nous utiliserons beaucoup ces classes d'emballage. Java a six cours d'emballage, à savoir booléen, caractère, entier, long, flottant et double. Du point de vue littéral, nous pouvons voir qu'ils correspondent à Boolean, Char, INT, Long, Float et Double respectivement. Et la chaîne et la date sont eux-mêmes des classes. Il n'y a donc pas de concept d'emballage.
Lors de la conversion entre les types de données simples (conversion automatique ou moulage), nous pouvons toujours utiliser la classe de wrapper pour les transitions intermédiaires.
De manière générale, nous déclarons d'abord une variable, puis générons une classe de wrapper correspondante, et nous pouvons utiliser diverses méthodes de la classe de wrapper pour effectuer la conversion de type. Par exemple:
Exemple 1: Lorsque vous souhaitez convertir le type de flotteur en double type:
float f1 = 100,00f; Float f1 = f1; // Autobox double d1 = f1.doubleValue (); // f1.doubleValue () est une méthode pour renvoyer un type de double valeur de la classe de flotteur. Lorsque vous souhaitez convertir le type double en un type int: double d1 = 100,00; Double d1 = new double (d1); // appelant le constructeur int i1 = d1.intvalue ();
Convertir les variables de types simples en classe d'emballage correspondante et peut être directement attribué à l'aide du constructeur et de l'emballage automatique de la classe d'emballage. Tout de suite:
Booléen (valeur booléenne), caractère (valeur char), entier (valeur int), long (valeur longue), float (valeur float), double (double valeur)
Dans chaque classe d'emballage, il existe toujours une méthode de valeur × valeur () pour obtenir ses données de type simple correspondantes. En utilisant cette méthode, la conversion entre différentes variables numériques peut également être réalisée. Par exemple, pour une classe de type réel à double précision, IntValue () peut obtenir sa variable entière correspondante, et DoubleValue () peut obtenir sa variable de type réel à double précision correspondante.
3 Conversion du type de chaîne et d'autres types de données <br /> En regardant les méthodes de membres fournies par chaque classe de la bibliothèque de classe, vous pouvez voir que presque toutes les classes dérivées de la classe java.lang.object fournissent la méthode toString (), c'est-à-dire convertissant la classe en une chaîne. Par exemple: Characrer, Integer, Float, Double, Boolean, Short and Other Classes ToString () La méthode est utilisée pour convertir des caractères, des entiers, des numéros de points flottants, des doubles, des nombres logiques, des entiers courts et d'autres classes en chaînes. Comme indiqué ci-dessous:
int i1 = 10; float f1 = 3,14f; Double D1 = 3,1415926; INTEGER I1 = NOUVEAU INTEGER (I1); // Générer la classe entière Float F1 = F1; // Autobox double d1 = d1; // appelle séparément la méthode toString () de la classe de wrapper pour la convertir en chaîne de chaîne si1 = i1 + ""; // cette méthode est plus générale SF1 = f1.toString (); String sd1 = d1.toString (); SySytem.out.println ("Si1" + Si1); SySytem.out.println ("SF1" + SF1); SySytem.out.println ("SD1" + SD1); 4. Convertir le type de caractère directement comme une valeur numérique en autres types de données <br /> par exemple, «1» fait référence à la valeur 1, plutôt qu'à son code ASCII, pour cette conversion:
char c = '1'; // Méthode GetNumericValue (char ch) du caractère int i = caractères.GetNumericValue (C); // Substraction du code ASCII I = C -'0 ';
5. Conversion entre la classe de date et d'autres types de données <Br /> Il n'y a pas de correspondance directe entre Integer et Classe de date. Vous pouvez utiliser le type int pour représenter respectivement l'année, le mois, le jour, l'heure, la minute et les secondes, donc une correspondance est établie entre les deux. Lorsque vous effectuez cette conversion, vous pouvez utiliser trois formes du constructeur de classes de date:
Date (int an, int mois, date int): le type int représente l'année, le mois et la date de jour (int an, int mois, date int, int hrs, int min): le type int représente l'année, le mois, le jour, l'heure et la date de la date (int, l'année, le mois int, la date, les int hrs, int min, int sec): Int le type représente l'année, le mois, les heures, la minute et le second
Il existe une correspondance intéressante entre les longs entiers et les classes de date, qui doit représenter une heure comme le nombre de millisecondes à partir de 0h00 GMT le 1er janvier 1970. Pour cette correspondance, la classe de date a également son constructeur correspondant: date (date longue)
Obtenez l'année, le mois, le jour, l'heure, la minute, la deuxième et la semaine dans la classe de date. Vous pouvez utiliser le getyear (), getMonth (), GetDate (), Gethours (), GetMinutes (), GetSeconds (), Getday (), et vous pouvez également le comprendre comme convertissant la classe de date en un int.
La méthode getTime () de la classe Date peut obtenir le numéro entier long correspondant au temps que nous avons mentionné précédemment. Comme la classe Wrapper, la classe Date a également une méthode toString () qui peut la convertir en classe String.
Parfois, nous voulons obtenir un format de date spécifique, par exemple 20020324, nous pouvons utiliser la méthode suivante, l'introduire d'abord au début du fichier,
import java.text.simpledateFormat; import java.util. *; java.util.date date = new Java.util.date (); // Si vous souhaitez obtenir le format de YyyyMMDD SimpledateFormat SY1 = new SimpledateFormat ("YyyyMMdd"); String dateFormat = sy1.format (date); // Si vous voulez obtenir l'année, le mois, le jour, SimpledateFormat sy = new SimpledateFormat ("Yyyy"); SimpledateFormat sm = new SimpledateFormat ("MM"); SimpledateFormat sd = new SimpledateFormat ("dd"); String syear = sy.format (date); String smon = sm.format (date); String sday = sd.format (date);Pour voir plus de syntaxe Java, vous pouvez suivre: "Penser dans Java Chinese Manual", "JDK 1.7 Reference Manual English Version", "JDK 1.6 API Java Chinese Reference Manual", "JDK 1.5 API Java Chinese Reference Manual". J'espère également que tout le monde soutiendra davantage Wulin.com.