public class String_main { public static void main(String[] args) { // String类常用方法 String str = "Hello Word!";// charAt()截取一个字符。 System.out.println(str.charAt(0)); System.out.println("----------------");// getchars()截取多个字符并由其他字符串接收。 char[] arr_char = new char[5]; str.getChars(0, 5, arr_char, 0);// 从下标0开始截取,到5结束。将截取到的内容储存到数组arr中,从第0位开始存 for (char c : arr_char) { System.out.println(c); } System.out.println("----------------");// getBytes()将字符串变成一个byte数组。 byte[] arr_byte = str.getBytes(); // 内容以ASCII码的形式储存 for (byte b : arr_byte) { System.out.println((char) b); } System.out.println("----------------");// toCharArray()将字符串变成一个字符数组。 char[] arr_charArray = str.toCharArray(); for (char c : arr_charArray) { System.out.println(c); } System.out.println("----------------");// equals()和equalsIgnoreCase()比较两个字符串是否相等,前者区分大小写,后者不区分。 String str2 = "hello word!"; System.out.println(str.equals(str2));// 区分大小写不相等,返回false System.out.println(str.equalsIgnoreCase(str2));// 不区分大小写,返回true System.out.println("----------------");// startsWith()和endsWith()判断字符串是不是以特定的字符开头或结束。 System.out.println(str.startsWith("H")); System.out.println(str.endsWith("!")); System.out.println("----------------");// toUpperCase()和toLowerCase()将字符串转换为大写或小写。 System.out.println("转换为小写:" + str.toLowerCase());// 转换为小写 System.out.println("转换为大写:" + str.toUpperCase());// 转换为大写 System.out.println("----------------");// concat() 连接两个字符串。 String s1 = "攻城狮"; String s2 = "VLOG"; System.out.println(s1.concat(s2)); System.out.println("----------------");// trim()去掉起始和结束的空格。 String s3 = " 攻城狮VLOG "; System.out.println(s3.trim()); System.out.println("----------------");// substring()截取字符串。 System.out.println(str.substring(0, 5)); System.out.println("----------------");// indexOf()和lastIndexOf()前者是查找字符或字符串第一次出现的地方,后者是查找字符或字符串最后一次出现的地方。 System.out.println("o第一次出现:" + str.indexOf("o"));// 如果字符串中不包含这个字符返回-1, // 可以利用这个方法判断字符串中是否存在某一个字符 System.out.println("o最后一次出现:" + str.lastIndexOf("o"));// 如果字符串中不包含这个字符返回-1 System.out.println("----------------");// compareTo()和compareToIgnoreCase()按字典顺序比较两个字符串的大小,前者区分大小写,后者不区分。 String a = "Hello Word"; String b = "hello word"; System.out.println(a.compareTo(b)); System.out.println(a.compareToIgnoreCase(b)); // 输出的结果第一条为-32,第二条为0,两个字符串在字典顺序中大小相同,返回0。 System.out.println("----------------");// replace() 替换。 String b1 = "你好"; System.out.println(str.replace(str, b1)); System.out.println(str.replace(str, "HELLO WORD")); System.out.println(b1.replace("你", "大家")); System.out.println("----------------");// split() 返回是一个数组。 // 假如以空格作为切割符号 String s = "我们 都是 中国人!"; String[] strs = s.split(" "); for (String ss : strs) { System.out.println(ss); } }}
例题:
1、问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入格式
仅有一个数:N ≤ 26。
输出格式
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
ABACABA
解题思路:
利用循环和强行数据转换,拼接字符串
import java.util.Scanner;public class String_main_text1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); String str = ""; for (int i = 0; i < n; i++) { str = str + (char) ('A' + i) + str; } System.out.println(str); scanner.close(); }}
2、对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
解题思路:
利用循环嵌套,每一层循环都不大于2,进行拼接字符串
public class String_main_text2 { public static void main(String[] args) { for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { for (int j2 = 0; j2 < 2; j2++) { for (int k = 0; k < 2; k++) { for (int k2 = 0; k2 < 2; k2++) { System.out.println("" + i + j + j2 + k + k2); } } } } } }}