演習1-4 文字列(String)型
をテンプレートにして作成
開始行:
[[TopPage]] > [[演習課題]] > 演習1-4
* 文字列処理 [#vd94a729]
Javaには,文字列(String)という概念があります.
String型を使うと,文字列に関するさまざまな処理ができます.
以下のプログラムでは,文字列の基本的な処理機能について説...
&ref(StringTest.java,,,StringTest.java ダウンロード);/[[...
** 文字列の宣言 [#cda3bdde]
以下のように,文字列(String)型に値を代入するには,代入文...
// 文字列の宣言,宣言とともに値を設定
String a = "Good ";
String b = "Morning!";
** コマンドプロンプト(コンソール)への出力(print, printl...
[[演習0>演習0 文字列の画面出力]]で説明したとおり,文字列...
// System.out.printlnはコマンドプロンプト(コンソール)...
System.out.println("a=" + a);
System.out.println("b=" + b);
** 文字列の結合(+演算子) [#yb78b507]
文字列同士を結合するには,+記号を使います.
(一方が数値などの場合は,数値を「文字列」にしてから結合...
// 文字列は+で文字列同士を連結する
String c = a+b;
System.out.println("c=" + c);
** 文字列の比較(equals) [#b9e18066]
2つの文字列を比較をします.大文字・小文字を区別します.
|&color(red,yellow){&size(16){''よくあるミスに注意!''};};|
|Javaでは,''文字列同士の比較に==を使うことはできません....
// equals()で文字列の比較を行う
if (a.equals("good ")) {
System.out.println("変数a の値は good です.");
} else {
System.out.println("変数a の値は good ではありません....
}
- boolean '''String'''.''equals(''[文字列]'')''~
'''String'''の値と,''[文字列]''の値が等しければ''true''...
値の比較には,大文字・小文字を区別します.
** 文字列の比較(equalsIgnoreCase) [#qc891a32]
2つの文字列を比較をします.大文字・小文字を%%%区別しませ...
// equalsIgnoreCase()で大文字,小文字を無視した文字列の...
if (a.equalsIgnoreCase("good ")) {
System.out.println("変数a の値は good です.");
} else {
System.out.println("変数a の値は good ではありません....
}
- boolean '''String'''.''equalsIgnoreCase(''[文字列]'')''~
'''String'''の値と,''[文字列]''の値が等しければ''true''...
値の比較には,大文字・小文字の違いを無視します.
** 全て小文字/大文字にする(toLowerCase, toUpperCase) [#c...
文字列の全英字を大文字または小文字に置換します.
//toLowerCase()で全て小文字に
System.out.println(c.toLowerCase());
//toUpperCase()で全て大文字に
System.out.println(c.toUpperCase());
- String '''String'''.''toLowerCase()''~
'''String'''に格納されている英字について,全て小文字に変...
- String '''String'''.''toUpperCase()''~
'''String'''に格納されている英字について,全て大文字に変...
** 文字列の長さ(length) [#f83662af]
変数に格納されている文字列の長さ(文字数)を返します.
// length()で,文字列の長さを得る
int alen = a.length();
int blen = b.length();
System.out.println("文字列 a の長さは " + alen );
System.out.println("文字列 b の長さは " + blen );
System.out.println("文字列 c の長さは " + c.length()); ...
- int '''String'''.''length()''~
'''String'''に格納されている文字列の長さを返します.~
''戻り値''はint型です.
** 部分文字列を取り出す(substring) [#cf61dfce]
文字列から,指定した領域の文字列を取り出します.
// substring(開始位置,終了位置)で,部分文字列を取り出し...
// 終了位置を指定しないと,開始位置から末尾まで取り出し...
String e = c.substring(2,4); // "od"が出力される.
System.out.println(e);
String f = c.substring(5); // "Morning!"が出力さ...
System.out.println(f);
&ref(文字列の意味.key.png);~
図1−4 文字列は開始位置の考え方
- String '''String'''.''substring(''[開始位置]'')''
- String '''String'''.''substring(''[開始位置]'',''[終了...
'''String'''文字列の指定した範囲の部分文字列を返します.~
[終了位置]を省略すると,文字列の末尾までの部分文字列を返...
&color(red,yellow){''注意:''}; ~
[終了位置]は,実際に部分文字列の末尾要素より1つ大きい値...
すなわち,部分文字列の長さは,[終了位置] - [開始位置] に...
例)
String text = "ABCDEFG";
text.substring(2, 5); // "CDE" が取り出される(3文字)
text.substring(4, 5); // "E" が取り出される(1文字)
text.substring(5, 5); // "" 何も取り出されない(0文字)
text.substring(5, 3); // エラー (-2文字になるため)
** 練習 [#z9c323fe]
Javaでは,==を使って文字列同士の比較をすることはできず,e...
本当にそうでしょうか?確認してみてください.
例)
System.out.println ("確認1:"+ (a == "Good ") );
String foo= "the Good Event";
String subfoo = foo.substring(4,9);
System.out.println ("|"+ subfoo +"|");
System.out.println ("確認2(==の場合):"+ (a == subfoo) );
System.out.println ("確認2(equalsの場合):"+ (a.equals(...
確認1は,aとまったく同じ文字列と比較させています.~
確認2では,"the Good Event"という文字列から,部分文字列...
このように,条件によっては==で文字列が正しく比較できない...
#br
&size(16){[[&ref(http://yoslab.net/netprog/next.gif,nolin...
終了行:
[[TopPage]] > [[演習課題]] > 演習1-4
* 文字列処理 [#vd94a729]
Javaには,文字列(String)という概念があります.
String型を使うと,文字列に関するさまざまな処理ができます.
以下のプログラムでは,文字列の基本的な処理機能について説...
&ref(StringTest.java,,,StringTest.java ダウンロード);/[[...
** 文字列の宣言 [#cda3bdde]
以下のように,文字列(String)型に値を代入するには,代入文...
// 文字列の宣言,宣言とともに値を設定
String a = "Good ";
String b = "Morning!";
** コマンドプロンプト(コンソール)への出力(print, printl...
[[演習0>演習0 文字列の画面出力]]で説明したとおり,文字列...
// System.out.printlnはコマンドプロンプト(コンソール)...
System.out.println("a=" + a);
System.out.println("b=" + b);
** 文字列の結合(+演算子) [#yb78b507]
文字列同士を結合するには,+記号を使います.
(一方が数値などの場合は,数値を「文字列」にしてから結合...
// 文字列は+で文字列同士を連結する
String c = a+b;
System.out.println("c=" + c);
** 文字列の比較(equals) [#b9e18066]
2つの文字列を比較をします.大文字・小文字を区別します.
|&color(red,yellow){&size(16){''よくあるミスに注意!''};};|
|Javaでは,''文字列同士の比較に==を使うことはできません....
// equals()で文字列の比較を行う
if (a.equals("good ")) {
System.out.println("変数a の値は good です.");
} else {
System.out.println("変数a の値は good ではありません....
}
- boolean '''String'''.''equals(''[文字列]'')''~
'''String'''の値と,''[文字列]''の値が等しければ''true''...
値の比較には,大文字・小文字を区別します.
** 文字列の比較(equalsIgnoreCase) [#qc891a32]
2つの文字列を比較をします.大文字・小文字を%%%区別しませ...
// equalsIgnoreCase()で大文字,小文字を無視した文字列の...
if (a.equalsIgnoreCase("good ")) {
System.out.println("変数a の値は good です.");
} else {
System.out.println("変数a の値は good ではありません....
}
- boolean '''String'''.''equalsIgnoreCase(''[文字列]'')''~
'''String'''の値と,''[文字列]''の値が等しければ''true''...
値の比較には,大文字・小文字の違いを無視します.
** 全て小文字/大文字にする(toLowerCase, toUpperCase) [#c...
文字列の全英字を大文字または小文字に置換します.
//toLowerCase()で全て小文字に
System.out.println(c.toLowerCase());
//toUpperCase()で全て大文字に
System.out.println(c.toUpperCase());
- String '''String'''.''toLowerCase()''~
'''String'''に格納されている英字について,全て小文字に変...
- String '''String'''.''toUpperCase()''~
'''String'''に格納されている英字について,全て大文字に変...
** 文字列の長さ(length) [#f83662af]
変数に格納されている文字列の長さ(文字数)を返します.
// length()で,文字列の長さを得る
int alen = a.length();
int blen = b.length();
System.out.println("文字列 a の長さは " + alen );
System.out.println("文字列 b の長さは " + blen );
System.out.println("文字列 c の長さは " + c.length()); ...
- int '''String'''.''length()''~
'''String'''に格納されている文字列の長さを返します.~
''戻り値''はint型です.
** 部分文字列を取り出す(substring) [#cf61dfce]
文字列から,指定した領域の文字列を取り出します.
// substring(開始位置,終了位置)で,部分文字列を取り出し...
// 終了位置を指定しないと,開始位置から末尾まで取り出し...
String e = c.substring(2,4); // "od"が出力される.
System.out.println(e);
String f = c.substring(5); // "Morning!"が出力さ...
System.out.println(f);
&ref(文字列の意味.key.png);~
図1−4 文字列は開始位置の考え方
- String '''String'''.''substring(''[開始位置]'')''
- String '''String'''.''substring(''[開始位置]'',''[終了...
'''String'''文字列の指定した範囲の部分文字列を返します.~
[終了位置]を省略すると,文字列の末尾までの部分文字列を返...
&color(red,yellow){''注意:''}; ~
[終了位置]は,実際に部分文字列の末尾要素より1つ大きい値...
すなわち,部分文字列の長さは,[終了位置] - [開始位置] に...
例)
String text = "ABCDEFG";
text.substring(2, 5); // "CDE" が取り出される(3文字)
text.substring(4, 5); // "E" が取り出される(1文字)
text.substring(5, 5); // "" 何も取り出されない(0文字)
text.substring(5, 3); // エラー (-2文字になるため)
** 練習 [#z9c323fe]
Javaでは,==を使って文字列同士の比較をすることはできず,e...
本当にそうでしょうか?確認してみてください.
例)
System.out.println ("確認1:"+ (a == "Good ") );
String foo= "the Good Event";
String subfoo = foo.substring(4,9);
System.out.println ("|"+ subfoo +"|");
System.out.println ("確認2(==の場合):"+ (a == subfoo) );
System.out.println ("確認2(equalsの場合):"+ (a.equals(...
確認1は,aとまったく同じ文字列と比較させています.~
確認2では,"the Good Event"という文字列から,部分文字列...
このように,条件によっては==で文字列が正しく比較できない...
#br
&size(16){[[&ref(http://yoslab.net/netprog/next.gif,nolin...
ページ名: