Connaissances de base en Java


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 ...

Insérer ici l'image Description
Insérer ici l'image Description


En troisième lieu, l'opérateur d'affectation

Insérer ici l'image Description


Quatrièmement, les opérateurs logiques

Insérer ici l'image Description
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:
Insérer ici l'image Description

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:

Insérer ici l'image Description
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?
Insérer ici l'image Description
Résumé

Insérer ici l'image Description
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:

    1. Un autre nombre de paramètres, tels que la méthode (int) et un procédé (int, int)
    2. Différents types de paramètres, tels que la méthode (int) et la méthode (String)
    3. 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?
Insérer ici l'image Description

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.

Et StringBuilderen 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

modificateur 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

  1. Ami est le même paquet
  2. 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.

    1. 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.

    1. Si les types de données de base des variables, les valeurs ne peuvent pas être modifiées après l' initialisation.
    2. 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





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é

Il a publié 190 articles originaux · louange 153 won · vues 90000 +

Je suppose que tu aimes

Origine blog.csdn.net/qq_36852780/article/details/90314744
conseillé
Classement