Java基础笔记15-String类

Java基础笔记15-String类

1.String类概念
  • String是引用数据类型,表示字符串(其实是由多个字符组成的)

  • public static void main(String[] args) {
    		//String()类的定义
        	//直接定义一个新字符对象
    		String str1 = new String();
        	//在创建对象的时候直接初始化赋值
    		String str2 = new String("cat");
    		//直接赋值
        	String str3 = "cats";
    }
    
  • String类特点

    • String是final修饰的,所以是最终类,最终类是不能被继承的,既然不能被继承也就意味着里面的方法不能被重写
  • 字符串常量池

    • 字符串是常量,所有的字符串常量都是存储在常量池中的,每个常量在常量池中都有地址;在常量池中,如果定义的常量在常量池中已经存在,则不会再进行创建,而是直接拿来用,如果不存在就创建一个常量扔进常量池中
2.String()类中常用的方法
  • indexOf() 正向查询,
    • 从第一个字符开始查询,返回指定字符的下标,只返回查询到的第一个符合的字符下标。
  • lastIndexOf() 反向查询,
    • 从最后一个开始查询,返回指定字符的下标,只返回查询到的第一个符合的字符下标。
  • contains() 确认作为参数的一段字符串是否包含在对象字符串中,返回布尔值
  • split() 将字符串在指定位置进行切割,结果中会去掉作为参数的符号
  • startsWith() 判断字符串是否以指定字符串开头,返回布尔值
  • endsWith() 判断字符串是否以指定字符串结尾,返回布尔值
  • substring() 截取字符串片段
    • 参数只输入一个数字,作用是截取从这个下标开始(包含开始)到结束的所有字符串,并返回
    • 参数输入两个数字,作用是返回截取的从第一个数字下标开始(包含),到第二个下标结束(不包含)之间的所有字符串
  • equals() 比较两个对象是否相同
    • 在String()中先比较地址, == 地址相同直接输出true,地址不同,则比较值,值相同则输出true,值不同则输出false
public static void main(String[] args) {
		String str = "hello jim";
		//indexOf()正向查询,从第一个字符开始查询,返回指定字符的下标,只返回查询到的第一个符合的字符下标。
		System.out.println(str.indexOf("j")); //6
		//若是个字符串,则返回符合的第一个字符的下标
		System.out.println(str.indexOf("jim"));//6
		//lastIndexOf()反向查询,从最后一个开始查询,返回指定字符的下标,只返回查询到的第一个符合的字符下标。
		System.out.println(str.lastIndexOf("h")); //0
		System.out.println(str.lastIndexOf("el"));//1
		//如果不存在的字符或字符串,则返回-1
		System.out.println(str.indexOf("a"));//-1
		System.out.println(str.lastIndexOf("a"));//-1
		//contains() 确认一段字符串是否包含另一段字符串,返回布尔值
		System.out.println(str.contains("hello"));  //true
		System.out.println("hello".contains(str));  //false
		
		//split()将对象在指定位置进行切割
		String url = "http.www.baidu.com";
		String urlArr[] =  url.split("\\.");//在 . 的位置进行切割,结果中会去掉作为标记的符号
		//遍历输出切割后的结果
    	for(int i=0;i<urlArr.length;i++) {
			System.out.print(urlArr[i]+"   ");//http   www   baidu   com
		}
		System.out.println();
    
		//startsWith() 判断字符串是否以指定字符串开头,返回布尔值
		System.out.println(url.startsWith("http"));  //true
		System.out.println(url.startsWith("https"));  //false
		//endsWith() 判断字符串是否以指定字符串结尾,返回布尔值
		System.out.println(url.endsWith("com")); //true
		System.out.println(url.endsWith("cn"));  //false	
    
    	//substring()截取字符串片段
		String str7 = "abcdefgh";
		//只输入一个数字,作用是截取从这个下标开始(包含开始)到结束的所有字符串,并返回
		System.out.println(str7.substring(3));  //defgh
		//输入两个数字,作用是返回截取的从第一个数字下标开始(包含),到第二个下标结束(不包含)之间的所有字符串
		System.out.println(str7.substring(3,str7.length()-2)); //def
	}
3.在String()中 == 与equals()的对比
public static void main(String[] args) {
		//字符串的对比
		String str1 = new String("cat");
		String str2 = new String("cat");
		String str3 = new String("cats");
		//== 在引用数据类型中比较的是对象的地址		
		System.out.println(str1 == str2);//false
		//equals()在String()中先比较地址,地址相同直接输出true,地址不同,则比较值,值相同则输出true,值不同则输出false
		System.out.println(str1.equals(str2)); //true
		System.out.println(str1.equals(str3));  //false
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值