Java >> Java チュートリアル >  >> Tag >> char

Java エスケープ文字リスト

この投稿では、Java での文字のエスケープに関する包括的な記事を取り上げます。シーケンス文字と呼ばれる Java エスケープ文字リストを使用するのはなぜですか?

1.はじめに

次のメッセージを出力したい例を考えてみましょう:私のお気に入りの映画は「アベンジャーズ」です

この文字列を出力するコードを書いてみましょう。

MyFavoriteMovieExample .java

public class MyFavoriteMovieExample {
 public static void main(String[] args) {
 String myFavoriteMovie = new String("My favorite movie is "Avengers".");
 System.out.println(myFavoriteMovie);
 }
}

コンパイラはこのコードを実行させず、構文エラーを示します。その理由は、二重引用符を解釈できないためです " 正しく。通常コンパイラ用 " 文字列の開始または終了を指定しますが、それを文字列の一部にしたい場合は、" を区別する何かが必要です いくつかのシナリオで異なる解釈をするシンボル。そこにエスケープ文字が入ります。バックスラッシュ \ を前に付けることにより " の前 、コンパイラはシンボルを文字列の一部として扱い、文字列の開始または終了ではありません.

ここでエラーを修正しましょう。

MyFavoriteMovieExample .java

123456 public class MyFavoriteMovieExample {    public static void main(String[] args) {      String myFavoriteMovie = new String( "My favorite movie is \"Avengers\"." );      System.out.println(myFavoriteMovie);    } }

出力

1 My favorite movie is "Avengers" .

このコードを実行すると、目的の文字列がコンソールに出力されます。

同じ出力を取得する別の方法がありますが、他のすべての特殊文字の代替を記述できるという意味ではありません。

エスケープ文字を使用せずに同じ出力を取得する例を次に示します。

MyFavoriteMovieExample .java

public class MyFavoriteMovieExample{
	public static void main(String[] args) {
		String myFavoriteMovie = "My favorite movie is " + '"' + "Avengers" + '"' + ".";
		System.out.println(myFavoriteMovie);
	}
}

同じ出力が得られます。

2.さまざまな種類のエスケープ文字

  • \f :フォームフィードの挿入用。
  • \' :引用符を挿入します。
  • \" :二重引用符文字を挿入します。
  • \\ :バックスラッシュ文字を挿入します。
  • \t :タブを挿入します。
  • \b :バックスペースを挿入します。
  • \n :改行を挿入します。
  • \r :キャリッジ リターンを挿入します。

各エスケープ文字の使用例を見てみましょう:

EscapeCharacterExample.java

public class EscapeCharacterExample {

	public static void main(String[] args) {
		// \t tab
		printEscapeCharacterWithExample("tab : \\t", '\t');
		// \b backspace
		printEscapeCharacterWithExample("backspace : \\b", '\b');
		// \n new line
		printEscapeCharacterWithExample("new line  : \\n", '\n');
		// \r carriage return
		printEscapeCharacterWithExample("carriage return : \\r", '\r');
		// \f form feed
		printEscapeCharacterWithExample("form feed : \\f", '\f');
		// \' single quote
		printEscapeCharacterWithExample("single qoute : \\'", '\'');
		// \" double quote
		printEscapeCharacterWithExample("double quote : \"", '\"');
		// \\ backslash
		printEscapeCharacterWithExample("backslash : \\", '\\');
	}

	static void printEscapeCharacterWithExample(String escapeCharacterString, char escapeCharacter) {
		String preText = "Pre Text";
		String middleText = "Middle Text";
		String postText = "Post Text";
		System.out.println(escapeCharacterString);
		System.out.println(preText + escapeCharacter + middleText + escapeCharacter + postText);
		System.out.println();
	}
}

出力

010203040506070809101112131415161718192021222324252627 tab : \t                                                                                                                Pre Text        Middle Text     Post Text                                                                                                                                                                                                        backspace : \b                                                                                                          Pre TexMiddle TexPost Text                                                                                                                                                                                                                       new line  : \n                                                                                                          Pre Text                                                                                                                Middle Text                                                                                                             Post Text                                                                                                                                                                                                                                        carriage return : \r                                                                                                    Post Textxt                                                                                                                                                                                                                                      form feed : \f                                                                                                          Pre Text                                                                                                                         Middle Text                                                                                                                         Post Text                                                                                                                                                                                                                     single qoute : \'                                                                                                       Pre Text 'Middle Text' Post Text                                                                                                                                                                                                                   double quote : "                                                                                                        Pre Text "Middle Text" Post Text                                                                                                                                                                                                                   backslash : \                                                                                                           Pre Text\Middle Text\Post Text

3. Unicode エスケープ文字

Java は Unicode エスケープ文字をサポートします。これは基本的に、ASCII 文字のみを使用して、ほぼすべての異なる言語文字を表現します。

Unicode エスケープ表現は、バックスラッシュ文字 / で構成されます その後に 1 つ以上の u が続く 文字と 4 桁の 16 進数。コンパイラが Unicode 表現で何かを見つけた場合、文字列の解釈中に、コンパイラはそれを Java 仕様に従ってそれぞれのシンボルに置き換えます。

UnicodeExample.java

1234567 public class UnicodeExample {    public static void main(String[] args) {      System.out.println( "\u0929\u092E\u0938\u094D\u0924\u0947" );    } }

出力

1 ऩमस्ते

上記のプログラムは ऩमस्ते を出力します これはヒンディー語であり、通常の qwerty キーボードではこれらの記号を書くことができないため、これらの記号を表すには Unicode 文字が必要です。

これは、Java での文字のエスケープに関する記事でした。

4.ソースコードをダウンロード


Java タグ