サイズ: 225
コメント:
|
サイズ: 4195
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 2: | 行 2: |
文字列はStringというクラスで扱います。 . 文字列は基本型(プリミティブ)ではない。 . charの配列ではない。(Cとは異なる) . 文字列を扱うにはStringクラスを用いる。 . Stringは変更不能なオブジェクトです。 . 文字列はオブジェクトであるが、普通のオブジェクトとは次の点で振る舞いが異なります。 . 文字列に演算が行われたときは、そのオブジェクトが修正されるのではなく、新しくオブジェクトが作られます。 |
|
行 3: | 行 10: |
indexOf( int ) | 文字が並んだものを文字列という。 |
行 5: | 行 12: |
length( ) | . プログラム中で文字列は '''"''' ではさんで "Hello World" のように記述する。 . この文字列の値は '''Hello World''' であって、'''"''' は含まれない。 . '''""''' は長さ0の文字列である。空文字列という。 |
行 7: | 行 16: |
substring( begen, end ) | 以下に文字列の使い方の一部を示します。 他にも多くのメソッド(関数)があります。 |
行 9: | 行 19: |
Integer.parseInt( string ) | ---- === 連結 === |
行 11: | 行 22: |
String.valueOf( a ) ? toString( a ) ? |
文字列の連結は演算記号 '''+''' を使って行うことが出来る。 |
行 14: | 行 24: |
Integer.valueOf( string ) はラッパクラスオブジェクトができる | a,b,cをStringクラスの変数とし {{{ a = "Hello"; b = "World"; c = a + b; }}} を行うと、c の値は '''Hello''''''World''' になる。 基本型(プリミティブ)を文字列に連結すると、値に対応する文字列に変換してから連結される。 kがint型、xがdouble型、pがboolean型、sがStringクラスの変数のとき {{{ k = 103; x = 5.789; p = true; s = "kotae" + k + x + p; }}} を行うと、s は '''kotae1035.789true''' になる。 この機能は結果を表示するのにしばしば利用されます。 System.out.println には1つの引数しか書けないので、このような使い方をします。 {{{ System.out.println("k=" + k + ", x=" + x + ", p=" + p); }}} ---- === 文字列の比較 === 2つの文字列が等しいかどうかを調べるには equals メソッドを使います。 {{{ s = " ... "; t = " ... "; if ( s.equals(t) ) { ... } }}} 等号を使って {{{ if ( s == t ) { ... } }}} と書くとsとtが同じオブジェクトを参照しているという意味になります。 ---- === 文字列の長さ === 文字列の長さを求めるには length メソッドを使います。 sが文字列またはStringクラスの変数のとき、 {{{ s.length() }}} のように、長さを求めたい文字列の後ろに .length() をつけると その長さ(整数値)が返されます。 {{{ s = "日本語の文字列"; i = s.length(); j = "quick brown fox jumps over the lazy dog".length(); }}} これを行うと、iの値は7、jの値は39になる。 配列の大きさは length、文字列の長さは length() です。 理由は * 配列の大きさは、そのオブジェクトの属性値として記憶されている * 文字列の長さは、そのオブジェクトに対するメソッドを実行して求める ---- === 部分文字列 === 文字列からその一部分を取り出すには substring メソッドを使います。 substringメソッドも文字列の後ろに .substring(0,3) のような形でつけて使います。 引数を2つとり、1番目は取り出す最初の位置、2番目は取り出す最後の文字の次の位置です。 {{{ s = "ABCDEFG"; System.out.println( s.substring(2,5) ); }}} を行うと '''CDE''' と表示される。 ---- === 部分の文字 === 文字列を構成する1文字を取り出すには indexOf メソッドを使います。 {{{ String s; char c; s = "ABCDEFG"; c = s.indexOf(3); }}} とすると、cには文字Dが入ります。 ---- === 数値への変換 === "123"のような文字列 s をintに変換しint型の変数 i に代入するにはこのように書きます。 {{{ i = Integer.parseInt( s ); }}} "1.25"のような文字列 s をdoubleに変換しdouble型の変数 d に代入するにはこのように書きます。 {{{ d = Double.parseDouble( s ); }}} |
String
文字列はStringというクラスで扱います。
- 文字列は基本型(プリミティブ)ではない。
- charの配列ではない。(Cとは異なる)
- 文字列を扱うにはStringクラスを用いる。
- Stringは変更不能なオブジェクトです。
- 文字列はオブジェクトであるが、普通のオブジェクトとは次の点で振る舞いが異なります。
- 文字列に演算が行われたときは、そのオブジェクトが修正されるのではなく、新しくオブジェクトが作られます。
文字が並んだものを文字列という。
プログラム中で文字列は " ではさんで "Hello World" のように記述する。
この文字列の値は Hello World であって、" は含まれない。
"" は長さ0の文字列である。空文字列という。
以下に文字列の使い方の一部を示します。 他にも多くのメソッド(関数)があります。
連結
文字列の連結は演算記号 + を使って行うことが出来る。
a,b,cをStringクラスの変数とし
a = "Hello"; b = "World"; c = a + b;
を行うと、c の値は HelloWorld になる。
基本型(プリミティブ)を文字列に連結すると、値に対応する文字列に変換してから連結される。
kがint型、xがdouble型、pがboolean型、sがStringクラスの変数のとき
k = 103; x = 5.789; p = true; s = "kotae" + k + x + p;
を行うと、s は kotae1035.789true になる。
この機能は結果を表示するのにしばしば利用されます。 System.out.println には1つの引数しか書けないので、このような使い方をします。
System.out.println("k=" + k + ", x=" + x + ", p=" + p);
文字列の比較
2つの文字列が等しいかどうかを調べるには equals メソッドを使います。
s = " ... "; t = " ... "; if ( s.equals(t) ) { ... }
等号を使って
if ( s == t ) { ... }
と書くとsとtが同じオブジェクトを参照しているという意味になります。
文字列の長さ
文字列の長さを求めるには length メソッドを使います。
sが文字列またはStringクラスの変数のとき、
s.length()
のように、長さを求めたい文字列の後ろに .length() をつけると その長さ(整数値)が返されます。
s = "日本語の文字列"; i = s.length(); j = "quick brown fox jumps over the lazy dog".length();
これを行うと、iの値は7、jの値は39になる。
配列の大きさは length、文字列の長さは length() です。
理由は
- 配列の大きさは、そのオブジェクトの属性値として記憶されている
- 文字列の長さは、そのオブジェクトに対するメソッドを実行して求める
部分文字列
文字列からその一部分を取り出すには substring メソッドを使います。
substringメソッドも文字列の後ろに .substring(0,3) のような形でつけて使います。 引数を2つとり、1番目は取り出す最初の位置、2番目は取り出す最後の文字の次の位置です。
s = "ABCDEFG"; System.out.println( s.substring(2,5) );
を行うと CDE と表示される。
部分の文字
文字列を構成する1文字を取り出すには indexOf メソッドを使います。
String s; char c; s = "ABCDEFG"; c = s.indexOf(3);
とすると、cには文字Dが入ります。
数値への変換
"123"のような文字列 s をintに変換しint型の変数 i に代入するにはこのように書きます。
i = Integer.parseInt( s );
"1.25"のような文字列 s をdoubleに変換しdouble型の変数 d に代入するにはこのように書きます。
d = Double.parseDouble( s );