0Pricing
Java Academy · レッスン

文字列

文字列

「文字列」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/1です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全1レッスンが含まれています。

導入

こんにちは。

Javaでは、String型を使ってテキストデータを保持します。Stringはプリミティブ型ではなく、参照型です。

テキストデータをString型の変数に代入する場合は、二重引用符で囲む必要があります。

例

簡単なStringを定義してみましょう。

String myText = "Coddy String";

String

この定義によって、JavaはStringを使ってヒープ上にオブジェクトを生成します。

Stringは参照型のオブジェクトなので、Java APIに組み込まれたメソッドを利用できます。

Stringの連結

Javaでは、(+)演算子を使って2つの異なるStringを連結します。



class Main {
    public static void main(String[] args) {
        String catOne = "Coddy";
        String catTwo = "Garfield";

        String catNames = catOne + " " + catTwo;
        System.out.println(catNames);
    }
}

concatメソッド

+演算子に加えて、concatメソッドを使って2つの異なるStringを連結することもできます。

System.out.println(catOne.concat(catTwo));
//CoddyGarfield

lengthメソッド

これらの中で、おそらく最もよく使われるのがlength()メソッドです。

このメソッドを使うと、String式が何文字で構成されているかを確認できます。



class Main {
    public static void main(String[] args) {
        String myText = "Coddy String";
        System.out.println("total char:" + myText.length());
    }
}

大文字・小文字

それでは、toUpperCaseメソッドとtoLowerCaseメソッドの使い方を学びましょう。



class Main {
    public static void main(String[] args) {
        String catOne = "Coddy";
        String catTwo = "Garfield";
        System.out.println(catOne.toUpperCase());   // CODDY
        System.out.println(catTwo.toLowerCase());   // garfield
    }
}

indexOf

String内を検索する場合は、indexOfメソッドを使用します。

以下の例では、文字sを検索し、7番目の位置にあることがわかります。



class Main {
    public static void main(String[] args) {
        String txt = "My cat is Coddy";
        System.out.println(txt.indexOf("s")); //7
    }
}

引用符

ここで、次のような疑問が浮かんだかもしれません。 

Stringは二重引用符で囲みますが、以下のようにStringの中に二重引用符を含めたい場合はどうすればよいでしょうか。

String txt = "My cat is "Coddy"";

エスケープ文字

上のコードには構文エラーが含まれているため、コンパイラによってコンパイルされません。String式の中で二重引用符を使いたい場合は、エスケープ文字であるバックスラッシュを使用する必要があります。

この文字によって、コンパイラはそれがString式であり、テキストの一部として評価すべきだと認識します。



class Main {
    public static void main(String[] args) {
        String txt = "My cat is \"Coddy\"";
        System.out.println(txt); //My car is "Coddy"
    }
}

例

Stringを定義したとき、プリミティブ型ではなく参照型であると説明しました。 

それでは、同じ値を持つ2つのStringを定義してみましょう。



class Main {
    public static void main(String[] args) {
        String catOne = "Coddy";
        String catTwo = "Coddy";
        boolean status = catOne == catTwo;
        //status => false
    }
}

equalsメソッド

==演算子は、プリミティブ型の変数に対して値を比較します。Stringなどのオブジェクト型は、オブジェクトそのものではなく、メモリ上のアドレスを保持します。

2つのオブジェクトを定義した場合、同じ値を持っていてもメモリ上の異なる領域に存在するため、catOneとcatTwoの変数は実際には異なるアドレスを保持します。そのため、==で比較するとfalseが返されます。

equalsメソッドは、2つのStringの値を比較するために使用します。

if(catOne.equals(catTwo)){
	//codeblock works
}

equalsメソッド

equalsメソッドは、2つのStringの値を比較するために使用します。

if(catOne.equals(catTwo)){
	//codeblock works
}

例(続き)

上の例では、equalsメソッドはオブジェクトのアドレスではなく、アドレスに格納されたデータを比較するため、trueを返します。

おめでとうございます

このセクションでは、JavaのStringについて学びました。 

次のレッスンでお会いしましょう。 🥳

文字列 — イラスト15

よくある質問

「文字列」レッスンは無料ですか?

はい。「文字列」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全1レッスンが含まれています。

「文字列」で何を学びますか?

文字列 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/1です。

「文字列」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

← Java Academyに戻る