Microsoft PowerPoint - prog08.ppt

Similar documents
Microsoft PowerPoint - prog08.ppt

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog04.ppt

文字列操作と正規表現

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

スライド 1

Microsoft PowerPoint - prog08.ppt

JavaプログラミングⅠ

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Microsoft PowerPoint - prog07.ppt

Microsoft PowerPoint ppt

ガイダンス

Microsoft PowerPoint - prog12.ppt

PowerPoint プレゼンテーション

デジタル表現論・第6回

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Java講座

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt

プログラミング基礎I(再)

Java言語 第1回

Javaプログラムの実行手順

メソッドのまとめ

Prog1_6th

PowerPoint プレゼンテーション

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

2

JavaプログラミングⅠ

プログラミング入門1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

JavaプログラミングⅠ

プログラミング入門1

メソッドのまとめ

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

Microsoft PowerPoint - prog04.ppt

基本情報STEP UP演習Java対策

PowerPoint プレゼンテーション

ALG ppt

プログラミング入門1

untitled

JavaプログラミングⅠ

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

デジタル表現論・第4回

スライド 1

Microsoft PowerPoint - prog06.ppt

Prog1_2nd

GEC-Java

Microsoft Word - java a.doc

プログラミングA

Prog2_9th

プログラミング入門1

Microsoft Word - problem3.doc

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

JavaプログラミングⅠ

2

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

PowerPoint プレゼンテーション

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

情報処理Ⅰ

2

ガイダンス

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

JAVA入門

Prog1_10th

JavaプログラミングⅠ

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

プログラミング入門1

ガイダンス

プログラミング入門1

JAVA とテンプレート

JavaプログラミングⅠ

オブジェクト指向プログラミング・同演習 5月21日演習課題

Microsoft PowerPoint - prog10.ppt

GEC-Java

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

Microsoft PowerPoint - prog10.ppt

JavaプログラミングⅠ

Microsoft PowerPoint - prog11.ppt


Microsoft Word - 商業-3

JavaプログラミングⅠ

プログラミング入門1

Prog1_3rd

マークアップ言語

JavaプログラミングⅠ

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

JAVA入門

Transcription:

プログラミング言語 3 第 08 回 (2007 年 11 月 19 日 ) 1

今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/50

今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 19 日分と書いてある部分が 本日の教材です 本日の内容 前回の課題の解答 Java における文字列 3/50

先週の誤植 4/50

誤植 誤植 : インターフェースの説明全般 誤 : 文字定数 正 : 記号定数 5/50

