article Annuaire
- A, l'opérateur Java priorité
- En second lieu, le type de données
- En troisième lieu, l'opérateur d'affectation
- Quatrièmement, les opérateurs logiques
- Cinq, java est passé par valeur
- Sixième, méthode surchargeant -> Principe Frère
- membres et sept variables locales
- Huit, concaténation chaîne conditions de mémoire de tas
- Neuf, les modificateurs Java d'accès
- Dix, mot-clé finale
- XI et les paramètres d'affichage des paramètres implicites
- Java base de problèmes classiques: un
A, l'opérateur Java priorité
Les opérateurs | associativité |
---|---|
[]. () (Méthode appel) | De gauche à droite |
! ~ + (Plus à partir de) - (décrément) + (n) - (négatif) | De droite à gauche |
* /% | De gauche à droite |
+ (Addition) - (soustraction) | De gauche à droite |
<< >> >>> (移位) | De gauche à droite |
<< = >> = (opérateur comparatif) instanceof | De gauche à droite |
==! = (Opérateur d'affectation) | De gauche à droite |
& | De gauche à droite |
^ | De gauche à droite |
| | De gauche à droite |
&& | De gauche à droite |
|| | De gauche à droite |
? :( opérateur ternaire) | De droite à gauche |
= | De droite à gauche |
En second lieu, le type de données
Bit ( « bit ): à savoir, un bit binaire, l'ordinateur est la plus petite unité d'information
octet ( octet ): à savoir, huit bits adjacents, appelés B. Byte est une mesure de la quantité d'informations, l'unité de base de stockage d'informations, la plus petite unité, ainsi que couramment utilisé dans KB (kilo - octets), MB (méga - octets), GB (gigaoctets), avec sa relation de conversion est:
1 KB = 1024B 1 Mo = 1024 Ko = 1024 * 1024B
1 Go = 1024 Mo = 1024 * 1024 Ko = 1024 * 1024 * 1024B
Ordinateur unité de stockage le plus petit : bits Bit -> b bits
1B = 8bit
1 Ko = 1024B
1Mo = 1024Ko
1 Go = 1024 Mo ...
En troisième lieu, l'opérateur d'affectation
Quatrièmement, les opérateurs logiques
Court - circuit et &&
a&&b
-> Si un est faux, alors b est pas exécutée
Court - circuit ou ||
a||b
-> Si un est vrai, alors b est pas exécutée
Cinq, java est passé par valeur
- Pour la modification des types de données de base des paramètres, sous la forme de paramètres, ne modifie pas la valeur du paramètre réel
- modification d' une référence au type de paramètre, les valeurs des paramètres formels affectent les paramètres réels
par le procédé de transmission d' une valeur d'un type de référence
si le procédé de modification de la passer au- dessus Type de valeur de référence et influent.
import java.util.Arrays;
public class MethodTran {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
changeArrValue(arr);
System.out.println(Arrays.toString(arr));
}
public static void changeArrValue(int[] arr) {
arr[0] = 0;
arr[1] = 0;
arr[2] = 0;
}
}
sortie:
Si la méthode de modification de la valeur d'adresse passe sur le type de référence, aucun effet (voir code particulier)
public class TestCSDN {
public static void main(String[] args) {
int[] arr = new int[0];
int[] tranArr = tranValue(arr);
int[] arrCy = arr;
System.out.println(Arrays.toString(tranArr));
System.out.println(Arrays.toString(arrCy));
}
private static int[] tranValue(int[] arr) {
arr = new int[3];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
return arr;
}
}
? Que la sortie ci - dessus est [0, 1, 2] , mais ce n'est pas.
Sortie:
Pour ne pas dire une bonne valeur transmit? Pourquoi méthode ne change pas la valeur du tableau arr de celui-ci?
Regardez les scories de l'analyse graphique ci - dessous?
Résumé
Source: "Java technologie de base Volume"
Sixième, méthode surchargeant -> Principe Frère
6.1 Méthode surcharge
- Une pluralité de procédés dans la même classe -
父亲(类)相同
- Le procédé comporte une pluralité du même nom de la méthode - frères
姓氏(方法)相同
- Le procédé de la pluralité de paramètres différents - entre Brothers
名字(参数)不同
Façon de distinguer différents paramètres:
- Un autre nombre de paramètres, tels que la méthode (int) et un procédé (int, int)
- Différents types de paramètres, tels que la méthode (int) et la méthode (String)
- Différents paramètres de commande, tels que la méthode (int, String) et (String, int)
Notez que un paramètre d'ordre différents de la prémisse doit être dans un ordre différent sur plusieurs types de paramètres ne peut pas être le même que
, par exemple, si une méthode (int, int), puis Peu importe comment changer l'ordre ne peut être distingué
Overload aucune relation avec le type de retour
6.2 remplacements de procédé
Réécrire la condition est remplie
membres et sept variables locales
dans le nouveau tas, pousser gauche
Entrez
堆内存
, il ouvrira un espace, avec des valeurs par défaut
et栈内存
ne sera pas. Vous devez initialiser les variables locales avant utilisation
- Les variables membres (variables autres que la méthode dans la classe): rôle dans la classe
堆内存
- comme variables membres pour créer un objet est créé , avec la disparition de l'objet disappear- Les variables locales (paramètres de la méthode ou la forme): rôle dans ce processus
栈内存
- comme une variable locale appelée méthode créée , ainsi que l' appel de méthode est terminée disparaître
Note:
Si 成员变量
le 局部变量
du même nom, la valeur protégerai les variables membres et donc les variables locales du même nom et essayez de ne pas les variables membres au nom!
Huit, concaténation chaîne conditions de mémoire de tas
Pour concaténation de chaîne, tout d'abord envie de +
se connecter, mais consomme beaucoup de mémoire, la vitesse est très lente, il est recommandéStringBuilder
Analyser pourquoi +
prendre beaucoup de mémoire?
D'après le tableau ci - dessus, la concaténation de chaîne et la chaîne d' origine ne disparaîtra pas, mais si la piscine constante n'existe pas, il rouvrira un espace de mémoire pour stocker la nouvelle chaîne, et la chaîne après la couture.
EtStringBuilder
en chaque méthode append d'appel (), sont le même objet, de sorte que les chaînes et+
coutures par rapport fait gagner du temps! il est recommandéStringBuilder类
d'utiliser un épissage de chaîne.
Neuf, les modificateurs Java d'accès
Pour la figure peut être comprise ( à partir de : champ d' application Java du public, privé, protégé, et quand est pas écrit la différence )
- publique : peu importe que ce soit le même paquet ou si elle est héritée, l' accès peut.
- Privé : En plus de la classe actuelle ne peut pas utiliser d' autres
Ce qui précède deux facile à retenir, les deux autres peuvent penser, tout d'abord être clair
- Ami est le même paquet
- Que ce soit ou non dans le même paquet, il y a l'héritage de la famille
- La valeur par défaut (qui est, ne pas modificateurs écriture) : compris pour être convivial (facile) si en plus de leur accès à est que les amis peuvent ( par exemple dans le même paquet).
- protégées : des moyens de protection, en plus de sa protection, amis et la famille peut vous protéger, afin qu'ils puissent accéder au même paquet (ami), avec un héritage de la sous - classe peut également accéder à la (famille).
Résume
1) seulement visible à la présente classe -private
2) visible à toutes les classes -Santé
3) de l'emballage et de tous les sous - classes visible -protégé.
4) de l'emballage visible. - pas de modificateur par défaut ()
Dix, mot-clé finale
- Est définie comme une entreprise privée, cela ne peut appeler des méthodes de classe;
- Défini comme statique, le seul souligné et est exécuté qu'une seule fois;
- Définie comme définitive, il indique qu'il est une constante et ne peut pas être modifié
-
classe finale ne peut pas être héritée, pas de sous-classes, méthodes, par défaut de classe finale est définitive, sans compter les variables membres.
-
méthodes finales ne peuvent pas remplacer les méthodes par les sous-classes, mais peut être héritée.
- La méthode de l'organe privé de classe parent ne peut pas être sous-classes surchargées méthodes, donc dernier type privé de processus est le type par défaut.
-
variable membre final représente une constante, ne peut être attribuée qu'une seule fois, après que la valeur attribuée ne change pas.
- Si les types de données de base des variables, les valeurs ne peuvent pas être modifiées après l' initialisation.
- Si un type de référence initialisation variable après le laissez pas référence à un autre objet. Cependant, vous pouvez modifier la valeur de l'objet pointé aux membres
-
méthode ne peut pas être utilisé pour modifier la construction finale.
XI et les paramètres d'affichage des paramètres implicites
paramètres d' affichage: paramètres de la méthode dans
un paramètre caché: méthode de classe appelle l'instance de classe de domaine. Tels que cela, l'objet d'appel est en cours d' initialisation méthode ou objet est un paramètre caché, ou super.
public class People{
private String name;
private int age;
public People() {}
public People(String name, int age) {
this.name = name; // this为正在初始化的对象
this.age = age;
}
public void setName(String name) {
this.name = name; // this为调用该方法的对象
}
}
Java base de problèmes classiques: un
-
Run bloc d'initialisation de la séquence, constructeur de bloc de code statique
-
A propos de Java méthodes d'usine statique, voir que l'on est assez!
Si vous sentez que vous trouvez cela utile, je l' espère , vous pouvez soutenir ce point de louange. De Je bien sûr continuer à écrire quelque chose utile, je peux me concentrer sur la poursuite de voir derrière le contenu. Merci pour le soutien.
Mouvements subtils, comme la rose Parfumé