1. Règles de dénomination
En Java, il existe une norme unifiée pour nommer divers identifiants (noms de classe, noms de packages, noms de méthodes, noms de variables)
- Il ne peut être composé que de chiffres, de lettres, _ et $, et ne peut pas commencer par un chiffre.
- Ne peut pas être un mot-clé
- Essayez de voir le nom et de connaître la signification autant que possible
- Tous les noms de classes doivent commencer par des lettres majuscules
- Tous les noms de packages doivent être en minuscules
- Tous les noms de constantes doivent être en lettres majuscules et peuvent être séparés par des traits de soulignement.
- Suivez la dénomination en casse chameau (la première lettre du mot est en majuscule et le nom peut commencer par une minuscule)
2. Commentaires
Il existe trois types de commentaires dans les fichiers Java
1. Commentaires sur une seule ligne
Généralement utilisé dans des endroits avec moins de contenu de commentaires, tels que les commentaires de logique de code
// 注释内容
2. Commentaires sur plusieurs lignes
Utilisé pour les lieux avec beaucoup d'annotations
/*
注释内容
*/
3. Documenter les commentaires
Les commentaires de documentation sont généralement utilisés sur les classes, les méthodes et les variables pour décrire leurs fonctions.
/**
* 注释内容
*/
3. Types de données de base
Java a huit types de base . À l'exception de ces huit types de base, les autres types sont des types de référence et la valeur par défaut de tous les types de référence est null. Les huit types de base sont divisés en types entiers, à virgule flottante, caractères et booléens .
1. Type entier
taper | octet | gamme de taille | Valeurs par défaut |
---|---|---|---|
octet | 1 | -2 7 à 2 7 -1 (-2 (1*8-1) à 2 (1*8-1) -1) | 0 |
court | 2 | -2 15 à 2 15 -1 (-2 (2*8-1) à 2 (2*8-1) -1) | 0 |
int | 4 | -2 31 à 2 31 -1 (-2 (4*8-1) à 2 (4*8-1) -1) | 0 |
long | 8 | -2 63 à 2 63 -1 (-2 (8*8-1) à 2 (8*8-1) -1) | 0 |
2. Type à virgule flottante
taper | octet | gamme de taille | Valeurs par défaut |
---|---|---|---|
float (simple précision) | 4 | 1.4E-45 à 3.4028235E38 | 0,0 |
double (double précision) | 8 | 4.9E-324 à 1.7976931348623157E308 | 0,0 |
3. Type de personnage
taper | octet | gamme de taille | Valeurs par défaut |
---|---|---|---|
carboniser | 2 | Unicode(0~2^16-1) | Unicode(0) |
4. Type booléen
taper | octet | gamme de taille | Valeurs par défaut |
---|---|---|---|
booléen | 1 | faux et vrai | FAUX |
5. Conversion hexadécimale de type int
A. Binaire
En Java, vous pouvez utiliser directement des préfixes 0b
pour représenter des entiers binaires, tels que
int a = 0b111; // 结果:7
B. Système octal
Vous pouvez utiliser un préfixe 0
pour représenter un entier octal, tel que
int a = 011; // 结果:9
c. Hexadécimal
Vous pouvez utiliser un préfixe 0x
pour représenter un entier hexadécimal, tel que
int a = 0x11; // 结果:17
6. Conversion de base
La conversion d'un type avec une large plage de valeurs vers un type avec une petite plage de valeurs nécessite une conversion forcée , telle que
int age = (int)3.5; // 通过(int)把浮点型数据强转为int类型
Les types avec une petite plage de valeurs peuvent être directement convertis en types avec une large plage de valeurs, tels que
double price = 2; // 2明显是int类型,但是可以直接赋值为浮点型
4. Opérateurs
1. Opérateurs arithmétiques
pour les opérations numériques
symbole | nom |
---|---|
+ | ajouter |
- | réduire |
* | prendre |
/ | retirer |
% | Prenez le reste |
2. Opérateurs de comparaison
Utilisé pour la comparaison numérique, le résultat est de type booléen
symbole | nom |
---|---|
> | plus que le |
< | moins que |
>= | supérieur ou égal à |
<= | inférieur ou égal à |
== | égal |
!= | pas égal à |
3. Opérateurs logiques
symbole | nom | logique |
---|---|---|
&& | ET logique | Le résultat n'est vrai que si avant et après sont vrais |
|| | logique ou | Tant que l’une des deux est vraie, le résultat est vrai. |
! | négation logique | Changer vrai en faux et faux en vrai |
phénomène de court-circuit
A&&B, lorsque A est faux, le résultat est faux et B n'a pas besoin de juger à nouveau.
A||B, le résultat est vrai quand A est vrai, B n'a plus besoin d'être jugé
4. Opérateurs unaires
symbole | logique |
---|---|
++ | un de plus |
– | Soustraire un de lui-même |
comme
int a = 12;
++a; // 结果:13
a++; // 结果:14
--a; // 结果:13
a--; // 结果:12
5. 赋值运算符
符号 | 逻辑 |
---|---|
= | 等于 |
+= | 在自身上加… |
-= | 在自身上减… |
如
int a = 12;
a+=3; // 结果:15。与a = a + 3;不同,a = a + 3是先运算a + 3再赋值给a,而a+=3则是直接在a上加3
a-=4; // 结果:11。与a = a - 4;不同,a = a - 4是先运算a - 4再赋值给a,而a-=4则是直接在a上减4
6. 按位运算符
符号 | 名称 | 逻辑 |
---|---|---|
>> | 按位右移 | A>>B,将A转为二进制,然后二进制数字向右移动B位数,超出的部分截取掉,剩余的部分转为十进制就是结果 |
<< | 按位左移 | A<<B,将A转为二进制,然后二进制数字向左移动B位数,空出来的位置补0,然后转为十进制 |
>>> | 按位带符号位右移 | 与按位右移不同的是该运算符会带符号位位移 |
& | 按位与 | A&B,将A和B转为二进制,右对齐上下比较,两者都为1则为1,否则为0,再转为十进制 |
| | 按位或 | A|B,将A和B转为二进制,右对齐上下比较,两者有一个为1则为1,再转为十进制 |
^ | 按位异或 | A^B,将A和B转为二进制,右对齐上下比较,两者不同则为1,相同则为0,再转为十进制 |
如
7 >> 2; // 结果:1
7 << 2; // 结果:28
-1 >>> 1; // 结果:2147483647
7 & 8; // 结果:0
6 | 7; // 结果:7
7 ^ 8; // 结果:15
7. 三元运算符
A?B:C,判断A的结果,如果A为true,表达式就取B的值,如果是false,就取C的值
如
1>2?12:23; // 结果:23
注意
System.out.println(1>2?1.2:2);
// 直接输出时,后面两个值属性可以不同,类型取范围大的,结果为2.0
// 赋值的时候后面两个值类型必须相同
int a = 1>2?1.2:2//报错
8. 优先级
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-(正负)、~、++、– | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、-(加减) | 从左向右 |
5 | <<、>>、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、<<=、>>=、>>>= | 从右向左 |
五、转义符
转义字符 | 意义 |
---|---|
\n | 换行 |
\t | 横向跳格 |
\r | 回车 |
\ | \ |
" | " |
’ | ’ |