API-Arrays

这篇博客详细介绍了Java中数组的排序,包括冒泡排序的原理和Arrays.sort()的使用。同时,讲解了如何对字符串中的字符进行排序,以及数组的二分查找算法。还探讨了Arrays工具类的各种方法,如toString()、sort()和binarySearch()。此外,提到了System类的一些常用方法,如exit()和currentTimeMillis(),以及如何使用System.arraycopy()复制数组。最后,博主讨论了StringBuffer类的功能,包括添加、删除和反转字符串,以及如何将字符串中的数字字符排序。
摘要由CSDN通过智能技术生成
一、数组排序(冒泡排序原理分析)


冒泡排序的原理:
     相邻的元素两两比较,大的往后移,
这样第一次比较完之后,最大的就在最后了


---------------------------------------------------------------------------------------------------------------
二、数组排序(冒泡排序思路代码)


以后开发想要对数组进行排序用谁?
Arrays.sort()用它就可以对数组进行排序


---------------------------------------------------------------------------------------------------------------
三、对字符串中的字符进行排序


思路:
1、先把字符串通过toCharArray转换成字符数组
2、把字符数组进行排序
3、通过String类的构造方法把字符数组转换成字符串(valueOf)
---------------------------------------------------------------------------------------------------------------
四、数组二分查找
前提条件:数组必须是有序的


思路:1、把要查找的数据和中间的索引位置的数据进行比较
相同或者不同
 2、如果相同直接返回索引,不同分两种,如果索引大了在左边继续折半查找,
如果小了在右边继续折半查找
 
---------------------------------------------------------------------------------------------------------------
五、Arrays工具的概述
六、Arrays工具类的方法使用


public static String toString( int[] a )
把整形数组转换成字符串


public static void sort( int[] a )
把数组进行排序


public static int binarySearch ( int[] a, int key)
把制定数据按照二分查找法查找索引


---------------------------------------------------------------------------------------------------------------
七、System类常用方法使用
public static void exit ( int status) 
结束当前正在运行的java虚拟机


public static long currentTimeMillis()  
获取当前时间的毫秒值


---------------------------------------------------------------------------------------------------------------
八、System类中的复制数组的方法
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length )
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
---------------------------------------------------------------------------------------------------------------
九、StringBuffer类的概述及构造方法


1、问题:StringBuffer和String的区别?
String一但被赋值其值无法被改变,而StringBuffer被赋值之后,它的值也是可以被改变的


2、创建StringBuffer对象的三种方式
StringBuffer()   创建一个默认容量长度为16的StringBuffer对象
StringBuffer( int capacity )  创建一个指定容量长度的StringBuffer对象
StringBuffer( String str)    把String类型转换成StringBuffer类型


注意:StringBuffer和String是两回事,他们不可以直接调用对方类中的方法
但是可以通过构造互相转换,转换完之后就可以调用了。


3、
public int length ()   
字符个数,实际长度


public int capacity ()
字符容量,理论长度


4、想把String和StringBuffer互相转换怎么办?
通过String的构造和StringBuffer的构造方法


---------------------------------------------------------------------------------------------------------------
十、StringBuffer的添加功能


public StringBuffer append ( int i )
在末尾添加数据


public StringBuffer insert ( int index, String i )
在指定索引处插入数据
---------------------------------------------------------------------------------------------------------------
十一、StringBuffer的删除功能


StringBuffer deleteCharAt ( int index )
删除指定索引位置的字符


StringBuffer delete ( int start , int end )
删除从指定索引开始到指定索引位置结束之间的字符。


StringBuffer replace(int start, int end, String str)
 把开始到结束位置的字符用一个新的字符串给替换。




String substring(int start)
从指定位置到末尾截取




String substring(int start, int end)
从指定位置到结束位置截取


StringBuffer reverse()
将此字符序列用其反转形式取代




---------------------------------------------------------------------------------------------------------------
十二、把字符串反转
方式1
A:先把字符串转换成字符数组
B:倒序打印


方式2
A:把字符串转换成StringBuffer类型
B:调用反转方法
C:把StringBuffer类型类型在转换成字符串类型。


---------------------------------------------------------------------------------------------------------------
十三、String类的测试_面试题
之前的理解
基本类型:形式参数改变不会影响实际参数
引用类型:形式参数改变会直接影响实际参数,因为引用类型直接传递的是地址值
但是:String类除外


2、结论
两个字符串常量相加会直接在常量池中找,如果有就直接使用,如果没有开辟空间存储使用
如果是两个变量相加,会直接开辟空间做运算。


---------------------------------------------------------------------------------------------------------------
十四、Integer类的概述和使用
Integer类是基本类型int的包装类


public static String toBinaryString( int i )
把int类型数据转换成二进制数据


public static String toOctalString( int i )
把int类型数据转换成八进制数据


public static String toHexString( int i )
把int类型数据转换成十六进制数据


---------------------------------------------------------------------------------------------------------------
十五、Integer类的构造方法
基本类型   包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
public Integer(int value)
把一个int类型数据转换成Integer类型


public Integer(String s)
把一个字符串类型转换成Integer类型


注意事项:s这个变量必须是由纯数字字符组成的。


---------------------------------------------------------------------------------------------------------------
十六、String和int的相互转化
int转成String
方式1(开发用)int num = 100;
String s = 100 + "";
方式2(掌握)String s = String.valueOf(num);
方式3(理解)Integer i = new Integer( num );
String s = i.toString();
方式4(掌握)String  s= Integer.toString( num );


String转成int
方式1(理解)String s = "123";
Integer i = new Integer ( s );
int number = i.intValue();


方式2:(掌握)int number = Integer.parseInt( String s );
---------------------------------------------------------------------------------------------------------------
十七、把字符串中的数字字符排序


思路:
A:把字符串转换成字符数组,用切割功能
B:把字符串数组转换成int数组
C:对转变后的int数组进行排序
D:把排序后的int数组转换成字符串。
---------------------------------------------------------------------------------------------------------------
十八、JDK5以后Integer类的新特性
自动装箱:就是把基本数据类型直接赋值给引用数据类型。
自动拆箱:就是把引用类型对象拆分为基本数据类型。
---------------------------------------------------------------------------------------------------------------
十九、byte常量池测试


---------------------------------------------------------------------------------------------------------------
二十、常用API的方法
1:Object(重点)
**toString():为了让对象的显示有意义,一般重写该方法。
**equals():默认比较的是地址值,一般重写该方法,按照自己的需求。


2:Math
floor():小于等于参数的最大整数。
ceil():大于等于参数的最小整数。
round():四舍五入。+0.5
**random():随机数。[0.0,1.0)
pow():x的y次方
sqrt():平方根 素数问题。


3:Random
**nextInt(int n):随机产生[0,n)


4:Scanner
**nextInt():获取int类型
**nextLine():获取String类型


5:String(重点)
把day13总结里面的几种功能补齐中文意思在看一遍。


6:StringBuffer(重点)
**append():添加
**insert():在指定位置添加
**reverse():反转


7:System
**exit():退出


8:Arrays
sort():排序
binarySearch():二分查找


9:Integer(重点)
parseInt(String s):把String -- int
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值