/*
* 面试题:
* A:字符串一旦初始化就不可以被改变
* 注意:这里指的是字符串在常量池里面的值不能发生改变。而不是说字符串的引用不能变。
*
* B:String s1 = new String("abc");String s2 = "abc";有区别吗?
* 有。
* 第一种方式,其实在内存中有两个对象存在。
* 第二种方式,在内存中只有一个对象存在。
public class StringTest {
public static void main(String[] args) {
String s = "hello";
s += "world";
System.out.println(s); // helloworld
}
}
*/
//import java.util.Scanner;
public class StringTest {
public static void main(String[] args) {
// 构造方法
// String()
// 初始化一个新创建的 String 对象,使其表示一个空字符序列。
// String s = new String("abc");
// System.out.println(s);
// System.out.println("s:length=" + s.length());
// System.out.println("------------------------");
// String(byte[] bytes)//打印byte数组,会把byte转成ASCLL码对应的字符
// 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
// byte[] b = { 65, 66, 67, 68, 69 };
// String s1 = new String(b);
// System.out.println(s1);
// System.out.println("s1:length=" + s1.length());
// System.out.println("------------------------");
// String(byte[] bytes, int index, int length)
// String s2 = new String(b, 1, 3); // 提取从第一个角标开始之后的一共三个数
// System.out.println(s2);
// System.out.println("s2:length=" + s2.length());
// System.out.println("------------------------");
// String(char[] value)
// char[] ch = { 97, 98, 99, 100 };// 打印字符数组,会自动打印ASCLL码表对应的字符
// String s3 = new String(ch); // 提取从第一个角标开始之后的一共三个数
// System.out.println(s3);
// System.out.println("s2:length=" + s3.length());
// System.out.println("------------------------");
// 方法
// 判断功能:
// boolean equals(Object obj):判断字符串的内容是否相同,区分大小写。
// boolean equalsIgnoreCase(String str):判断字符串的内容是否相同,不区分大小写。
// boolean contains(String str):判断字符串对象是否包含给定的字符串。
// boolean startsWith(String str):判断字符串对象是否以给定的字符串开始。
// boolean endsWith(String str):判断字符串对象是否以给定的字符串结束。
// boolean isEmpty():判断字符串对象是否为空。数据是否为空。
// 字符串的获取功能:
// int length():获取字符串的长度
// char charAt(int index):返回字符串中给定索引处的字符
// int indexOf(int ch):返回指定字符在此字符串中第一次出现的索引
// int indexOf(String str):返回指定字符串在此字符串中第一次出现的索引
// int indexOf(int ch,int fromIndex):返回在此字符串中第一次出现指定字符的索引,从指定的索引开始搜索。
// int indexOf(String str,int
// fromIndex):返回在此字符串中第一次出现指定字符串的索引,从指定的索引开始搜索。
// String substring(int start):截取字符串。返回从指定位置开始截取后的字符串。
// String substring(int start,int end)截取字符串。返回从指定位置开始到指定位置结束截取后的字符串。
// 转换功能:
// byte[] getBytes():把字符串转换成字节数组。
// char[] toCharArray():把字符串转换成字符数组。
// static String copyValueOf(char[] chs):把字符数组转换成字符串。
// static String valueOf(char[] chs):把字符数组转换成字符串。
// static String valueOf(int i)基本类型:把int(基本类型)转换成字符串。
// String toLowerCase():把字符串变成小写
// String toUpperCase():把字符串变成大写
// String concat(String str):拼接字符串。
// 替换功能
// String replace(char oldChar,char newChar):用新的字符去替换指定的旧字符
// String replace(String oldString,String newString):用新的字符串去替换指定的旧字符串
//
// 切割功能
// String[] split(String regex)
//
// 去除字符串两端空格
// String trim()
//
// 按字典顺序比较两个字符串
// int compareTo(String str)
String one = "key";
String two = "key";
System.out.println(one.equals(two));
System.out.println("------------------------");
System.out.println(one.equalsIgnoreCase("key"));
System.out.println("------------------------");
System.out.println(one.contains("key"));
System.out.println("------------------------");
System.out.println(one.startsWith("k"));
System.out.println("------------------------");
System.out.println(one.endsWith("y"));
System.out.println("------------------------");
System.out.println(one.endsWith("ey"));
System.out.println("------------------------");
System.out.println(one.isEmpty());
System.out.println("------------------------");
// String User = "admin";
// String Pass = "admin";
// String s = "HelloWorld";
// String str = "hanbasdnbafllgnbahjnbakqqqqlnbaxnbai";
// String regex = "nba";
//
// // 功能
//
// int count2 = getCount2(str, regex);
// System.out.println("一共出现:" + count2 + "次");
}
// String s1="HelloWorld123";
// 用户键盘录入
// for (int x = 0; x < 3; x++) {
// Scanner sc = new Scanner(System.in);
// System.out.println("please input UserName:");
// String inName = sc.nextLine();
// System.out.println("please input PassWord:");
// String in = sc.nextLine();
// if (User.equals(inName) && Pass.equals(in)) {//字符串比较
// System.out.println("Welcome!");
// break;
// } else if (x == 2) {
// System.out.println("You can enter today!");
// System.exit(0);
// } else {
// System.out.println("Error:Remain " + (2 - x) + " times");
// }
// }
// 遍历字符串
// for (int x = 0; x < s.length(); x++) {
// char ch = s.charAt(x);// 返回指定索引处的 char 值.
// System.out.println(ch);
// }
// 统计字符串中大写,小写,数字字符出现的次数
// int bigCount=0;
// int smallCount=0;
// int number=0;
// for(int x=0;x<s1.length();x++){
// char ch=s1.charAt(x);
// if(ch>='A'&&ch<'Z'){
// bigCount++;
// }
// if(ch>='a'&&ch<'z'){
// smallCount++;
// }
// if(ch>='0'&&ch<'9'){
// number++;
// }
// }
// System.out.println("大写:"+bigCount);
// System.out.println("小写:"+smallCount);
// System.out.println("数字:"+number);
// // 把字符串的首字母大写,其他小写 //substring 截取 toUpperCase 转大写 concat 拼接 toLoweCase
// 转小写
// String news = s.substring(0,
// 1).toUpperCase().concat(s.substring(1).toLowerCase());
// System.out.println(news);
// 大串中截取小串
// public static int getCount2(String maxString, String minString) {
// // 定义统计变量
// int count = 0;
// // 在大串中查找小串一次
// int index = 0;
// // 如果返回值不是-1,说明小串在大串中是存在的。
// // 判断
// while ((index = maxString.indexOf(minString)) != -1) {
// // 统计变量++
// count++;
// // 把查找过的数据给截取掉,重新赋值给大串
// maxString = maxString.substring(index + minString.length());
// }
// return count;
// }
//
}
|
|