package com.xxx.xxx;
import java.util.Date;
public class demo5 {
/**
* 字符串连接
* @param args
*/
public static void main(String[] args) {
//字符串连接
int a = 33;
float b = 44.5f;
//将 字符串 与 整形 、浮点型 变量 连接 时,会自动调用 toString() 方法,将其转换为字符串 后 参与 连接
System.out.println("我每天花费"+a+"个小时看书,"+b+"个小时上机练习");
//获取 字符串 长度 str.length()
String s1 = "hello";
int size = s1.length();
System.out.println("长度为:"+size);
//字符串查找 从 0 开始 indexOf(String s);
int a1 = s1.indexOf("o");
System.out.println("字符 o 首次出现的位置:"+a1);
int a2 = s1.lastIndexOf("e");
System.out.println("字符 e 最后一次出现的位置:"+a2);
//获取指定索引的字符 str.charAt();
String str = "Hello Word!";
char mychar = str.charAt(6);
System.out.println("字符串 str 中索引位置为 6 的字符为:"+mychar);
//1.1获取子字符串 substring(int brgIndex)
String substr = str.substring(3);
System.out.println("1.1获取子字符串:"+substr);
//1.2获取子字符串 substring(int brgIndex,endIndex)
String substrend = str.substring(0, 3);
System.out.println("1.2获取子字符串:"+substrend);
//去除空格 str.trim() 忽 前导空格 和 尾部空格
String str1 = " good bye ! ";
String strTrim = str1.trim();
System.out.println("源字符串长度:"+str1.length()+"---"+str1+" 去除空格后的长度:"+strTrim.length()+"----"+strTrim);
// 字符串替换 str.replace(char oldChar,cahr newChar) 将 指定的字符串 转换成 新的字符串
String str2 = "adress";
String newString = str2.replace("a", "good");
System.out.println("源字符串:"+str2+" 新字符串:"+newString);
//判断字符串的开始和结尾 返回值为 布尔 str.startsWith(String prefix) endWith(String suffix)
String str3 = "abcdefg";
boolean bool1 = str3.startsWith("a");
boolean bool2 = str3.endsWith("g");
System.out.println(bool1+" "+bool2);
//判断字符串是否相等 str.equals(String other) 区分大小写 str.equalsnoreCase(String other)
String ss1 = new String("abc");
String ss2 = new String("ABc");
System.out.println("equals区分大小写 字符串比较1:"+ss1.equals("abc"));
System.out.println("equals区分大小写 字符串比较2:"+ss1.equals(ss2));
System.out.println(" 不区分大小写字符串比较2:"+ss1.equalsIgnoreCase(ss2));
// 按字典顺序比较两个字符串 str.compareTo(String other)
System.out.println(ss1.compareTo("def"));
//字母大小写转换(数字和非字符不受影响) 转换小写s3.toLowerCase() 转换大写s3.toUpperCase()
String s3 = "aBc";
System.out.println("原来的:"+s3+" 转换为小写"+s3.toLowerCase());
System.out.println("原来的:"+s3+" 转换为大写"+s3.toUpperCase());
//字符串分割 split(String sign)
String s4 = new String("abc,deg,ghi,gki");
String s5arr[] = s4.split(","); //没设定分割次数
for(String aa1 : s5arr ){
System.out.println("【没有设定分割次数】分割前的:"+s4+" 分割后的字符串:"+aa1);
}
String s6arr[] = s4.split(",", 2); //设定次数为 2 次
for(String aa2 : s6arr){
System.out.println("【设定分割次数 2 次】分割前的:"+s4+" 分割后的字符串:"+aa2);
}
//格式化字符串 format() %te %tH %tl 百度常用的日期格式化转换符
Date date = new Date();
String time = String.format("%tc", date);
String form = String.format("%tF", date);
String s_date = String.format("%te", date);
System.out.println("格式化后的字符串:"+s_date);
System.out.println("全部的时间信息:"+time);
System.out.println("年-月-日格式:"+form);
// format() (另外还有 常规类型格式化 %b %d %e...)
String a10 = String.format("%d", 400/2); //十进制
String a11 = String.format("%b", 400/2); //布尔类型
String a12 = String.format("%x", 400/2); //十六进制类型
System.out.println("400/2 十进制类型格式化:"+a10+" 布尔类型类型格式化:"+a11+" 十六进制类型格式化:"+a12);
}
}