【第五章 indexOf()方法、split方法、包装类】

第五章 indexOf()方法、split方法、包装类

1.Java中indexOf()方法
①indexOf(String str): 返回指定字符str在字符串中(方法调用者)第一次出现处的起始索引,如果此字符串中没有这样的字符,则返回 -1。
②indexOf(String str, int index): 返回从index位置开始查找指定字符str在字符串中第一次出现处的起始索引,如果此字符串中没有这样的字符,则返回 -1。

String str = "01234567890123456789";
System.out.println(str.indexOf("123"));//1
System.out.println(str.indexOf("123",5));//11

2.split方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
①按空格分开

      String a = "hello world";
      String[] s1 = a.split(" ");
      System.out.println(Arrays.toString(s1));
     //结果是:[hello, world]

②按 | 隔开

      String a="西安市|北京市|上海市|成都市";
      String[] s2=a.split("\\|");
      System.out.println(Arrays.toString(s2));
      //结果是:[西安市,北京市,上海市,成都市]

③按*隔开

 		 String a="西安市*北京市*上海市*成都市";
 		 String[] s3=a.split("\\*");
      System.out.println(Arrays.toString(s3));
      //结果是:[北京, 北京市, 海淀区, 科技大厦]

④按@隔开

		  String a="西安市@北京市@上海市@成都市";
       String[] s4=a.split("@");
       System.out.println(Arrays.toString(s4));
      //结果是:[西安市,北京市,上海市,成都市]

⑤多个标记隔开

  	 String a="西安市^北京市@上海市#成都市 深圳市";
      String[] s5=a.split("\\^|@|#| ");
      System.out.println(Arrays.toString(s5));
      //结果是:[西安市,北京市,上海市,成都市,深圳市]

3.Integer.toBinaryString()和Integer
(1)Integer.toBinaryString()
他的作用是把一个10进制数转为32位的2进制数。同时对负数,会用补码表示。

//将十进制数转成字符串,例如n=5 ,s = "101"
String s = Integer.toBinaryString(n) ;

(2)Integer
是一个整数对象,就像String,而int是基本数据类型(整数),所以Integer.parseint()就是把整型对象Integer转换成基本数据类型int(整数)。
①pareInt(String s)
将字符串s转换为十进制的数字,默认为十进制。

		public static void main(String[] args) {
        int num=Integer.parseInt("100");
        System.out.println(num);
    }

②pareInt(String s,int redix)
radix代表转换的进制,不写默认为十进制。

		public static void main(String[] args) {
        int num=Integer.parseInt("100",16);
        System.out.println(num);
    }

4.包装类的使用
Java提供了8种基本数据对应的包装类,使得基本数据类型的变量具有类的特征。
Integer 内部定义了IntegerCache结构,IntegerCache中定义了Integer[] ,保存了从-128~127范围的整数,如果我们使用了自动装箱模式,给Integer赋值的范围在-128~127范围内时,可以直接使用数组中的元素,不要再去new了。目的:提高效率。
①/基本数据类型—>包装类:调用包装类的构造器

//基本数据类型---包装类:调用包装类的构造器
	@Test
	public void test1() {
		int num1=10;
		Integer in1=new Integer(num1);
		System.out.println(in1.toString());
		Integer in2=new Integer("123");
		System.out.println(in2.toString());
		//报异常:Integer in3=new Integer("123abc");
		
		Float float1=new Float(12.3f);
		Float float2=new Float("12.3");
		System.out.println(float1);
		System.out.println(float2);
		
		Boolean boolean1=new Boolean(true);
		Boolean boolean2=new Boolean("tRue");
		System.out.println(boolean2);
		Boolean boolean3=new Boolean("true123");
		System.out.println(boolean3);
		
		Order order=new Order();
		System.out.println(order.isMale);//false
		System.out.println(order.isFemale);//null

②包装类—>基本数据类型:调用包装类的xxxValue

//包装类---基本数据类型:调用包装类的xxxValue
	@Test
	public void test2() {
		Integer in1=new Integer(12);
		int i1=in1.intValue();
		System.out.println(i1+1);
		
		Float float1=new Float(12.3);
		float f1=float1.floatValue();
		System.out.println(f1+1);
	}

③新特性:自动装箱与自动拆箱

//新特性:自动装箱与自动拆箱
	@Test
	public void test3() {
		//自助装箱:基本数据类型---包装类
		int num1=10;
		Integer in1=num1;
		boolean b1=true;
		boolean b2=b1;
		//自动拆箱:包装类---基本数据类型
		System.out.println(in1.toString());
		int num3=in1;
	}

④基本数据类型、包装类—>String

//基本数据类型、包装类---String
	@Test
	public void test4() {
		int num1=10;
		//方式一:连接运算
		String str1=num1+"";
		//方式二:调用String的 valueOf(Xxx xxx)
		float f1=12.3f;
		String str2=String.valueOf(f1);
		Double double1=new Double(12.4);
		String str3=String.valueOf(double1);
		System.out.println(str2);
		System.out.println(str3);
	}

⑤String—>基本数据类型、包装类:调用包装类的parseXxx()

//String---基本数据类型、包装类:调用包装类的parseXxx()
	@Test
	public void test5() {
		String str1="123";
		Integer in1=Integer.parseInt(str1);
		System.out.println(in1+1);
		//Boolean只要字符串不是true,它就认为是false
		String str2="boolean";
		Boolean boolean1=Boolean.parseBoolean(str2);
		System.out.println(boolean1);
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值