Presentation is loading. Please wait.

Presentation is loading. Please wait.

String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔.

Similar presentations


Presentation on theme: "String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔."— Presentation transcript:

1 String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔

2 はじめに 各自の「Java」フォルダの中に、「String」フォルダを作ってください。 手順: 1. 「Tera Term」を起動
  2. 「cd Java」と入力   3. 「mkdir String」と入力   4. 「cd String」と入力

3 1. 文字列の生成(1) Stringとは? →文字列を入れる型。 文字列は「” ”」で囲む。 intやbyteとは違い、大文字で始まる。
  →文字列を入れる型。   文字列は「” ”」で囲む。   intやbyteとは違い、大文字で始まる。   例)String a = "abc";

4 1. 文字列の生成(2) 「Append.java」を実行してみましょう。

5 2. 文字列の比較(1) 数値の場合は「a == b」のように表記し比較するが、文字列の場合はそうはいかない。
そこで比較用のメソッド「equals()」を使う。   例)a.equals(b)     文字列aとbが等しいなら true

6 2. 文字列の比較(2) 「Equal.java」を実行してみましょう。

7 演習①(テキストの演習2) Equal.javaを(equalsを用いて)書き換え、以下のような結果になるEqual2.javaを作りなさい。

8 演習① 解答例 public class Equal2{ public static void main(String argv[]){
演習① 解答例 public class Equal2{ public static void main(String argv[]){ String s1 = "Takuma"; String s2 = "Akito"; String s3 = "Takuma"; String s4 = new String(s1); System.out.println(s1 + "==" + s2 + " : " +(s1 == s2)); System.out.println(s1 + "==" + s1 + " : " +(s1 == s1)); System.out.println(s1 + "==" + s3 + " : " +(s1 == s3)); System.out.println(s1 + "==" + s4 + " : " +s1.equals(s4)); }

9 3. 文字列の操作(1) a,bをStringとしたとき、 a.length() 文字列aの長さを求める。 a.charAt(int i)
   文字列aのi番目の文字を求める。 a.indexOf(String x)    文字列aの最初に文字xが現れる場所を求める。 a.substring(int i, int j)    文字列aのi番目からj番目までの部分文字列を求める。

10 3. 文字列の操作(2) │情│報│メ│デ│ィ│ア│
「情報メディア」という文字列があったとして、これを「substring」で指定したときと「indexOf」で指定したときとでは示している位置が異なる。 a.substring(0, 4)・・・出力結果は「情報メデ」 0→ 1→ 2→ 3→ 4→ 5→ 6→ │情│報│メ│デ│ィ│ア│ ←0 ←1 ←2 ←3 ←4 ←5 a.indexOf(デ)・・・出力結果は「3」

11 演習②(1)(テキストの演習3) 文字列 “259-1292神奈川県平塚市北金目1117” について 1. 何文字あるか数えよ。
2. 3文字目を表示せよ。 3. 郵便番号だけを表示せよ。 4. 県名だけを表示せよ。 5. 県名だけを除いて表示せよ。

12 演習②(2)

13 演習② 解答例 public class Tokai{ public static void main(String argv[]){
演習② 解答例 public class Tokai{ public static void main(String argv[]){ String a = " 神奈川県平塚市北金目1117"; System.out.println(a); System.out.println("文字列の長さ:" + a.length() + "文字"); System.out.println("3文字目:" + a.charAt(2)); System.out.println("郵便番号:" + a.substring(0, 8)); System.out.println("県名:" + a.substring(8, 12)); System.out.println("県名以外:" + a.substring(0, 8) + a.substring(12, 22)); }

14 4. 文字列の走査(1) charAtを使うと文字列を一文字づつ分解することが出来る。 例)s="abc"を
 s.charAt(0) + s.charAt(1) + s.charAt(2)  と書くと“abc” が表示される。

15 4. 文字列の走査(2) 「Forward.java」を実行してみましょう。

16 演習③(テキストの演習4) Forwardを修正し、入力文字を逆順にするReverse.javaを書きなさい。

17 演習③ 解答例 public class Reverse{ public static void main(String argv[]){
演習③ 解答例 public class Reverse{ public static void main(String argv[]){ String s = argv[0]; int i; for(i = s.length()-1; i > -1; --i){ System.out.print(s.charAt(i)); } System.out.println();

18 5. バイト配列 String sからbyteの配列b[]への変換 byte b[] = s.getBytes();
  String s = new String(b); 整数(int a)から文字列への変換   String s = new String(a);   (もしくは, String s = "" + a;) 文字列から整数への変換   int a = Integer.parseInt(s);

19 6. 多次元配列 int x[][] = {{1, 2}, {3, 4}}; これは2行2列の行列を表現している。
x[0][0] = 1, x[0][1] = 2, x[1][0] = 3, x[1][1] = 4 のように初期化される。 x[0]は {1,2} という整数の配列であり、x[1]は{3,4}の配列である。

20 宿題① テキストの宿題3 入力した単語を以下のように表示する「Display.java」を作りなさい。
出力結果例) 実行例) $ java Display kikn kiknkiknkiknkiknkiknkikn kikn kiknkiknkiknkikn kikn kiknkikn kiknkikn kiknkikn kiknkiknkikn kiknkiknkikn

21 宿題②(オリジナル) 任意の文字列を入力し、そこに「moji」という文字列があった場合は「true」を表示し、無かった場合は「false」を表示する「Moji.java」を作りなさい。 実行例) $ java Moji abcdefgmojihij 出力結果例) true

22 宿題③(オリジナル) 下記の配列を小さい順に表示する「Hairetsu.java」を作りなさい。 ただし、必ずfor文とif文を使うこと。
  { 12, 67, 6, 29, 77, 41 } 出力結果例) 6 12 29 41 67 77 実行例) $ java Hairetsu


Download ppt "String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔."

Similar presentations


Ads by Google