Remarques sur les opérateurs utilisant Java ~ Type chaîne ~

1.Tout d'abord

Cette fois, je parlerai des opérateurs utilisant le type String. Puisqu'il y a certains points qui nécessitent une attention, je vais diviser les articles.

Certains opérateurs peuvent ne pas être utilisés tels quels pour le type String. Au contraire, il est normal de penser que c'est quelque chose de complètement différent.

2. Précautions

2.1. == Opérateur

Si vous essayez d'utiliser cet opérateur == avec un type String, vous n'obtiendrez probablement pas ce que vous voulez.

Main.java


public class Main {
	public static void main(String[] args) {

		String first = "num";
		String second = "num";

		first += "ber";
		second += "ber";

		//Afficher la première chaîne
		System.out.println(first); //nombre et sortie
		//Afficher la deuxième chaîne
		System.out.println(second); //Identique au premier numéro et à la sortie

		//premier"number"Et deuxieme"number"Comparer
		System.out.println(first == second); // false

	}
}

Cette fois, pour plus de commodité, le premier et le second sont initialisés avec "num".

Ensuite, j'ajoute "bar" à la fois au premier et au second. Vous pouvez ajouter une chaîne au type String avec + =.

Les première et deuxième lignes doivent être "nombre"!

Je pense que la sortie sur la troisième ligne était fausse. Faux signifie que le premier et le second ne sont pas la même chose.

Alors, que faire si vous voulez vous assurer que les chaînes de type String sont les mêmes?

Si vous souhaitez comparer des chaînes de type String, utilisez quelque chose appelé String.equals (). Placez une nouvelle source qui remplace la première == deuxième partie ci-dessus.

Main.java


public class Main {
	public static void main(String[] args) {

		String first = "num";
		String second = "num";

		first += "ber";
		second += "ber";

		//Afficher la première chaîne
		System.out.println(first); //nombre et sortie
		//Afficher la deuxième chaîne
		System.out.println(second); //Identique au premier numéro et à la sortie

		//premier"number"Et deuxieme"number"Comparer
		System.out.println(first.equals(second)); // true

	}
}

La troisième ligne cette fois était affichée comme vraie! Cela peut être un peu déroutant, mais utilisez String.equals () pour comparer des chaînes.

2.2. + Concaténation de chaînes

Vient ensuite le problème de la concaténation de chaînes. Si vous souhaitez concaténer des chaînes et des nombres, vous pouvez les concaténer avec +.

Main.java


public class Main {
	public static void main(String[] args) {

		System.out.println("1 + 2 = " + 3);

	}
}

Comme ça ... Vous devriez voir 1 + 2 = 3.

Et une erreur courante est lorsque la source est la suivante.

Main.java


public class Main {
	public static void main(String[] args) {

		System.out.println("1 + 2 = " + 1 + 2);

	}
}

Lorsque vous l'exécutez, vous devriez voir 1 + 2 = 12.

A ce moment, le calcul commence par la gauche et "" 1 + 2 = "+ 1" est effectué en premier. Le résultat de cette opération est "" 1 + 2 = 1 "", qui est un type chaîne.

Ensuite, l'opération est "" 1 + 2 = 1 "+ 2", et "" 1 + 2 = 12 "" est le résultat, qui est également de type String.

À ce stade, si vous souhaitez afficher 1 + 2 = 3 normalement, vous pouvez le résoudre en modifiant la priorité du calcul. Utilisez (), également utilisé en mathématiques.

Main.java


public class Main {
	public static void main(String[] args) {

		System.out.println("1 + 2 = " + (1 + 2));

	}
}

Si 1 + 2 = 3 s'affiche, c'est parfait!

3. Conclusion

Voici juste deux choses à garder à l'esprit lorsque vous utilisez String et opérateurs.

Au fait, essayez d'utiliser d'autres opérateurs. Il devrait y avoir un opérateur qui provoque une erreur de compilation.

Cette fois, c'est fini!

Recommended Posts

Remarques sur les opérateurs utilisant Java ~ Type chaîne ~
Essayez de gratter en utilisant Java [Note]
OSX 10.15 (Catalina) Utilisation de Java avec β
Remarques sur le contrôle du signal en Java
Remarques sur le traitement des threads Android (java)
[Java] Comparaison correcte du type String
Remarques sur le chemin et le package Java
Chaîne Java
note java
[Java] Type Express Enum sans utiliser le type Enum (énumération)
Conversion de type de données de date Java (date, calendrier, chaîne)
Concernant la comparaison d'équivalence de type de chaîne en Java
Utilisation de JupyterLab + Java avec WSL sous Windows 10
[Java] Aide-mémoire de classe de type de données / chaîne de caractères
Filtre Sobel utilisant OpenCV sur Android (Java)
[Java] Convertit null du type Object en type String
Remarques sur l'utilisation de FCM avec Ruby on Rails
Conversion de type Java 8 LocalDateTime (String, java.util.Date)
[Java] Mécanisme de calcul, opérateurs et conversion de type
Conversion de type du type java Big Decimal au type String
[Java] Afficher la chaîne de bits stockée dans la variable de type d'octet sur la console
Installez java et android-sdk sur Mac en utilisant homebrew
[Java] Remplissage de la chaîne de caractères
Génériques Java (Notes)
[Java] Type d'énumération
Java Type facultatif
[Java] Note sur le tableau
Java double type
Traitement des chaînes Java
[Java] Notes d'étude
Notes de sérialisation Java
Conversion de type Java (chaîne, entier, date, calendrier, etc.)
Essayez la communication en utilisant gRPC sur un serveur Android + Java
Chaîne divisée (Java)
Télécharger et télécharger des notes en java sur S3
Utilisation de Java 8 avec Bluemix (sur Liberty Runtime & DevOps Service)
Créez un environnement de développement Java à l'aide de jenv sur votre Mac
Installez java et maven sur un nouveau mac en utilisant brew
J'ai essayé d'utiliser Log4j2 sur un serveur Java EE
Essayez la classification d'image à l'aide de TensorFlow Lite sur Android (JAVA)
Remarques sur l'utilisation des expressions régulières en Java
Tri à l'aide du comparateur java
Remarques sur les tampons de protocole
Sortie au format Java [Note]
Installez Java sur Mac
mémo python sur docker
[Android] Notes sur xml
[Java] Comparaison des chaînes de caractères et && et ||
[Java] Type de données ①-Type de base
Exécutez PostgreSQL sur Java
Remplacement multiple de chaîne Java
[Java] Note sur la syntaxe de contrôle
Utiliser JDBC sous Linux
Remarques sur l'héritage multiple
Notes de révision de Java NIO 2
Notes sur les expressions régulières
Pratique de grattage avec Java ②
[Java, Kotlin] Variance de type