画像(logo)

HOME/[JAVA言語 入門]小学生でもわかるJAVA言語 目次/十三日目 「String」!

広告

[JAVA言語 入門 小学生でもわかるJAVA言語]
十三日目 「String」!

広告

↓2017年04月19日発売↓

カラー図解 Javaで始めるプログラミング 知識ゼロからの定番言語「超」入門 (ブルーバックス)

新品価格
¥1,080から
(2017/5/1 13:45時点)

目次へ戻る

String!

今回は文字列を便利に扱う事のできる「String」についてもう少し詳しく見ていきたいと思います。

文字数

/*十三日目 プログラム1*/
class Test{
	public static void main(String args[]){
		String bunsyou1 = "hello world";
		String bunsyou2 = "おはよう";
		String bunsyou3 = "りんごは英語でapple";

		System.out.println("文字数");
		System.out.println(bunsyou1 + "→" + bunsyou1.length());
		System.out.println(bunsyou2 + "→" + bunsyou2.length());
		System.out.println(bunsyou3 + "→" + bunsyou3.length());
	}
}

■実行結果■

画像(jb_13_1)

■説明■

文字数が知りたい時は

bunsyou1.length()

知りたい変数の後ろなどに「.length()」というのをつけます。

ひらがな、漢字、アルファベットの区別なく一文字ずつカウントしてくれます。

実行結果にもあるように「hello world」などは空白の分もカウントするのでそのへんは注意が必要です。

同じか?

/*十三日目 プログラム2*/
import java.util.*;

class Test{
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		String kotae;
		
		System.out.println("英単語テストです!");
		System.out.println("答えを小文字で入力してエンターを押してください!");
		System.out.println("第一問");
		System.out.print("りんごは英語で > ");
		kotae = sc.next();
		if(kotae.equals("apple") == true){
			System.out.println("正解!");
		}
		else{
			System.out.println("不正解!");
		}
	}
}

■実行結果■

画像(jb_13_2)

■説明■

文章同士が同じかどうかを調べるのには

if(kotae.equals("apple") == true)

「.equals("比べる文章")」こちらをお尻につけます。

そういえば、さきほどと似ていますよね。

この「String」だけではなく、他にもこんな感じでお尻に「.」ドットなんとかでいろいろな機能を使う事ができたりするのですが、詳しくは「クラス」というものを学ぶ時に紹介したいと思います。

話を戻しまして先ほどの場合、この結果が同じ時は「true」、異なる場合は「false」になります。

こちらを上手に使えばタイピングゲームなども作れそうですね!

一部を抜き取る

/*十三日目 プログラム3*/
class Test{
	public static void main(String args[]){
		String bunsyou = "hello world";
		String kekka1 = bunsyou.substring(0,3);
		String kekka2 = bunsyou.substring(2,3);
		String kekka3 = bunsyou.substring(4,7);

		System.out.println("kekka1 = " + kekka1);
		System.out.println("kekka2 = " + kekka2);
		System.out.println("kekka3 = " + kekka3);
	}
}

■実行結果■

画像(jb_13_3)

■説明■

一部を抜き取るには

bunsyou.substring(0,3);

「.substring(始点,終点)」こちらを使います。

文章の一番最初の文字は0番目になります。

一文字だけ抜き出したい時は「.substring(1,1)」ではなく「.substring(1,2)」のように選択します。

文章を分ける

/*十三日目 プログラム4*/
class Test{
	public static void main(String args[]){
		String bunsyou = "this,is,a,pen,,,";
		String ary[] = bunsyou.split(",",-1);
		String ary2[] = bunsyou.split(",",0);

		for(int i=0;i<ary.length;i++){
			System.out.println(i + ":" + ary[i]);
		}

		System.out.print("\n");

		for(int i=0;i<ary2.length;i++){
			System.out.println(i + ":" + ary2[i]);
		}
	}
}

■実行結果■

画像(jb_13_4)

■説明■

ある決まった文字で文章を分けたい時には

bunsyou.split(",",-1);

「.split("分ける文字",分け方)」こちらを使います。

今回は「,」コンマで分けてますが、もちろん「分ける文字」を変えれば「/」スラッシュや「:」コロンで分ける事も可能です。(だいたい「,」コンマを使います。)

分けたデータを用意した配列に別々に保存してくれます。

「分け方」は実行結果のように「-1」を指定するとデータが何もないトコロもカウントし、「0」を指定するとデータが途切れたトコロで配列への保存もやめます。

例えば大量に並んだデータいわゆるデータファイルというものからデータを読み込み、それを配列に保存するような時に使われます。

ちなみに何も言わずに使ってしまいましたが配列の要素数を知りたい時は「ary.length」のように「.length」をお尻につけます。

この場合は「.length()」ではなく「.length」と()カッコがつかないトコロに注意です!

文章をくっつける

/*十三日目 プログラム5*/
class Test{
	public static void main(String args[]){
		String str = "「私の名前は";
		String str2 = "田中一郎です!」";
		String str3 = str + str2;
		System.out.println(str3);
	}
}

■実行結果■

画像(jb_13_5)

■説明■

文章同士をくっつけたい時は

String str3 = str + str2;

「+」こちらでくっつけます。

そうです、今まで何度も「System.out.print()」命令で使ってきましたね!

あれをそのまま使えば文章同士をくっつける事ができます。

文章の置き換え

/*十三日目 プログラム6*/
class Test{
	public static void main(String args[]){
		String str = "校長先生、おはようございます!教頭先生、おはようございます!";
		String str2 = str.replaceFirst("おはようございます","こんちには");
		String str3 = str.replaceAll("おはようございます","こんちには");
		System.out.println(str2);
		System.out.println(str3);
	}
}

■実行結果■

画像(jb_13_6)

■説明■

文章のある部分を置き換えるには

str.replaceAll("おはようございます","こんちには");

「.replaceAll("置き換えたい元の文章","置き換える文章");」こちらを使います。

「.replaceFirst()」を使うと最初だけ置き換えて「.replaceAll()」を使うと全部置き換えてくれます。

全てではないですが、よく使いそうな文章の便利技を紹介してみました!

こんな感じで「Java」言語は文章をとても柔軟(じゅうなん)に扱う事ができます。

地味なんですけども事務処理系、いわゆる文書を整理するプログラムなんかを書く時はとても便利に使う事ができます。

気が向いたら使ってみてください!

次回はいよいよ自分で簡単な命令を作っていきます。

次回

最終日 メソッド!

□ページの先頭へ□

□目次へ戻る□

□HOME□

広告

↓2016年06月25日発売↓

新・明解Java入門 (明解シリーズ)

新品価格
¥2,916から
(2017/5/1 13:47時点)

↓2017年04月18日発売↓

Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで

新品価格
¥3,218から
(2017/5/1 13:50時点)

↓2017年05月17日発売↓

新・明解 Javaで学ぶアルゴリズムとデータ構造 (明解シリーズ)

新品価格
¥2,592から
(2017/5/1 13:54時点)

↓2017年04月04日発売↓

Java 第2版 入門編 ゼロからはじめるプログラミング (プログラミング学習シリーズ)

新品価格
¥2,030から
(2017/5/1 13:55時点)