Java文字列:初心者向けガイド
ひもを考えると、猫が毛糸の玉で遊んでいるのが見えるかもしれません。ボールや毛糸がひもであることは事実ですが、プログラマーがひもという言葉を使用する場合、それらは別の意味を持ちます。
プログラミングでは、文字列は1つ以上の文字のシーケンスです。テキストベースのデータがコンピュータとの日常的なやり取りにとってどれほど重要であるかを考えると、文字列がプログラミングの重要な部分であることは当然のことです。
このガイドでは、文字列を作成する方法、文字列を連結する方法、および文字列の値を変数に格納する方法について説明します。いくつかの例を見ていきます。
Java文字列の作成
文字列は、Javaでテキストを格納するために使用されます。一方、char
データ型は個々の文字を格納し、文字列は必要な数の文字を保持できます。文字列はバイトのシーケンスです。
文字列は二重引用符で囲まれて定義されます。これは、一重引用符と二重引用符の両方を受け入れるPythonやJavaScriptのような言語とは異なります。 Javaでの文字列の例を次に示します。
“This is an example string.”
println()
を使用して、文字列の内容を印刷できます。 関数:
System.out.println("This is an example string.");
コードは次のようになります。This is an example string
。新しい文字列を作成しました。文字列を宣言する方法を理解したので、コードで文字列を操作する方法について説明します。
参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。
平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。
文字列の連結
連結、なんて長い言葉でしょう。定義は非常に単純です。つまり、2つの文字列を組み合わせて新しい文字列を作成することを意味します。 +
を使用できます 2つの文字列を連結するための演算子(プラス記号)。
ウィリアムとカーターの2つの弦があるとしましょう。最初の文字列は名前で、2番目の文字列は名前です。 +
を使用してそれらを組み合わせることができます オペレーター:
String fullname = "William" + "Carter"; System.out.println(fullname);
コード出力:WilliamCarter
。待って、どうしたの?これらの2つの単語の間にスペースがないのはなぜですか?
デフォルトでは、連結された文字列の間に空白は追加されません。スペースを表示する場合は、William
という名前の後にスペースを追加する必要があります :
String fullname = "William" + "Carter"; System.out.println(fullname);
プログラムを実行すると、次のように返されます:William Carter
。
文字列の長さの計算
文字列の長さはどのように計算しますか?なんて良い質問でしょう。幸いなことに、それを行うために複雑な関数を作成する必要はありません。
Javaには、文字列の長さを計算するために使用できる組み込み関数length()
がすでにあります。 。メソッドの便利な名前です。
4年生のクラスの2人の名前の長さを計算するプログラムを作成します。新しいJavaファイルを作成し、次のコードをメインクラスに貼り付けます。
String name1 = "William Carter"; String name2 = "Helena Ohara"; int name1length = name1.length() - 1; int name2length = name2.length() - 1; System.out.println(name1 + "'s name is " + name1length + " letters long."); System.out.println(name2 + "'s name is " + name2length + " letters long.");
コードを実行してみましょう:
William Carter's name is 13 letters long. Helena Ohara's name is 11 letters long.
生徒の名前を格納する2つの変数name1とname2を定義しました。次に、length()
を使用しました これらの各文字列の長さを計算する方法。中央のスペースを考慮して、各名前の長さから1を引きました。
次に、それぞれの名前の長さを知らせるメッセージを印刷しました。
文字列内の文字列を検索する
別の文字列内で文字列を検索したい場合があります。ここでindexOf()
方法が便利です。このメソッドは、文字列内の特定のテキスト文字列の最初の出現位置を返します。
それがどのように機能するかを説明する前に、index
について簡単に説明する必要があります 。 Javaでは、文字列はインデックス番号を使用してインデックス付けされます。これは、文字列内のすべての文字に独自の番号が割り当てられていることを意味します。この番号を使用して、各アイテムに個別にアクセスできます。
文字列「WilliamCarter」内のインデックスの内訳は次のとおりです。
W | i | l | l | i | a | m | | C | a | r | t | e | r |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
文字列内のすべての文字には、空白を含むインデックス番号が割り当てられていることに注意してください。さらに、0からカウントを開始する方法に注意してください。これは、文字列が0からインデックス付けされるためです。
文字列Carter
がどこにあるかを調べたいとしましょう この文字列に表示されます。 indexOf()
を使用してこれを行うことができます このような方法:
String name = "William Carter"; int position = name.indexOf("Carter"); System.out.println("Carter appears starting at index value " + position);
コードは次のようになります。カーターはインデックス値8から表示されます。indexOf()
文字が表示されるインデックス位置を返します。
2つの文字列が等しいかどうかを確認する
文字列の比較は、プログラミングでは常に発生します。ログインフォームにパスワードを入力するときを考えてください。アプリケーションは何をしますか?入力したパスワードと、アプリケーションがデータベースに保存したパスワードを比較します。
ユーザーのパスワードが正しいかどうかをチェックするプログラムを作成するとします。新しいJavaファイルを開き、次のコードをメインプログラムに貼り付けます。
String entered_password = "Test123"; String saved_password = "Test12345"; boolean compare_passwords = entered_password.equals(saved_password); System.out.println("Does the entered password match the saved password? " + compare_passwords);
私たちのコードは次を返します:
入力したパスワードは保存したパスワードと一致していますか? false
プログラムは、指定した2つの文字列(entered_password
)があるかどうかを確認します。 およびsaved_password
等しいです。 equals()
を使用します このチェックを実行するメソッド。このメソッドは、文字列が等しい場合にtrueを返します。それ以外の場合は、falseを返します。
entered_password
の値を変更してみましょう saved_password
と等しくなるように :
String entered_password = "Test12345"; String saved_password = "Test12345"; ...
このコードを実行すると、プログラムは次を返します。
入力したパスワードは保存したパスワードと一致していますか? true
指定した両方の文字列が一致します。つまり、equals()
メソッドはtrueと評価されます。
特殊文字
文字列は二重引用符で囲む必要があります。プログラムに二重引用符を含めるまで、これは大したことではないように思えます。これはエラーを返します。
このエラーを解決する方法は、円記号(\)文字を使用することです。これにより、文字列の直後に続くすべての文字が特殊文字に変わります。この例を考えてみましょう。
String statement = "Your order for \"Chocolate Chip Cookie x2\" was processed.";
この文字列は、文字列内の各二重引用符の前に円記号を指定しているため、プログラムで機能します。この文字列は次のようになります。ChocolateChipCookiex2の注文が処理されました。
もう1つの問題があります。文字列にバックスラッシュを使用する場合はどうなりますか?そのためには、2つの円記号を並べて書くことができます。
String order_reference = "Your order reference is 202\\303."
これにより、次の文字列が返されます:Your order reference is 202\303."
Javaで使用できる特殊文字は他にもたくさんあります。遭遇する最も便利なものの1つは、\nまたは改行と呼ばれるものです。この文字は、文字列に新しい行を作成します。
String order_reference = "Your order reference is: \n 202\\303."
私たちの文字列は次のようになります。
ご注文のリファレンスは次のとおりです:
202\303
is:
の後に改行文字を指定したため、文字列は2行に分割されました。 文字列の一部です。
結論
文字列を使用すると、プログラムでテキストベースのデータを操作できます。文字列には、文字をまったく含まない場合も含め、任意の数の文字を含めることができます。
indexOf()
などの文字列メソッドを使用する およびequals()
、Javaで文字列の内容を操作できます。これで、エキスパートのようにJavaで文字列を操作する準備が整いました。
-
Javaの特定の単語の文字列内の単語を解析する方法は?
Javaには、特定の単語の文字列内の単語を解析できるさまざまなメソッドがあります。ここでは、そのうちの3つについて説明します。 contains()メソッド Stringクラスのcontains()メソッドは、一連の文字値を受け入れ、それが現在のStringに存在するかどうかを確認します。見つかった場合はtrueを返し、それ以外の場合はfalseを返します。 例 import java.util.StringTokenizer; import java.util.regex.Pattern; public class ParsingForSpecificWord { &nbs
-
Javaで文字列を(アルファベットの場合)検証するにはどうすればよいですか?
文字列のアルファベットを検証するには、文字列の各文字を英語のアルファベットの文字と比較するか(どちらの場合も)、正規表現を使用します。 例1 次のプログラムは、ユーザーから文字列値(名前)を受け取り、その文字列内の各文字を英語のアルファベットの文字と比較することにより、指定された文字列が固有名であるかどうかを確認します。 import java.util.Scanner; public class ValidatingString { public static void main(String args[]) { Scan