写在前面
Java复习笔记,第三篇
笔记
String类
比较字符串内容时用equals方法str1.equals(str2)
其他的一些关于String的方法
concat() 方法:连接指定字符串
String str = "aaabbbccc";
str = str.concat("dd");
结果为aaabbbcccdd
java.util.Arrays类的常用方法
- Arrays.toString()方法
这里的toString()方法跟之前的toString()方法有很大的区别,这里的Arrays.toString()方法主要是实现打印数组元素的值
-
Arrays.sort( )排序
按照顺序对数组的数据进行排列
-
Arrays.binarySearch( )二分法查找
使用二分法查找前必须先对指定数组进行排序,Arrays.binarySearch( )方法查找到后将返回排序后的索引值,没有则返回-1,未排序直接查找也返回-1
二维数组
//获取的二维数组第一维数组的长度。
System.out.println(a.length);
//获取第二维第一个数组长度。
System.out.println(a[0].length);
数组
冒泡排序
package cn.xgblack.study03;
import java.util.Arrays;
/**
* 冒泡排序
* @author xg
* @time 2019年4月8日
*/
public class TestBubbleSort {
public static void main(String[] args) {
int[] a = { 3, 1, 6, 2, 9, 0, 7, 4, 5, 8 };
bubbleSort(a);
System.out.println(Arrays.toString(a));
}
public static void bubbleSort(int[] array) {
int temp = 0;
for(int i = 0;i <= array.length - 1;i++) {
boolean flag = true;
for(int j = 0;j<array.length - 1 - i;j++) {
if(array[j] > array[j+1]) {
temp = array[j + 1];
array[j+1] = array[j];
array[j] = temp;
flag = false;
}
System.out.println(Arrays.toString(array));
}
if(flag) {
break;
}
System.out.println("#########################");
}
}
}
结果截图:
二分法查找
package cn.xgblack.study03;
import java.util.Arrays;
/**
* 二分法查找数组元素
* @author xg
* @time 2019年4月8日
*/
public class TestBinarySearch {
public static void main(String[] args) {
int[] arr = { 30,20,50,10,80,9,7,12,100,40,8};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
System.out.println("###################");
System.out.println(myBinarySearch(arr, 40));
System.out.println("###################");
System.out.println(myBinarySearch(arr, 500));
}
public static int myBinarySearch(int[] array,int value) {
int low = 0;
int high = array.length - 1;
while(low <= high) {
int mid = (low + high)/2;
if(array[mid] == value) {
return mid;
}
if(value > array[mid]) {
low = mid + 1;
}
if(value < array[mid]) {
high = mid - 1;
}
}
return -1;
}
}
结果截图:
包装类的缓存
Integer类中,会缓存[-128,127]之间的数字。(系统初始的时候,创建了[-128,127]之间的缓存数组),当调用valueOf()的时候,首先会检查是否在这个范围之内,如果在则直接从缓存数组中去取,不在的话就创建新的Integer对象。
退出登录?