引用时间代码
int newTime = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
一、数组
数组是相同数据类型的多个数据的容器
创建格式 :
1.数据类型[] 数组名称 = {数据1,数据2,数据3,、、、};
2.数据类型[] 数组名称 = new 数据类型[长度];必须写长度
3.给数组中的数据赋值: 数组名称[下标] = 值;
4.取值:数组名称[下标]
5.获取数组长度: 数组名称.length
6.数组的遍历是按下标显示数组
7.数组中不常用方式:int[] 数组名; 数组名 = new int[];
数据类型[] 数组名称 = new 数据类型[]{数据1,数据2,数据3,“”“}
二、空指针问题
直接引用空数组要赋值null: int[] nums = null; System.out.println(nums);
三、比较数组中数的大小
定义一个变量,应该把变量定义数组中第一个数,不要定义成0
四、冒泡排序
for(int i=0;i<length-1;i++){
for(int j=0;j<length-i-1;j++){
if(num[j]>num[j+1])
temp=num[j]
num[j+1]=num[j]
num[j]=temp
}
}
五、二分查找
首先数据得是有序数据,无序先进行排序
1.确定查找范围,最小—最大
2.计算中间的下标 (最小+最大)/2
3.比较中间下标的数据,中间数据较大,则最大下标等于中间下标-1
比较中间下标数据,中间数据较小,则最小下标等于中间下标+1
4.当最小下标大于最大下标时,说明数据不存在
推荐进行while循环
代码:
int[] nums = {12,13,14};
int num=要查找数字
int minNum = 0;
int maxNum = length-1;
int centerNum = (minNum+maxNum)/2;
while(true){
if(nums[centerNum]<num){
minNum = centerNum+1;
}
else if(nums[centerNum]>num){
maxNum = centerNum-1;
}
else{
break;
}
if(maxNum<minNum){
syso(“没有找到”);
break;
}
centerNum = (minNum+maxNum)/2;
}
六、多维数组
二维数组:
int[][] [] [] 数组名 = new int[20] [];
nums[0] = new int[] {1,2,3};
七、随机数的创建
产生随机数有两种方法:方法一是利用Random类,先创建一个random对象,然后调用random对象的nextInt()方法,此处以产生一个1-100范围内的随机数为例:
方法二是利用Math类的random方法,产生一个0.0-1.0范围内(左闭右开)的double类型的数,然后乘以100后强制转型为int类型。如下图所示: