package com.zking.test;
public class StringTest {
public static void main(String[] args) {
/**
* JavaAPI-02 String类
*
* 打开API文档 (了解String类处于哪个包 父类是谁 有什么作用) 1.String类是处于lang包,无需导包
* 2.String类父类是Object,同时String也是一个常量类,不能被继承
* 3.String它是一种引用类型(所有的类都是引用类型,而且类的首字母都是大写的) 4.String可以用来定义字符串,其本质就是一个字符数组
* 5.String一旦定义长度不可更改,一旦更改,字符串存储的内存地址就会发生改变。 String str = "章"; str+="游";
* 这里会出现2个不同的内存地址 6.String定义字符串的,那么定义方式有哪些? (1)直接定义 String str = "xxx";
* (2)可以通过String类的构造函数来定义字符串
*
*
*/
// String name1 = "阳文广芜湖1111111111111111111";
// String name2 = new String("阳文广");
//
// //1.获取字符串的长度 length()
// System.out.println(name1.length());
//
// //------------------------------------------------
//// (1) 转换功能
//// String定义的字符串其本质就是一个字符串数组
// char[] chs = {'我','爱','你'};
// //可以通过String类提供的构造函数 自动将一个字符串数组转换成字符串
// String str = new String(chs);
// System.out.println(str);//字符串
//
//// 将一个字符串转换成字符数组
// String str2 = "唐烨";
//// toCharArray将一个字符串转换成字符数组
// char[] charArray = str2.toCharArray();
// for (char c : charArray) {
// System.out.println(c);
// }
//
//// 其实我们的字节数组也是可以自动转成字符串的。
//// 通过构造函数实现
//// 48--0 65--A 97--a
// byte[] bytes = {67,98,99,100};
// String str3 = new String(bytes);
// System.out.println(str3);
//
// //getBytes将字符串转成字节数组
// String str4 = "hello";
// byte[] bytes2 = str4.getBytes();
// for (int i = 0; i < bytes2.length; i++) {
// System.out.println((char)bytes2[i]);
// }
//
//
// // new String(字节数组|字符数组)
// //toCharArray 转字符数组
// //getBytes 转字节数组
//
//
// //完成oop中模拟注册
//
// //账户必须是6-12为 密码必须是6位 你才能进行正确的注册
// String username = "admin";
// String password = "666666";
// if(username.length() >=6 && username.length() <=12) {
// if(password.length() == 6) {
// System.out.println("注册成功");
// }else {
// System.out.println("密码不符合要求");
// }
// }else {
// System.out.println("账户不符合要求(6-12位)");
// }
// charAt 根据下标查找指定字符
// String str = "my name is zz";
// System.out.println(str.charAt(3));
// 统计一个字符串中a的出现次数
// String str = "abcayya";
// //字符串其本质就是字符数组
// int count= 0;
// for (int i = 0; i < str.length(); i++) {
// if(str.charAt(i) == 'a') {
// count++;
// }
// }
// System.out.println("count = "+count);
// compareTo 比较(比较字符串的大小)
// 每个字符串的首字母开始比较 使用每个字符的ASCII值比较
// 相同就往后比
// String str1 = "aa";// 97
// String str2 = "ab";// 98
// // 如果第一个字符串大于第二个字符串 返回正数(两者之差)
// // 反之 返回负数(两者之差)
// // 如果相等 返回0
// System.out.println(str1.compareTo(str2));
//
// //比较:邓言康 邓诗龙的大小
// String name1 = "邓言康";
// String name2 = "邓诗龙";
// System.out.println(name1.compareTo(name2));
//
//
//// concat 连接 (字符串的拼接) 和+一致
// String s1 = "yangwenguang";
// String s2 = "guihua";
// System.out.println(s1+s2);
// System.out.println(s1.concat(s2));
//
//// contains 是否包含 true false
// String str = "xiewenjianxihuanshuine?";
// System.out.println(str.contains("xiewenjian"));
//
//// endWith() 判断字符串的结尾是否以指定的字符结尾
//// 判断一个文件的扩展名是否以.java结尾
// String fileName = "helloWorld.java";
// if(fileName.endsWith(".java")) {
// System.out.println("YES");
// }
//
//// startsWith
// if(fileName.startsWith("h")) {
// System.out.println("YES");
// }
// indexOf 求下标(索引)
// String str = "唐铨肖鹏伟套你猴子";
// //提供字符在目标字符串中不存在 返回-1
// System.out.println(str.indexOf('s'));//-1
//
//// 验证邮箱格式
//// @ . 123456@qq.com
//// zkingzz@sina.cn
// String email = "123456@qq.com";
// if(email.indexOf('@')!=-1 &&
// email.indexOf('.')!=-1 &&
// email.indexOf('@') <email.indexOf('.')) {
// System.out.println("OK");
// }
// String str = "唐铨肖鹏伟套你猴子";
//// 查找唐铨的下标
// System.out.println(str.indexOf("唐铨"));
// 根据指定的位置查找字符
// String str = "ashfkjsahkja";
// //从下标为3的位置处开始查找a出现的位置下标
// System.out.println(str.indexOf('a', 3));
// lastIndexOf()获取指定字符串在目标字符串中最后一次出现的位置
// String str = "ashfkjsahkja";
// System.out.println(str.lastIndexOf('a'));
// 替换 replace
// String str = "helhloh";
// System.out.println(str.replace("h", "a"));
// split 分割(提供一个目标字符串,按照特定的规则将该字符串分割成一个字符串数组)
// String names = "糖业,唐烨,糖烨";
// String names2 = "a,b,c,d,e";
// String[] split = names2.split(",");
// for (String string : split) {
// System.out.println(string);
// }
// 题目:String str = "asd,12,sdf3,fsgf5";
// 截取 substring
// String str = "alhfkjsahf";
// //hfk
// System.out.println(str.substring(2, 5));
// 转换大小写的 toUpperCase toLowerCase
// String str = "alhfkSJDFjsahf";
// System.out.println(str.toLowerCase());
// System.out.println(str.toUpperCase());
// valueOf方法
// 将int转成String
System.out.println(String.valueOf(123));
String str = "123";
System.out.println(Integer.valueOf("123"));
// Integer.parseInt();
// trim 去除空格
System.out.println(" akashd ".length());
System.out.println(" akashd ".trim().length());
/**
* 总结:
* length 长度
* substring 截取
* trim 空格
* compareTo 比较
* split 分割
* replace 替换
* indexOf 下标
* lastIndexOf 下标(最后)
* toLowerCase 小写
* toUpperCase 大小
* concat 拼接
* contains 包含
* valueOf 转换
* toCharArray 转字符数组
* getBytes 转字节数组
* startsWith 以什么开头
* endsWith 以什么结尾
* charAt 根据下标求字符
*
*/
// StringBuffer|StringBuilder
}
}