Maison  >  Article  >  Java  >  Explication des bases de Java : types de données et opérations de base

Explication des bases de Java : types de données et opérations de base

巴扎黑
巴扎黑original
2017-07-17 14:31:241288parcourir

Codage

ASCII--0~127 65-A 97-a

Table de codes d'Europe occidentale---ISO-8859-1---0-255---1 Octets

gb2312----0-65535---gbk---2 octets

Système d'encodage Unicode---utf-8---3 octets

en f

bit Octet 1Byte = 8bit 1KB=1024B MB GB TB PB---unité de stockage dans l'ordinateur

constante

constante entière ---Tous les entiers 3,99,107

Constantes décimales---Toutes les décimales 3,5 100,9

Constantes de caractères---Utilisez des guillemets simples pour identifier une lettre, un chiffre ou un symbole 'a ' '=' ' '

Constante de chaîne---Utilisez des guillemets doubles pour identifier un ou plusieurs caractères "abc" "234" "q2" ""

Constante booléenne-- -Utilisée pour représenter des valeurs logiques---vrai/faux

Constante vide --- nulle

5-entier, 5,0-décimal '5'-caractère "5"-chaîne '5.0' -Erreur d'écriture "5.0"-Chaîne

Base

Binaire : binaire complet en un, 0~1 1+1=10 0b10011 0b0011, à partir de JDK1.7, autorisé à 0b est utilisé comme début pour identifier un nombre en tant que nombre binaire

Octal : huit complets en un, 0~7, 7+1=10 Il faut qu'il commence par 06 015

Décimal : décimal complet à un, 0~9

Hexadécimal : hexadécimal complet à un, 0~9,, A~F, 9+1=A f+1=10 Il faut commencer par 0x 0x5 0xad

Conversion du système décimal

Convertir le décimal en binaire : continuez à diviser par 2 pour prendre le reste, puis inversez le reste

Convertir le binaire en décimal : en partant de l'ordre le plus bas, multipliez l'ordre par le puissance de 2, puis résumez

Conversion binaire en octal : à partir de l'ordre inférieur, tous les trois chiffres sont divisés en un groupe, ajoutez des zéros aux trois chiffres manquants pour en produire un nombre octal. Organisez ces nombres afin de convertir l'octal en binaire : un à trois --- un chiffre octal produit trois chiffres binaires

Convertir le binaire en hexadécimal : le processus de conversion de quatre en un

Variable

System.out.println(i);

int i = 5;---Non---Les variables doivent être déclarées avant d'utiliser

int i;

System.out.println(i);---No--Variable Doit être initialisé avant utilisation

Type de données

Type de données de base

Type numérique

Type entier

octet---mot Type de section---1 octet--- -2^7~2^7-1 --- -128~127

octet b = 5 ; octet b2 = -128;

court---entier court---2 octets--- -2^15~2^15- 1 --- -32768~32767

short s = 54; short s = -900;

int---entier---4 octets--- -2^31~2 ^31-1

int i = 100000;

int j = 100_000_000;--est autorisé à partir de JDK1.7. Ceux-ci seront automatiquement ignorés lors de la compilation_ -> int j = 100000000;

int i = 00001111;---Octal

Le type d'entier par défaut en Java est int

long---long entier---8 octets--- -2^63~2^63-1---se terminant par L indique que ce nombre est un nombre de type long

long l = 3L ;

Type flottant

float---simple précision---4 octets---doit se terminer par f

float f = 3.2f;

double---double précision---8 octets

Le type décimal par défaut en Java est le type double

double d = 3.5;

double d = 4.6D; ---can

double d = 3.9e4; //C'est une notation scientifique en système décimal

double d = 0x3p2; //C'est une notation scientifique hexadécimale ->

Type de caractère

char---2 octets--- 0 ~65535

char c = 'a';

char c = '中';

Booléen

booléen---vrai/faux

booléen b = faux;

Type de données de référence

Classe ---classe Interface ---interface Array ---[]

Conversion de type de données

Conversion implicite/conversion de type automatique

octet b = 100;

int i = b;

long l = 63;---Oui---lorsque la valeur entière est dans la plage de type int , vous n'avez pas besoin d'ajouter la terminaison L

Règle 1 : Les petits types peuvent être convertis en grands types ---byte->short->int->long float->double

int i = 5;

float f = i;

long l = 6;

float f = l;

Règle 2 : Entier Peut être converti en décimal, mais une perte de précision peut survenir

char c = 'a';

int i = c;

Règle 3 : le type de caractère peut être converti en type entier

short s = 'a' ;---can

char c = 100;---can

char c = 'a' ;

short s = c; ---Pas possible

définit une variable c de type char. Les données stockées sont un caractère. Il n'est pas nécessaire de vérifier l'encodage de caractère spécifique. Lors de l'attribution d'une valeur au type short, short doit vérifier si. l'encodage correspondant au caractère se trouve dans la plage de valeurs du type court. À l'heure actuelle, l'encodage spécifique correspondant au caractère ne peut pas être déterminé, car la plage de valeurs du type court ne chevauche pas complètement celle du type char. pour éviter Si elle dépasse la plage, l'affectation n'est pas autorisée.

