String类的一些基本使用


boolean equals(Object obj):比较字符串的内容是否相同 区分大小写
	String s1 = "zzf";		//判断字符串是否包含小字符串
		String s2="zzf";
		System.out.println(s2.equals(s1));
		String s3 = "我爱你";
		String s4 ="我爱你";
		System.out.println(s3.equals(s4));
		String s5 = "争锋";
		String s6 ="争锋";
		System.out.println(s5.equals(s6));
	}
private static void Demo2() {
		String s1 ="Zzf";		//判断字符串是否相同,不区分大小写
		String s2 ="zzf";
		System.out.println(s2.equalsIgnoreCase(s1));
	}
private static void Demo3() {
		String s1 = "zzfffz";	//判断字符串是否相同 区分大小写
		String s2 ="zfz";
		System.out.println(s1.contains(s2));
	}
private static void Demo4() {
		String s1 = "我爱你";	//判断字符串开头是否是S2
		String s2 ="我";
		System.out.println(s1.startsWith(s2));
	}
private static void Demo5() {
		String s1 ="我爱你";		//判断字符串结尾是否是S2
		String s2 ="你";
		System.out.println(s1.endsWith(s2));
	}


	private static void Demo1() {
		int[] arr = {11,22,33};
		System.out.println(arr.length);	//数组中的属性
		String s1 = "好困,好累,好想睡";
		//length()是一个方法获取每一个字符的个数
		System.out.println(s1.length());
	}
private static void Demo2() {
		String s1 ="好困,想吃肉";
		char c =s1.charAt(1);	//索引从0开始    注意字符串的索引越界异常 几乎有索引都会有可能出现索引越界异常
		System.out.println(c);	//返回困
	}
private static void Demo3() {
		String s1 ="woairou";
		int index =s1.indexOf('r');	//也是索引
		System.out.println(index);	//返回4 如何不存在返回-1 
	}
private static void Demo4() {
		String s1 = "woaichirou";
		String s2 =s1.substring(2);	//从指定位置开始截取字符
		System.out.println(s2);        //返回aichirou
	}

private static void Demo5() {
		String s1 ="woxiangchiKFC";
		//通过字符获取每个字符的索引
		for(int i =0;i<s1.length();i++) {
			System.out.print(s1.charAt(i));
		}
	}



String类的构造方法

private static void Demo7() {                            //将字节数组的一部分转成字符串
		byte[] arr = {97,98,99,100,101,102};
		String s1 = new String(arr,2,3);        //从索引2开始转换3个
		System.out.println(s1);                 //99,100,101
	}



小小题目

private static void Demo1() {
		String s1 ="abc";
		String s2 ="abc";
		//常量池中没有这个字符串对象就创建一个,如果有就直接调用
		//所以 s1 == s2 返回true
		System.out.println(s1 == s2);		//true
		System.out.println(s1.equals(s2));	//true
	}


private static void Demo2() {
		//创建几个对象
		String s1 = new String("abc");
		//创建了两个对象,堆空间一个,常量池一个
	}

private static void Demo3() {
		//判断定义为String类型的S1和S2是否相等
		String s1 = new String("abc");		//记录的是堆内存对象的地址值
		String s2 ="abc";					//记录的是常量池对象的地址值
		System.out.println(s1 == s2);		//false
		System.out.println(s1.equals(s2));	//true
	}
private static void Demo4() {
		String s1 ="a"+"b"+"c";
		String s2 ="abc";
		//因为Java中有常量优化机制在编译时就变成了abc
		System.out.println(s1 == s2);		//true
		System.out.println(s1.equals(s2));	//true
	}
private static void Demo5() {
		//因为S3需要 StringBuffer来将S1与c相加
		//然后StrIngBuffer将值赋给toString
		String s1 ="ab";
		String s2 ="abc";					//常量池对象的地址值
		String s3 =s1 + "c";				//栈空间toString对象的地址值
		System.out.println(s3 == s2);		//false
		System.out.println(s3.equals(s2)); 	//true
	}


模拟一个用户的简单登陆

private static void Demo1() {
		Scanner sc = new Scanner(System.in);		//创建键盘录入对象
		for(int i =0;i <3;i++) {
			System.out.println("请输入用户名:");
			String userName = sc.nextLine();				//将键盘录入的用户名存储到userNam中
			System.out.println("请输入密码");
			String password = sc.nextLine();			//将键盘录入的密码存到password中
			//如果是字符串常量与字符串常量作比较
			//通常都是字符串常量调用方法,将变量当初参数传递,防止空指针异常
			if("admin".equals(userName) && "admin".equals(password)) {
				//如果用户名与密码都正确就登陆成功
				System.out.println("欢迎"+userName+"登陆");
				break;	//跳出循环
			}else {
				if(i == 2) {
					System.out.println("登陆次数已用尽");
				}else {
					System.err.println("录入错误,您还有"+(2-i)+"机会");
				}
			}
		}


按要求把第一个字母大写其余小写

//链式编程:只要保证每次调用完方法返回的是对象就可以继续调用

private static void Demo2() {
		String s1 = "woxiangchirou,WOXIangshuijiao";
					//字符索引		//转换大写		//链接字符,字符索引,字符小写
		String s2 =s1.substring(0, 1).toUpperCase().concat(s1.substring(1).toLowerCase());
		System.out.println(s2);
	}

private static void Demo4() {
		String s1 = "abc";
		String s2 = s1.replace('a', 'n');	//将A变成N
		System.out.println(s2);
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值