循环:
1,while(循环条件):满足循环条件的时候执行循环体;
2,do(){
}while(执行条件);循环,先执行循环体,再判断是否满足循环条件,然后再执行循环体;相比while循环,dowhile循环无论是否满足条件都会执行一次循环体;
3,for((1)初始化循环条件;(2)循环条件;(3)改变循环条件){(4) 循环体};执行顺序:(1)-->(2)-->(4)-->(3);
数组:
是一组类型相同的数据的有序集合,在内存当中是连续的;
1,定义数组的同时并赋值:
//在定义的同时进行赋值;方式1:
String[] str=new String[]{"1","2","3"};
//方式2:
String[] str2={"1","2","3"};
这样创建的数组大小就是元素的个数;
2,数组一旦初始化,大小就不可以改变;
3,数组下标的范围是0~length(数组长度)-1;使用的时候不能超出范围,超出会出现下标溢出,在运行过程中出现ArrayIndexOutOfBendException():数组溢出异常;
4,读取数组中的元素:
(1),根据下标逐个读取;
(2),使用for()循环读取;
int[] arr1={1,2,3,4,5,6};
for(int i=0;i<arr1.length;i++){
System.out.printf(arr1[i]);
}
(3),增强for()循环:
int[] arr={1,2,3,4,5,6,7};
for (int i : arr) {//数据类型 变量名 : 数组名
System.out.println(arr[i]);
}
5,数组工具类Arrays:
Arrays是jdk提供的用于处理数组的工具类,里面的方法是静态方法,可以使用类名直接调用;
常用方法:
方法 | 作用 | 返回值 |
---|---|---|
sort(数组) | 将参数列表中的数组升序排序 | void |
sort(数组,startindex,endindex) | 将数组开始的位置和结束的位置按照升序进行排序 | void |
fill(数组,填充值) | 将指定数组用填充值进行填充,全部填充 | void |
fill(数组,填充值,开始位置,结束位置) | 在指定的区间用指定的值对指定数组进行填充 | void |
copy(数组,长度) | 复制数组,并且指定数组的长度 | 新数组 |
binarySearche(元素) | 查找指定元素,返回其索引,如果是int类型的数组,需要进行排序后才能进行二分查找,找不到返回-1 | |
equals(数组1,数组2) | 比较数组1和数组2是否相等 | Boolean |
//使用for循环实现冒泡排序;
int[] arr={3,1,5,2,4};
for(int i=1;i<=arr.length-1;i++){//控制比较的轮数:是元素个数-1;
for(int j=1;j<=arr.length;j++){//控制每一轮比较的次数:是元素个数-第几轮;
if(arr[j-1]>j[j]){//将数组中的元素逐个进行比较;还可以控制排列的顺序:>升序;<降序
int temp;
temp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;//比较完交换值
}
}
}