数组的冒泡排序与选择排序
冒泡排序与选择排序 (加载别人的一篇博客)
Arrays 类的概述与方法的使用
Arrays 类的概述:
此类包含用来操作数组(比如排序和查找)的各种方法。
此类好包含一个允许将数组作为列表来查看的静态工厂
方法的使用
Arrays类位于 java.util 包中,主要包含了操纵数组的各种方法
toString方法
sort方法
5、Arrays.binarySearch()
Arrays.binarySearch(Object[] array, Object key)
注意:在调用该方法之前,必须先调用sort()方法进行排序,如果数组没有排序, 那么结果是不确定的,此外如果数组中包含多个指定元素,则无法保证将找到哪个元素
关于使用Arrays方法的简单应用
int[] arr = {12,11,45,34,67,35}; //转化成字符串 toString
System.out.println(Arrays.toString(arr));
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
int[] arr1 = {12,23,34,45,56,67}; //二分查找
System.out.println(Arrays.binarySearch(arr1, 88));
二分查找的返回值:如果找到则返回下标值,否则返回
(-(插入点) - 1)。插入点 被定义为将键插入数组的那一点:即第一个大于此键的元素索引,如果数组中的所有元素都小于指定的键,则为 a.length。注意,这保证了当且仅当此键被找到时,返回的值将 >= 0。
基本类型包装类
A:为什么会有基本类型包装类
- 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
B:常用操作
- 常用的操作之一:用于基本数据类型与字符串之间的转换。
C:基本类型和包装类的对应
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
将字符串转成基本数据类型
- parseXXX(String s):其中XXX表示基本类型,参数为可以转成基本类型的字符串
- 可以将字符串先变为基本数据类型的包装类再变为基本数据类型
String s = "200";
Integer i3 = new Integer(s);
int i4 = i3.intValue(); //将Integer转换成了int数
int i5 = Integer.parseInt(s); //将String转换为int,推荐用这种
将基本数值转成字符串有3种方式
- 基本类型直接与””相连接即可;1+"";
- 调用String的valueOf方法;String.valueOf(1) ;
- 调用包装类中的toString方法;Integer.toString(10)
int i = 100;
String s1 = i + ""; //推荐用
String s2 = String.valueOf(i); //推荐用
Integer i2 = new Integer(i);
String s3 = i2.toString();
String s4 = Integer.toString(i);
System.out.println(s1);
Integer
进制转换
System.out.println(Integer.toBinaryString(60));//二进制
System.out.println(Integer.toOctalString(60));//八进制
System.out.println(Integer.toHexString(60));//十六进制
System.out.println(Integer.MAX_VALUE);//最大值
System.out.println(Integer.MIN_VALUE);//最小值
//关于Integer的题
Integer i1 = new Integer(97);
Integer i2 = new Integer(97);
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 i5 = 127;
Integer i6 = 127;
System.out.println(i5 == i6); //true
System.out.println(i5.equals(i6)); //true
System.out.println("-----------");
Integer i7 = 128;
Integer i8 = 128;
System.out.println(i7 == i8);//true
System.out.println(i7.equals(i8)); //true
-128到127是byte的取值范围,如果在这个取值范围内,自动装箱就不会新创建对象,而是从常量池中获取,如果超过了byte取值范围就会再新创建对象.
自动拆箱与装箱
自动装箱:把基本类型转换为包装类类型
自动拆箱:把包装类类型转换为基本类型
注意事项:
在使用时,Integer x = null;代码就会出现NullPointerException。
建议先判断是否为null,然后再使用。
Integer i2 = 100; //自动装箱,把基本数据类型转换成对象
int z = i2 + 200; //自动拆箱,把对象转换为基本数据类型
System.out.println(z);
Integer i3 = null;
int a = i3 + 100; //底层用i3调用intValue,但是i3是null,null调用方法就会出现
System.out.println(a); //空指针异常java.lang.NullPointerException