Arrays类#包装类#

Arrays类:针对数值操作的工具类

Arrays类的方法是静态方法,直接用类名.方法()

pbulic static void sort(int [ ] a)方法:将数组排序

pbulic static StingtoString(int [ ] a):将数组转化成字符串

pbulic static intbinarySearch(int [ ] a,int key):二分查找数组中的指定元素,返回其索引值。

int[] arr = {4,67,2,5,1,6};
		Arrays.sort(arr);//Arrays类的方法是静态方法,直接用类名.方法()排序
		System.out.println(Arrays.toString(arr));//Arrays.toString(arr)将数组转化成对应字符串
		int[] arr2 = {11,22,33,44,55,66,77};
		System.out.println(Arrays.binarySearch(arr2, 22));//二分查找法Arrays.binarySearch(arr2, 22)
		System.out.println(Arrays.binarySearch(arr2, 66));//包含在数组中,返回该索引,否则返回:(-(插入点)-1).
		//插入点:即如果要将改数放在数组中应该在什么位置。
		System.out.println(Arrays.binarySearch(arr2, 88));
		System.out.println(Arrays.binarySearch(arr2, 9));
		System.out.println(Arrays.binarySearch(arr2, 24));
*****************************
[1, 2, 4, 5, 6, 67]
1
5
-8
-1
-3

基本数据类型的包装类

* 基本数据类型是不能创建对象并调用方法的,如果有了包装类就可以封装方法提供给我们使用,比如说将整数转换成二进制
* byte Byte
* short Short
* int I nteger
* long Long
* float Float
* double Double
* char Character

* boolean Boolean

Integer的构造方法
public Integer(int value) int---->Integer对象
 public Integer(String s) 数字String---->Integer对象

Integer i = new Integer(100);//将一个int数转换成Integer的对象
		Integer i2 = new Integer("100");//将数字字符串转换成Integer对象
int ---> String:
* 1.何数据与字符串用+连接
* 2.调用String.valueOf()可以将任何数据转换成字符串
int num = 100;
		String x = num + "";//任何数据与字符串用+连接都会产生新的字符串
		String y = String.valueOf(num);	//valueOf()静态方法可以将任何数据转换成字符串
parseXxx方法:将String类型对象转换成Xxx对象
只有Character中没有parseXxx方法,因为字符串是由多个字符组成转换的时候char只能接收一个字符。字符串转成字符数组有toCharArray()方法

Scanner sc = new Scanner(System.in);
		System.out.println("请输入:");
		//int x = sc.nextInt();		//如果录入的是非int数,会抛异常
		String line = sc.nextLine();	//录入的所有元素都能存储在line中
										//可以对line进行操作
		int x = Integer.parseInt(line);	//将一个数字字符串转换成数字
		//parseInt()静态方法
		System.out.println(x);
******************************
10
10
blic static void demo4() {
		//parseXxx方法将Stringl类型对象转换成Xxx对象
		String s = "100";
		byte b = Byte.parseByte(s);
		short sh = Short.parseShort(s);
		int i = Integer.parseInt(s);
		long l = Long.parseLong(s);
		float f = Float.parseFloat(s);
		double d = Double.parseDouble(s);
		String s2 = "true";
		boolean b2 = Boolean.parseBoolean(s2);//parseBoolean()只能转换"ture"或"false"
		String s3 = "我不爱北京";	//只有Character中没有parseXxx方法,因为字符串是由多个字符组成
	//转换的时候char只能接收一个字符。字符串转成字符数组有toCharArray()方法
自动拆装箱:

装箱:基本数据类型— —>对象

拆箱:对象— —>基本数据类型

		Integer i2 = x;		//自动装箱,把基本数据类型变成对象(x自动装换成Integer付给i2)
		x = i2.intValue();	//手动将Integer对象转换成基本数据类型
		int y = i2 + 20;	//自动拆箱,把对象变成基本数据类型(i2自动转换成int)

		Integer i1 = new Integer(97);
		Integer i2 = new Integer(97);
		//因为new得到的是两个对象"=="比较俩对象的地址所以是false
		//equals()方法是比较俩对象引用的值是否相同
		System.out.println(i1 == i2);			//false
		System.out.println(i1.equals(i2));		//true
		System.out.println("-----------");
	
		Integer i3 = new Integer(197);
		Integer i4 = new Integer(197);
		System.out.println(i3 == i4);			//false
		System.out.println(i3.equals(i4));		//true
		System.out.println("-----------");
		
/*
 * 当Integer直接赋值的范围是在-128到127之间,也就是一个byte的取值范围,不会创建多个对象。当第一次直接赋值范围在-128到127之间时,的底层处理过程是:创建一个数组来存储这些值(Integer[] arr = {new Integer(-128),127,-126};	//数组中可以存储引用数据类型)。再一次直接赋值时,先在数组中查找有没有该数,有则不再创建该对象。
 * 第一次Integer = -128,会在底层有一个数组存储-128到127之间的Integer对象值,直接从数组中获取Integer对象
 * 第二次Integer = -128,不会重新创建对象,继续从数组中获取
 */


		Integer i5 = -128;
		Integer i6 = -128;
		System.out.println(i5 == i6);			//?
		System.out.println(i5.equals(i6));		//true
		System.out.println("-----------");
	
		Integer i7 = 128;
		Integer i8 = 128;
		System.out.println(i7 == i8);			//?
		System.out.println(i7.equals(i8));		//true
*******************************
false
true
-----------
false
true
-----------
true
true
-----------
false
true




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值