javaSE的学习week09

1. 字符串的转换功能

package cn.hncu_01;
/*
 * 	byte[] getBytes():把一个字符串转成byte数组
 * 	char[] toCharArray():把一个字符串转成char数组
 * 	static String valueOf(char[] chs):
 * 		valueOf方法能把任何数据类型都转换成String(重点)
 * 	static String valueOf(int i)
 * 	String toLowerCase():把一个字符串转成小写
 * 	String toUpperCase():把一个字符串转成大写
 * 	String concat(String str):字符串的拼接,等价于"+"
 */
public class Demo {
	public static void main(String[] args) {
		String s = "helloworld";
		//遍历字符串,方法1
		for(int i=0;i<s.length();i++){
			System.out.println(s.charAt(i));
		}
		System.out.println("-----------------");
		//遍历字符串,方法2
		byte[] bys = s.getBytes();
		for(int i=0;i<bys.length;i++){
			System.out.println( (char)bys[i] );
		}
		System.out.println("-----------------");
		//遍历字符串,方法3
		char[] chs = s.toCharArray();
		for(int i=0;i<chs.length;i++){
			System.out.println(chs[i]);
		}
		System.out.println("-----------------");
		//System.out.println(chs);
		System.out.println(String.valueOf(chs));
		System.out.println(s.toUpperCase());
		System.out.println("-----------------");
		String s2 = "1234";
		System.out.println(s.concat(s2));
		System.out.println(s+s2);
	}
}
package cn.hncu_01;
/*
 * 把一个字符串的首字母转成大写,其余为小写。
 * 
 * 分析:
 * 	(1) 定义一个字符串
 * 	(2) 获取第一个字母
 * 	(3) 获取剩余字母(第一个字母除外)
 * 	(4) 把(2)转成大写字母
 * 	(5) 把(3)转成小写字母
 * 	(6) 拼接(4)和(5)
 */
public class Demo2 {
	public static void main(String[] args) {
		//(1) 定义一个字符串
		String s = "sdfaSDDF23d";
		
		//(2) 获取第一个字母
		String s2 = s.substring(0,1);
		
		//(3) 获取剩余字母(第一个字母除外)
		String s3 = s.substring(1);
		
		//(4) 把(2)转成大写字母
		String s4 = s2.toUpperCase();
		
		//(5)把(3)转成小写字母
		String s5 = s3.toLowerCase();
		
		//(6) 拼接(4)和(5)
		String res = s4+s5;
		
		System.out.println(res);
	}
}

2. 其他功能

package cn.hncu_01;
/*
 * 	替换功能
 * 	String replace(char old,char new)
 * 	String replace(String old,String new)
 * 	去除字符串两空格	
 * 	String trim()
 * 	按字典顺序比较两个字符串  
 * 	int compareTo(String str)
 * 	int compareToIgnoreCase(String str) 

 */
public class Demo3 {
	public static void main(String[] args) {
		System.out.println("helloworld".replace("llo", "54321"));
		String s = "    hfdhf  jijj      ";
		System.out.println(s.trim());
		String s2 = "aaa";
		String s3 ="a123";
		System.out.println(s2.compareTo(s3));
				
	}
}
package cn.hncu_01;

import java.util.Scanner;

/*
 把数组中的数据按照指定个格式拼接成一个字符串
举例:int[] arr = {1,2,3};	输出结果:[1, 2, 3] 

字符串反转
举例:键盘录入”abc”		输出结果:”cba”

统计大串中小串出现的次数
举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出现了5次

 */
public class Demo4 {
	public static void main(String[] args) {
		//1. 键盘录入一个字符串
		System.out.println("请输入一个字符串");
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		
		// 2. 把字符串转成字符数组
		char[] chs = s.toCharArray();
		
		//3. 逆序拼接
		String res = "";
		for(int i=chs.length-1;i>=0;i--){
			res = res + chs[i];
		}
		
		//4. 输出结果
		System.out.println(res);
	}
}

4. StringBuffer

package cn.hncu_02;
/*
 * StringBuffer 
 * 	线程安全的可变字符序列。
 * 
 * 结论:什么时候用String?什么时候用StringBuffer?
 * 		字符串拼接多的时候用StringBuffer,其他时候用String
 * 		
 * 
 * StringBuilder 不安全,效率高
 * 	
 * 安全--同步--效率低
 * 不安全 -- 异步 -- 效率高
 * 
 * 安全和效率的问题永远是困扰我们的问题.
 * 安全:银行,医院
 * 效率:新闻网站,论坛
 * 
 * StringBuffer和String的区别?
 * 	前者长度和内容可变,后者不可变.
 * 	使用前者做字符串拼接时,浪费的资源少
 * 
 * 	public StringBuffer():无参构造 .默认容量是16
 * 	public StringBuffer(int capacity):指定容量的无参构造方法.
 * 		一般不用.StringBuffer底层实现了空间的自动增长.
 * 	public StringBuffer(String str):把String转成StringBuffer
 */
public class Demo {
	public static void main(String[] args) {
		String s ="aa";
		//StringBuffer sb = "bb";
		StringBuffer sb1 = new StringBuffer();
		System.out.println(sb1);
		
		StringBuffer sb2 = new StringBuffer(s);
		System.out.println(sb2);
	}
}
package cn.hncu_02;
/*
 * 添加功能
 * public StringBuffer append(String str):添加一个字符串
 * public StringBuffer insert(int offset,String str):在指定位置插入一个字符串
 * 删除功能
 * public StringBuffer deleteCharAt(int index)
 * public StringBuffer delete(int start,int end)
 * 替换功能
 * public StringBuffer replace(int start,int end,String str)
 * 反转功能	 public StringBuffer reverse()
 * 截取功能
 * public String substring(int start)
 * public String substring(int start,int end)

 */
public class Demo2 {
	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer();
	/*	sb.append("aa");
		sb.append("bb");
		sb.append("cc");*/
		//链式编程 方法的返回值是一个对象的时候才可以使用
		sb.append("aa").append("bb").append("cc");
		sb.insert(2, "1234");
		System.out.println(sb);
		
		System.out.println(sb.reverse());
	}
}
package cn.hncu_02;
/*
 * String和StringBuffer的相互转换
 * 		提示:通过构造方法可以实现他们之间的相互转换.
 * 
 * 把数组拼接成一个字符串
 * 
 * 把字符串反转
 * 判断一个字符串是否是对称字符串
 * 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
 */
public class Demo3 {
	public static void main(String[] args) {
		String s = "abbas";
		//1.把s转成StringBuffer
		StringBuffer sb = new StringBuffer(s);
		
		StringBuffer reverse = sb.reverse();
		
		//reverse转成String
		String s2 = new String(reverse);
		
		if(s.equals(s2)){
			System.out.println("是对称字符串");
		}else{
			System.out.println("不是对称字符串");
		}
		
	}
}
package cn.hncu_02;
/*
 * String,StringBuffer,StringBuilder的区别
 * 	String内容不可变,而StringBuffer,StringBuilder内容可变
 * 	StringBuffer同步,数据安全,效率低. StringBuilder异步,数据不安全,效率高
 */
public class Demo4 {

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值