書式 : インターフェースの書き方 interface interface 名 { 記号定数定数の宣言 アブストラクトメソッド interfaceの中では 記号記号定数定数の宣言とアブストラクトメソッドしか書くことができません 6/50

インターフェースの書き方その 2 書式 : interface interface 名 { 記号定数定数の宣言 アブストラクトメソッド 記号定数の宣言は public static final 型名記号定数名 = 初期値 ; として書きますが インターフェース内では 型名記号定数名 = 初期値 ; と省略して書くことができます 7/50

前回の課題の解答 8/50

前回の課題 その 1: 次のような仕様を満たすプログラム Sample06h.java を書きなさい 指定されていない部分は自由に書いて良い インターフェース InterTest07a がある アブストラクトメソッド test07a_method がある このメソッドは double 型の引数を1つ貰い double 型の戻り値を 1つ返す 記号定数 PI2 が宣言されている PI2 の値は 2*Math.PI である クラス Test07a がある このクラスはインターフェース InterTest07a を実装したものである メソッド test07a_method は doulbe 型の引数を1つ貰い double 型の戻り値を 1つ返す 具体的には 貰ったdouble 型の値をPI2 倍した double 型の値を返す クラス main の中では Test07a をクラスとするインスタンス dt07 を生成しなさい System.out.println(dt07.test07a_method(100)); を実行しなさい 9/50

プログラム interface InterTest07a{ double PI2=2*Math.PI; double test07a_method(double data); class Test07a implements InterTest07a{ public double test07a_method(double data){ return PI2*data; public class Sample07e{ public static void void main(string[] args){ Test07a dt07 dt07 = new new Test07a(); System.out.println(dt07.test07a_method(100)); 10/50

インターフェイス Test07aがある プログラム アブストラクトメソッド test07a_method がある インターフェース InterTest07a がある アブストラクトメソッド test07a_method がある double 型の引数引数を 1つ貰い double 型の戻り値を 1つ返す 記号定数 PI2 が宣言されている PI2 の値は 2*Math.PI である interface InterTest07a{ double PI2=2*Math.PI; double test07a_method(double data); double 型の引数を class Test07a implements InterTest07a{ public double double test07a_method(double 型の戻り値 1つ貰う data){ return を返す PI2*data; インターフェイス内は アブストラクトメソッドアブストラクトメソッドと記号定数記号定数のみを宣言できることを思い出しましょう public class Sample07e{ public static void void main(string[] args){ Test07a dt07 dt07 = new new Test07a(); System.out.println(dt07.test07a_method(100)); public を省略省略したものとみなされる インターフェイス内では 上記のように書いた場合 abstruct public ことを思い出しましょう 11/50

プログラム interface InterTest07a{ double PI2=2*Math.PI; double test07a_method(double data); class Test07a implements InterTest07a{ public double test07a_method(double data){ return PI2*data; 記号定数 PI2が宣言されている PI2の値は2*Math.PI インターフェース InterTest07a がある アブストラクトメソッド test07a_method がある double 型の引数を1つ貰い double 型の戻り値を 1つ返す 記号定数 PI2 が宣言宣言されているされている PI2 の値は 2*Math.PI である 通常 記号定数の宣言方法は public static final 型名記号定数名 = 初期値 ; ですが インターフェースインターフェース内では型名記号と省略省略してして書くことがくことができるできることを思い出しましょう public class Sample07e{ public static void void main(string[] args){ Test07a dt07 dt07 = new new Test07a(); System.out.println(dt07.test07a_method(100)); では 記号定数名 = 初期値 ; 12/50

プログラム クラス Test06a がある インターフェイス InterTest0 Test07a を実装実装したもの メソッド test07a_method は 貰った double 型の値を PI2 倍した double 型の値を返す InterTest07aを実装したクラス Test07a interface InterTest07a{ double PI2=2*Math.PI; double test07a_method(double data); class Test07a implements InterTest07a{ public double test07a_method(double data){ return PI2*data; double test07a_method(double data) は public 引数の class Sample07e{ PI2 倍の値を返す public static void void main(string[] args){ Test07a dt07 dt07 = new new Test07a(); インターフェイスを実装したクラスを書くには System.out.println(dt07.test07a_method(100)); class クラス名 implements interface 名 のようにすることを思い出しましょう 13/50

プログラム クラス main の中ではでは Test07a をクラスクラスとするとするインスタンス dt07 を生成生成しなさいしなさい System.out.println(dt07.test07 a_method(100)); を実行実行しなさいしなさい インスタンス dt07 を生成 interface InterTest07a{ double PI2=2*Math.PI; double test07a_method(double data); 実行すると 引数の値のPI2 倍 つまり 3.141592653589793*2*100=628.3185307179587 が出力される class Test07a implements InterTest07a{ public double test07a_method(double data){ return PI2*data; public class Sample07e{ public static void void main(string[] args){ ){ Test07a dt07 dt07 = new new Test07a(); System.out.println(dt07.test07a_method(100)); 14/50

前回の課題 その 2: Sample07c.java をコンパイルして実行しなさい 15/50

Sample07c.java コンソールに 2.718281828459045 public class Sample07c { と表示される { public static void main(string[] args) {{ System.out.println println(math.e); Math.Eは System.out.println(Math.sqrt(20.5)); 自然対数の底 System.out.println(Math.pow(5,3)); System.out.println(Math.log(5)); System.out.println(Math.cos(Math.PI/4)); System.out.println(Math.ceil(20.6)); System.out.println(Math.max(10.2,20.5)); 16/50

Sample07c.java コンソールに 4.527692569068709 public class Sample07c {{ と表示される public static void main(string[] args) {{ System.out.println(Math.E); System.out.println(Math.sqrt(20.5)); System.out.println(Math.pow(5,3)); System.out.println(Math.log(5)); Math.sqrtは平方根を返すメソッド System.out.println(Math.cos(Math.PI/4)); この例では 20.5の平 System.out.println(Math.ceil(20.6)); 方根を返す System.out.println(Math.max(10.2,20.5)); 17/50

Sample07c.java コンソールに 125.0 public class Sample07c {{ と表示される public static void main(string[] args) {{ System.out.println(Math.E); System.out.println(Math.sqrt(20.5)); System.out.println(Math.pow(5,3)); System.out.println(Math.log(5)); System.out.println(Math.cos(Math.PI/4)); Math.pow(a,b) は System.out.println(Math.ceil(20.6)); a b を返すメソッド System.out.println(Math.max(10.2,20.5)); この例では 5 3 を返す 18/50

Sample07c.java コンソールに 1.6094379124341003 public class Sample07c {{ と表示される public static void main(string[] args) {{ System.out.println(Math.E); System.out.println(Math.sqrt(20.5)); System.out.println(Math.pow(5,3)); System.out.println(Math.log(5)); System.out.println(Math.cos(Math.PI/4)); System.out.println(Math.ceil(20.6)); Math.log(a) は System.out.println(Math.max(10.2,20.5)); aの自然対数を返すメソッド この例では log(5) の平方根を返す 19/50

Sample07c.java コンソールに 0.7071067811865476 public class Sample07c {{ と表示される public static void main(string[] args) {{ System.out.println(Math.E); Math.PIは円周率に近いdouble 型の値 System.out.println(Math.sqrt(20.5)); つまり 3.141592653589793 System.out.println(Math.pow(5,3)); それを4で割った値は0.7853981633974483 System.out.println(Math.log(5)); System.out.println(Math.cos(Math.PI/4)); System.out.println(Math.ceil(20.6)); Math.cos(a) System.out.println(Math.max(10.2,20.5)); は aのコサインを返すメソッド この例では 0.7853981633974483のコサインを返す 20/50

Sample07c.java コンソールに 21.0 public class Sample07c {{ と表示される public static void main(string[] args) {{ System.out.println(Math.E); System.out.println(Math.sqrt(20.5)); Math.ceil(a) System.out.println(Math.pow(5,3)); は aの小数点以下切り上げを返すメソッド System.out.println(Math.log(5)); この例では 20.6の小数点以下切り上げを返す System.out.println(Math.cos(Math.PI/4)); System.out.println(Math.ceil(20.6)); System.out.println(Math.max(10.2,20.5)); 21/50

Sample07c.java コンソールに 20.5 public class Sample07c {{ と表示される public static void main(string[] args) {{ System.out.println(Math.E); System.out.println(Math.sqrt(20.5)); Math.max(a,b) System.out.println(Math.pow(5,3)); は aとbの大きいほうの値を返すメソッド System.out.println(Math.log(5)); この例では 10.2と20.5を比べ 大きいほうの値を返す System.out.println(Math.cos(Math.PI/4)); System.out.println(Math.ceil(20.6)); System.out.println(Math.max(10.2,20.5)); 22/50

Java における文字列 23/50

Java における文字列 Java には 文字列型という基本データ型はありません ( ここらへんは C 言語と一緒です ) しかし Java には 次のような 文字列を便利に扱うクラスが あらかじめ準備されています java.lang.string java.lang.stringbuffer パッケージ java.lang に含まれています ここでは これらの基本的な使い方を記述します 詳細は Sun のサイト http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/string.html http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/stringbuffer.html 24/50

Java における文字列 文字列は String クラスや StringBffer クラスのインスタンスを生成して扱います 文字列を保存したり 変更を加えたりするには 1. インスタンスを生成する 2. インスタンスに文字列を保存する 3. メソッドを利用して 文字列を変更するという手順を踏むことになります 25/50

String クラスと StringBuffer クラス String クラスと StringBffer クラスは似ていますが 文字列が不変であるか可変であるかが異なります String クラス 文字列は不変 つまり 文字列の一部分を変更するようなことはできない StringBffer クラス 文字列は可変 つまり 文字列の一部分を変更するようなことができる 26/50

String クラス Java における文字列は クラスとして実現されます String クラスのインスタンスを生成することになりますが 変数のように扱えるようになっています 書式 : 次の 3 つのような方法があります String ss ss = new String("test"); String ss; String ss ss = "test"; どれも ssという名前のインスタンスを生成しています また 1つめと3つめは testという文字列を保存させています String 型の変数 ss のように表現することが多いです 27/50

文字列の代入と連結 String 型の変数に 文字列を代入したい場合 次のようにします インスタンス名 = " 代入したい文字列 "; "; たとえば String 型の変数 ss に 文字列 Test を代入したい場合 ss ss = "Test" のようにします ある 2 つの文字列 "Hello " と "World" を連結して String 型の変数 ss に代入した場合は ss ss = "Hello" + "World"; のように + 記号で繋ぐと 連結されます 28/50

String クラスのメソッド String クラスには 便利なメソッドが沢山あります ここでは その一部を紹介します メソッドですので インスタンス名. メソッド名 ( 引数 ); ); のようにして使用します たとえば String 型のインスタンス ( 変数 )ss があって メソッド length() を使いたいなら ss.length(); のようになります 29/50

String クラスにおける順番 String 型の変数において 文字は 0 番目から数えます たとえば Test Sring という文字列があるなら T e s t S t r i n g 0 番目 1 番目 2 番目 9 番目 10 番目 のように数えます 30/50

String クラスの主なメソッドその 1 戻り値 char int String String boolean 記法 charat(int index) length() substring(int a) substring(int a, int b) equals(object anobject) 意味 index 番目の文字を返します 文字列の長さを返します a 番目から最後までの文字列を返します a 番目から b 番目までの文字列を返します 文字列と指定されたオブジェクトを比較します 31/50

String クラスの主なメソッドその 2 戻り値 int int int int 記法 indexof(int ch) indexof(int ch, int a) indexof(string ss) indexof(string ss, int a) 意味 与えられた文字 ch が最初に出現する場所を返します a 文字目以降で 与えられた文字 ch が最初に出現する場所を返します 与えられた文字列 ss が最初に出現する場所を返します 無い場合は -1 を返します a 文字目以降で 与えられた文字列 ssが最初に出現する場所を返します 無い場合は-1を返します 32/50

String クラスの主なメソッドその 3 戻り値 String String String String String String String 記法 touppercase() tolowercase() valueof(boolean b) valueof(char b) valueof(double b) valueof(int b) valueof(long b) 意味 すべての文字を大文字にした文字列を返します すべての文字を小文字にした文字列を返します 引数の文字列表現を返します 引数の文字列表現を返します 引数の文字列表現を返します 引数の文字列表現を返します 引数の文字列表現を返します 33/50

プログラム例 public class Sample08a{ public static void void main(string[] args){ String ss01 ss01 = new new String("Test String 01"); String ss02 ss02 = "Test String 02"; 02"; String ss03; ss03 ss03 = "Test " + "String 01"; 01"; System.out.println(ss01.charAt(10)); System.out.println(ss01.length()); System.out.println(ss01.substring(5)); System.out.println(ss01.substring(5,7)); System.out.println(ss01.equals("Test String 01")); System.out.println(ss01.equals(ss02)); System.out.println(ss01.equals(ss03)); System.out.println(ss01.toUpperCase()); System.out.println(ss01.toLowerCase()); 34/50

プログラム例 public class Sample08b{ public static void void main(string[] args){ String ss01 ss01 = new new String("Test String 01"); String ss02 ss02 = "Test String 02"; 02"; String ss03; ss03 ss03 = "Test " + "String 01" 01" + ss01; System.out.println(ss03); System.out.println(ss03.indexOf('t')); System.out.println(ss03.indexOf('t',5)); System.out.println(ss03.indexOf("Test")); System.out.println(ss03.indexOf("Test",5)); 35/50

StringBuffer クラス Java における文字列は クラスとして実現されます StringBuffer クラスのインスタンスを生成することになります 書式 : String sb sb = new String("test"); String クラスと異なり new する必要があります 36/50

文字列の代入と連結 StringBuffer 型の変数に 文字列を代入したい場合 次のようにします インスタンス名 = " 代入したい文字列 "; "; StringBuffer 型の変数 sb に 文字列 Test を代入したい場合 sb sb = "Test" のようにします ある 2 つの文字列 "Hello " と "World" を連結して StringBuffer 型の変数 sb に代入した場合は sb sb = "Hello" + "World"; のように + 記号で繋ぐと 連結されます 37/50

StringBuffer クラスのメソッド String クラスには 便利なメソッドが沢山あります ここでは その一部を紹介します メソッドですので インスタンス名. メソッド名 ( 引数 ); ); のようにして使用します たとえば StringBuffer 型のインスタンス ( 変数 )sb があって メソッド length() を使いたいなら sb.length(); のようになります 38/50

StringBuffer クラスにおける順番 StringBuffer 型の変数において 文字は 0 番目から数えます たとえば Test Sring という文字列があるなら T e s t S t r i n g 0 番目 1 番目 2 番目 9 番目 10 番目 のように数えます 39/50

StringBuffer クラスの主なメソッド その 1 戻り値 char int String String String 記法 charat(int index) length() substring(int a) substring(int a, int b) tostring() 意味 index 番目の文字を返します 文字列の長さを返します a 番目から最後までの文字列を返します a 番目から b 番目までの文字列を返します String 型の文字列を返します 40/50

StringBuffer クラスの主なメソッド その 2 戻り値 int int int int 記法 indexof(int ch) indexof(int ch, int a) indexof(string ss) indexof(string ss, int a) 意味 与えられた文字 ch が最初に出現する場所を返します a 文字目以降で 与えられた文字 ch が最初に出現する場所を返します 与えられた文字列 ss が最初に出現する場所を返します 無い場合は -1 を返します a 文字目以降で 与えられた文字列 ssが最初に出現する場所を返します 無い場合は-1を返します 41/50

StringBuffer クラスの主なメソッド その 3 戻り値 void String Bffer 記法 setcharat(int a, char ch) reverse() insert(int a, String ss) replace(int a, int b String ss) deletecharat(int a) 意味 文字列の a 番目の文字を ch に変更します 文字列を逆順にします 文字列 ss を a 番目の直後に挿入します a 番目から b-1 番目の文字を ss に置き換えます a 番目の文字を削除します delete(int a, int b) aからb-1 番目を削除しますこのページのメソッドは インスタンスの持っている文字列を 直に変更します 42/50

StringBuffer クラスの主なメソッド その 4 戻り値 String Bffer String Bffer 記法 append(string ss) append(stringbuffer sb) 意味 文字列の末尾に 文字列 ss を追加します 文字列の末尾に StringBuffer sb を追加します このページのメソッドは インスタンスの持っている文字列を 直に変更します 43/50

プログラム例 public class Sample08c{ public static void void main(string[] args){ StringBuffer sb sb = new new StringBuffer("Test String 01"); System.out.println(sb.charAt(10)); System.out.println(sb.substring(5)); System.out.println(sb.substring(5,7)); System.out.println(sb.indexOf('t')); System.out.println(sb.indexOf('t',5)); System.out.println(sb.indexOf("Test")); System.out.println(sb.indexOf("Test",5)); 44/50

プログラム例 public class Sample08d{ public static void void main(string[] args){ StringBuffer sb sb = new newstringbuffer("test String 01"); System.out.println(sb); sb.setcharat(1,'t'); System.out.println(sb); sb.insert(2,"aaaa"); System.out.println(sb); sb.replace(2,4,"bbbb"); System.out.println(sb); sb.deletecharat(3); System.out.println(sb); sb.delete(3,5); System.out.println(sb); sb.reverse(); System.out.println(sb); 45/50

変換 String クラスのみにあるメソッドや StringBffer クラスのみにあるメソッドがありました touppercase や tolowercase は String クラスにしか無い setcharat や append は StringBffer クラスにしか無い StringBffer クラスのインスタンスに対しては StringBuffer sb = new StringBuffer("Test01"); sb = "Test02"; のような形では代入できない よって + で連結もできない String クラスのインスタンスと StringBffer クラスのインスタンスの間で 文字列をやり取りしたい場合があります 46/50

変換方法 String クラスのインスタンス ss と StringBffer クラスのインスタンス sb があった場合 StringBuffer から String へ sb sb = new StringBuffer(ss); String から StringBuffer へ ss ss = new String(sb); ss ss = "" "" + sb; ss ss = sb.tostring(); 47/50

プログラム例 public class Sample08e{ public static void void main(string[] args){ String ss ss = new new String("Test"); StringBuffer sb sb = new newstringbuffer("buffer"); System.out.println("ss: "+ss); System.out.println("sb: "+sb); sb.append(" Test"); System.out.println("sb:" + sb); sb); ss ss = new new String(sb); System.out.println("ss:" + ss); ss); ss ss = "Abcd" + ss; ss; System.out.println("ss:" + ss); ss); sb sb = new new StringBuffer(ss); System.out.println("sb:" + sb); sb); sb.reverse(); System.out.println("sb:" + sb); sb); 48/50