一。常用函数
1.Math.E
2.Math.PI
3.Math.abs(a) 求绝对值
4.Math.ceil(a)大于该数字的最小整数(向上取整)
5.Math.floor(a)小于指定数字的最大整数(向下取整)
6.Math.hypot(x,y)返回x2+y2(求两点间的距离)
7.Math.max(a,b)取两者中大的
8.Math.min(a,b)取两者中小的
9.Math.pow(a,b)a的b次幂
10.Math.sqrt(a)求开方(计算平方根)
11.Math.random()【0,1)之间的一个随机数
12.Math.rint(a)四舍五入(double值)
13.Math.round(a)四舍五入
14.char charAt(int index)获取指定角标处的字符
15.int indexOf(int ch) 在字符串中从左到右查找指定元素(字符串)第一次出现的位置
16.int lastIndexOf(int ch) 最后一次出现的位置
17.int length() 查长度
18.substring(int beginIndex0, int endIndex3) [0,3) 3不取 取012索引的字符
19.boolean s.contains(”ab“)判断指定子串是否包含在s中
20.boolean s.endsWith(String a)判断指定子串是否在s结尾
21.boolean startsWith(String prefix)
22.int "abc"compareTo(“abd”)按照字典顺序比较两个字符串(比较两个字符串的大小)
23.boolean equals(String anotherString)比较两个字符串是否相等
24.boolean equalsIgnoreCase(String anotherString) 忽略大小写进行比较
25.boolean isEmpty() 当且仅当空串时返回true
26.String replace(char oldChar, char newChar) 将字符串中的一种字符全都改成另一个字符 (原本的字符串是不变的 生成了一个新的字符串)
27.String toUpperCase() 将字符串中所有的字母都转大写 同样 是生成了一个新的字符串
28.String toLowerCase()转小写
29.String trim() 将字符串两头的空格删掉 中间的里面的删不掉
注意:对字符串的修改永远都不是对其自身进行的修改 。字符串本身是不可变的!对字符串的修改往往都是新建个字符串将修改后内容赋值并返回新的字符串。
二。数组
当进行连续创建同一类型变量时,这种操作属于重复性的操作,可以通过数组来解决这种问题(简化)
1.动态定义方式:int [] a = new int[长度]
2.静态定义方式:int [] b =new int[]{数组的元素}
1.index索引 数组的下标
可以通过数组的下标去获取数组中的元素
数组的下标从0开始 index=length-1
ArraylndexOutOfBoundsException 数组下标越界
NullpointerException空指针异常
2.当打印数组对象时,打印的结果时数组地址
可以使用Arrays.toString()可以把数组转换成字符串,打印数组
3.数组动态定义时,如果数组时基本数据类型,那么基本数据类型是什么,数组的默认值就是什么,如果数组的类型是引用数据类型,那么默认值均为null
4.排序 在java中提供一个快速排序的方法Arrays.sort()
数组的内存
数组变量存的是首元素的地址
访问元素:首地址+角标*数据类型大小=第(角标+1)位置的元素
数组查找操作
二分查找
public static void main(String[] args){
binarySearch();
}
public static void binarySearch(){
int[] arr={12,17,21,32,38,41,46,49,50,50,51,59,60};
int key=46;
int index=-1;
int min_index=0;
int max_index=arr.length-1;
int mid_index=(min_index+max_index)/2;
while(arr[mid_index]!=key){
if(key<arr[mid_index]){
max_index=mid_index-1;
}
if(arr[mid_index]<key){
min_index=mid_index+1;
}
if(min_index>max_index){
index=-1;
break;
}
mid_index=(min_index+max_index)/2;
}
System.out.println(mid_index);
}