文字列

文字列はオブジェクト

javaの基本データ型には文字列がありませんでした。文字列は基本データでなく、オブジェクトなのです。しかし基本データのようにもあつかえます。javaの裏側を知らなければ,違いは変数宣言の時に使う型の名前が int double などが小文字で始まるのに対して文字列は大文字で始まる String であることぐらいです。次のように使います。

String namae;
namae = "abc";

これを1行で書くこともできます。

String namae = "abc";

文字列の連結

文字列に *,/,- の演算をすることはできませんが,+ は連結になります。

String s,t,u;      // 宣言します
s = "abc";       // 代入します
t = "def";
u = s + t;       // 連結します
System.out.println( u );    // 表示します。abcdef となります。

代入しないで直接表示することも可能です。

System.out.println( s + t );    // おなじく,abcdef となります。

数字の連結

文字列が数字の場合も文字列である限り足し算にはならず,連結です。

System.out.println( "23" + "45" );    // 表示は 2345 となります。

文字列と数値の連結

文字列と数値を + で結ぶと数値を文字列に変換して連結します。

System.out.println( "a = " + 100 );    // 表示は a = 100 となります。

これを使えば,

 System.out.print( "30 × 5 = " );
 System.out.println( 30 * 5 );

 System.out.println( "30 × 5 = " + 30 * 5 );

と書くことができます。表示は次のようになります。

30 × 5 = 150

ただし,次の例はそのままではだめです。

 System.out.println( "30 + 5 = " + 30 + 5 );

これは,

30 + 5 = 305

と表示されてしまいます。

ただしく表示させるには,

 System.out.println( "30 + 5 = " + (30 + 5) );

とする必要があります。これは演算の順序が * と + では * が先に行われ,おなじ + なら左から順に行われるからです。

もちろん,文字列や数値が変数に入っていてもおなじです。

 String enshuu ="円周の長さは ";
 double pai    = 3.14;
 double hankei = 4.5;
 System.out.println( enshuu + 2*hankei*pai );

これで表示は次のようになります。

円周の長さは 28.26

課題 ファイル名 Renketsu.java

円周率を3.14として、半径2.5, 3.5, 4.5 の円の面積を次のように表示するプログラムを作れ。 「文字列と数値の連結」で解説した方法のどれかを使うこと。面積はπr2

半径 2.5 面積は 19.625
半径 3.5 面積は 38.465
半径 4.5 面積は 63.585

ファイル名 Renketsu.java

変数名は任意ですが、半径と円周率は浮動小数のものにする必要があります。double を使ってください。

同じ名前の変数宣言をするとエラーになります。半径については次のようにするとよいでしょう。

double pai = 3.14;
double hankei;
hankei = 2.5;
// 2.5 の時の処理
//  ・・この部分は1つ作ればコピーできる
hankei = 3.5;
// 3.5 の時の処理
//  ・・2.5と同じだが、hankeiが3.5なので結果が異なるというようにする
hankei = 4.5;
// 4.5 の時の処理
//  ・・2.5と同じだが、hankeiが4.5なので結果が異なるというようにする
もくじ

聖愛高等学校
http://www.seiai.ed.jp/
Last Modified