初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
Stringクラス
java言語では、文字列をオブジェクトとして管理しています。
文字列を扱うクラスとしてStringクラスとStringBufferクラスがあります。
まずここでは、Stringクラスについて見ていきます。
今まで多くのサンプルプログラムを見てきました。
その中でも既にStringクラスは使われてきました。
Stringクラスはjava言語の中で文字列を管理するためのクラスで、文字列を一度オブジェクトに格納したら変更不可能です。
Stringクラスの主なメソッド
メソッド名 |
機能 |
length() |
文字列の長さを返します |
charAt(int x) |
先頭から数えて、xの位置にある一文字をchar型で返す |
substring(int x) |
先頭から数えて、xの位置以降の文字列を返す |
indexOf(String s) |
先頭から検索し、最初に引数の文字列が現れる位置を返す |
concat(String s) |
引数の文字列を末尾に連結する |
trim() |
文字列の前後の空白を取り除いた文字列を返す |
toUpperCase() |
全て大文字にした文字列を返す |
toLowerCase() |
全て小文字にした文字列を返す |
replace(char a,char b) |
文字列中のaの文字をbの文字に全て置き換えた文字列を返す |
Stringクラスのオブジェクトの生成方法
String 変数名 = "文字列";
String 変数名 = new String
今までオブジェクトの生成にはnewというキーワードを使ってきました。
しかしStringクラスのオブジェクトは大変よく使われるためnew を使わないで作成することができます。
サンプルプログラム(Sample72.java)
class Sample72{
public static void main(String args[]){
//オブジェクトの生成
String str = "Hello!Java";
//文字列の長さを調べます。
System.out.println("文字列の長さは" + str.length());
//文字列の末尾に連結します。
System.out.println(str.concat("の世界"));
//全ての文字列を大文字に変えます
System.out.println(str.toUpperCase());
//もともとの文字列を出力
System.out.println(str);
}
}
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行します。
ここでは、まずlength()を使ってstrオブジェクトが管理する文字列の長さを取得しています。
次に、strオブジェクトの文字列にconcat()メソッドを使って末尾に新たに文字列を連結しています。
次に、strオブジェクトの文字列をtoUpperCase()メソッドを使い全て大文字に変換しています。最後にもともとのstrオブジェクトの文字列を取得しています。
ここで、注意しなければいけないことがあります。ここで使われたtoUpperCase()メソッドなどは一見するとstrオブジェクトの文字列を変更しているように思われますが、
最初の説明通りStringクラスが管理する文字列は変更不可でした。
各メソッドは処理結果として新規にStringオブジェクトを作成して返します。したがって、もともとの文字列つまり参照変数strが参照している文字列は、Hello!Javaのままです。
では、もうひとつサンプルプログラムを作成します。
サンプルプログラム(Sample72_1.java)
class Sample72_1{
public static void main(String args[]){
//オブジェクトの生成
String str = new String("Hello!Java");
//文字列の長さを調べます。
System.out.println("文字列の長さは" + str.length());
//先頭から数えて5番目にある一文字列をchar型で返します
System.out.println(str.charAt(4));
//全ての文字列を小文字に変えます。
System.out.println(str.toLowerCase());
//先頭から数えて5番目以降の文字列を返します
System.out.println(str.substring(4));
//先頭から検索し最初に引数の文字列が現れる位置を返します。
System.out.println(str.indexOf("l"));
//もともとの文字列の出力
System.out.println(str);
}
}
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行してみます
まず、ここでは今度はオブジェクトの生成にnewを使っています。
文字列の長さを調べた後に今度は、
charAt(int x)メソッドを使って先頭から数えて5番目の文字列を結果に返しています。しかしここで気をつけなければいけないことはcharAtの引数に4が 入っています。
それは、文字列の位置番号が0から始まるからです。つまり5番目の文字列を返したいときは0,1,2,3,4になり引数に4が入ります。
次にtoLowerCase()メソッドで文字列を全て小文字に変えています。
substring(4)メソッドで5番目以降の文字列を返しています。
indexOf()メソッドは先頭から検索をかけて最初の引数ここでは"l"です。
つまり最初にlが出現する位置を返します。Hello!Java 最初にlが現れるのは文字列の番号は0から始まるので2番目です。
したがってこのような結果になります。