short s = 97;

char c = s;--pas possible

Conversion/coercition explicite Convertir

long l = 54;

int i = (int)l;

double d = 3,5;

int i = (int)d ;- --Lors de la conversion d'un nombre décimal en nombre entier, la partie décimale est supprimée directement

Le type double ne peut pas stocker avec précision les décimales

Hexadécimal--Hexadécimal

Décimal-- Décimal

Octal---Octal

Binaire--Binaire

Opérateur

Opérateur arithmétique

+Ajouter-Soustraire*Multiplier/Diviser% Modulo++Auto-increment--Auto-décrément+Concaténation de chaînes

int i = 5210 / 1000 * 1000;--->i = 5000;

Remarque :

1. Une fois l'opération sur les entiers terminée, le résultat doit être un entier

2. Entier Lors de la division par 0, la compilation réussit et l'erreur est signalée lors de l'exécution---ArimeticException---Exception arithmétique

3 Le résultat de la division d'une décimale par 0 est Infini

4. Le résultat de 0/0.0 est NaN---Pas un nombre---Pas un nombre

5 Le type octet/short sera automatiquement promu au type int pendant l'opération

<.>

% opération restante

-5%3=-2 -4%3=-1 -3%7=-3

5%-3=2 7%-2=1 2%-8= 2

-5%-3=-2 -9%-3=0

Pour le reste d'un nombre négatif, suivez d'abord le opération de reste d'un nombre positif et regardez le nombre à gauche du signe reste Le signe de >++/--

Pour ++, incrémentez de 1 sur la base d'origine

int i = 5;

int j = ++i;--- > i incrémente de 1, puis attribue la valeur de i à j---incrémente d'abord, puis opère

int j = i++;---> obtient d'abord la valeur de i, 5, et incrémente i devient 6, puis attribue la valeur obtenue 5 à j --- fonctionne d'abord, puis incrémente

int je = 3;

int j = ++i * 2;-> ; j = 8;

int j = i++ * 2;->j = 6

int i = 6;

int j = i++ + ++i;->i = 8;

int j = ++i + i++;->i = 8; j = 14

octet b = 5;

b++;---JVM effectuera une conversion de type forcée sur le résultat en bas, puis convertissez le résultat en type d'octet

char c = 'a';

System.out.println(c + 4);-- can

char c2 = 'd';

System.out.println(c + c2);---Promouvoir en type int puis effectuer l'opération

+ Opération de concaténation de chaînes

« a » + « b »-- -> "ab"

"a" + 3---> >

"a" + vrai-> "avrai"

2 + 4 + "f"-> "6f"

"f" + 2 + 4-> "f24"

Opérateur d'affectation

= += -= *= /= %= &= |= ^= <<= >>= >>> = ~=

int i= 5;

i + = 3; -> i = i + 3;

i -= 2;->i = i - 2;->i = 3;

int j;

j += 4;---pas possible

int i = 5;

i += i -= i *= 5;--> i = -15;

i = 5 + ( 5 - ( 5 * 5)) ;

i += i -= i *= ++ i;--->i = -20;

i += i*= i-= (i++ + --i);---> i = -20;

i = 5 + ( 5 * (5 - (5 + 5)));

octet b = 5;

b += 3;--- Can

octet b = 125;

b += 3;---Peut --- -128

Opérateur de comparaison/relationnel

= =Égal!=Pas égal> <= <= instanceof

3 == 4;- > false

instanceof---détermine la relation entre les objets et les classes- -Peut être utilisé uniquement pour les types de données de référence

String s = « abd »;

Système .out.println(s instanceof String);---true

System. out.println("def" instanceof String);---true

Opérateur logique

est utilisé pour faire fonctionner des valeurs logiques

&AND|OR NOT ^XOR && court-circuit avec ||true&true=true true&false=false false&true=false false&false=false

true|true=true true|false=true false|true=true false|false= false

!true=false !false=true

true^true=false true^ false=true false^true=true false^false=false

Pour &&, Si la valeur de l'expression précédente est fausse, alors il peut être déterminé que la valeur de l'expression entière est fausse et l'opération après && ne sera plus exécuté

Opérateur ternaire/ternaire/conditionnel

Valeur logique ? Expression 1 : Expression 2

Si la valeur logique est vraie, exécutez l'expression 1 ; sinon, exécutez l'expression 2

int i = 5, j = 7;

i > System.out.println(i): System.out.println(j);-- -Non! Il doit y avoir un résultat une fois l'opération de l'opérateur ternaire terminée !

double d = i > j ? i * 2.5 : j;---Les types de valeurs de retour des deux expressions sont soit cohérents, soit compatibles

Obtenir les données de la console

import java.util.Scanner; //Écrit sous le package, au-dessus de la classe

Scanner s = new Scanner(System.in);

int i = s nextInt();

double d = s.nextDouble();

String str = s.nextLine();

String str2 = s.next();

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn