JAVA文字列調査 文字列検索 文字列切り出し StringBuilder Threadクラス

##文字列調査
■Test19.java 文字列調査(例)

```java
public class Test19 {
	public static void main(String[] args) {
		String s1 = "スッキリJava";
		String s2 = "Java";
		String s3 = "java";
		if (s2.equals(s3)) {
			System.out.println("s2とs3は等しい");
		}
		if (s2.equalsIgnoreCase(s3)) {
			System.out.println("s2とs3はケースを区別しなければ等しい");
		}
		System.out.println("s1の長さは" + s1.length() + "です");
		if (s1.isEmpty()) {
			System.out.println("s1は空文字です");
		}
	}

}
```

■実行結果
s2とs3はケースを区別しなければ等しい
s1の長さは8です

##文字列を検索する
■Test19.java 文字列を検索する(例)

```java

public class Test19 {
	public static void main(String[] args) {
		String s1 = "Java and JavaScript";
		String s2 = "JavaScript and Java and";
		String s3 = "and JavaScript and Java";
		String s4 = "Java Happy End";
		if (s1.contains("Java")) {
			System.out.println("文字列s1は、Javaを含んでいます");
		}
		if (s1.endsWith("JAVA")) {
			System.out.println("文字列s1は、Javaが末尾にあります");
		}
		if (s3.endsWith("Java")) {
			System.out.println("文字列s3は、Javaが末尾にあります");
		}
		System.out.println("文字列s1で最初にJavaが登場する位置は" + s1.indexOf("Java"));
		System.out.println("文字列s2で最初にandが登場する位置は" + s2.indexOf("and"));
		System.out.println("文字列s1で最後にJavaが登場する位置は" + s1.lastIndexOf("Java"));
		System.out.println("文字列s1で最後にandが登場する位置は" + s1.lastIndexOf("and"));
		System.out.println("文字列s2で最後にJavaが登場する位置は" + s2.lastIndexOf("Java"));
		System.out.println("文字列s3で最後にandが登場する位置は" + s3.lastIndexOf("and"));
		System.out.println("文字列s4で最後にJavaが登場する位置は" + s4.lastIndexOf("Java"));
		System.out.println("文字列s4で最後にJavaが登場する位置は" + s4.lastIndexOf("Happy"));
	}
}
```
##文字列を検索する
■Test19.java 文字列を検索する(例) 実行結果
文字列s1は、Javaを含んでいます
文字列s3は、Javaが末尾にあります
文字列s1で最初にJavaが登場する位置は0
文字列s2で最初にandが登場する位置は11
文字列s1で最後にJavaが登場する位置は9
文字列s1で最後にandが登場する位置は5
文字列s2で最後にJavaが登場する位置は15
文字列s3で最後にandが登場する位置は15
文字列s4で最後にJavaが登場する位置は0
文字列s4で最後にHappyが登場する位置は5

■解説 lastIndexOf
![testlastindexof.png](https://qiita-image-store.s3.amazonaws.com/0/95187/db380787-d165-8290-7baf-55bc0cfec25a.png)

[参考にしたページ] (http://www.javaroad.jp/java_character3.htm)
##文字列切り出し
■Test20.java 文字列切り出し(例)

```java
public class Test20 {
	public static void main(String[] args) {
		String s1 = "Java programming";
		String s2 = "Hello World";
		String s3 = "JAVAの世界へようこそ";
		String s4 = "HELLO JAVA WORLD";
		String s5 = " HELLO JAVA ";
		System.out.println("文字列s1の3文字目以降は" + s1.substring(3));
		System.out.println("文字列s1の3～8文字目は" + s1.substring(3, 8));
		System.out.println("文字列の2～5文字目は" + s2.substring(2, 5));
		System.out.println("文字列の2～7文字目は" + s2.substring(2, 7));
		System.out.println("4番目の文字は" + s3.charAt(4));
		System.out.println(s3.toLowerCase());
		System.out.println(s4.toLowerCase());
		System.out.println(s2.toUpperCase());
		System.out.println("空白ありの状態→" + s5);
		System.out.println("空白を除去した→" + s5.trim());
		System.out.println("置き換えた→" + s5.replace("HELLO", "Programming"));

	}

}
```

■実行結果
文字列s1の3文字目以降はa programming
文字列s1の3～8文字目はa pro
文字列の2～5文字目はllo
文字列の2～7文字目はllo W
4番目の文字はの
javaの世界へようこそ
hello java world
HELLO WORLD
空白ありの状態→ HELLO JAVA 
空白を除去した→HELLO JAVA
置き換えた→ Programming JAVA 
##StringBuilder
■Test21.java StringBuilder

```java

public class Test21 {
	public static void main(String[] args) {
		StringBuilder sb = new StringBuilder();
		sb.append("abc");
		sb.append(" ");
		sb.append("defg");
		sb.append(" hij ");
		System.out.println(new String(sb));
		// String s = sb.toString();
	}
}
```

■Test21.java StringBuilder 実行結果
abc defg hij 

■Test21.java StringBuilder(例②)

```java
public class Test21 {
	public static void main(String[] args) {
		StringBuilder sb = new StringBuilder();
			sb.append("Java");
		String s = sb.toString();
		System.out.println(s);
	}

}
```

■StringBuilder(例②) 実行結果
Java

■Test21.java StringBuilder(例③)

```java
public class Test21 {
	public static void main(String[] args) {
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < 1000; i++) {
			sb.append("Java");
		}
		String s = sb.toString();
		System.out.println(s);
	}

}
```

■Test21.java StringBuilder(例③) 実行結果
JavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJavaJava


##Threadクラス

```java
import java.util.Scanner;

public class Test22 {
	public static void main(String[] args) {
		System.out.println("何か入力してください");
		new Scanner(System.in).nextLine();
		for (int i = 0; i < 10; i++) {
			System.out.println(i);
		}
		System.out.println("Please type any words");
		new Scanner(System.in).nextLine();
		while (true) {
			System.out.println("JAVA");
			break;
		}
	}

}
```

■実行結果
何か入力してください
↓入力の後に表示される
a
0
1
2
3
4
5
6
7
8
9
↓入力の後に表示される
Please type any words
↓入力の後に表示される
JAVA