一、数组排序(冒泡排序原理分析)
冒泡排序的原理:
相邻的元素两两比较,大的往后移,
这样第一次比较完之后,最大的就在最后了
---------------------------------------------------------------------------------------------------------------
二、数组排序(冒泡排序思路代码)
以后开发想要对数组进行排序用谁?
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
冒泡排序的原理:
相邻的元素两两比较,大的往后移,
这样第一次比较完之后,最大的就在最后了
---------------------------------------------------------------------------------------------------------------
二、数组排序(冒泡排序思路代码)
以后开发想要对数组进行排序用谁?
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