------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
数组
概念:
同一类型数据的集合,其实数组就是一个容器。
好处:
可以自动给数组中的元素从0开始编号 ,方便操作这些元素。
格式1:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
例:
<span style="font-size:18px;">int[] arr = new int[5];</span>
格式2:
元素类型[] 数组名 = new 元素类型[]{元素,元素,元素......};
例:
<span style="font-size:18px;">int[] arr = new int[]{1,2,3,4,5};</span>
数组的操作:
获取数组中的元素,通常用到遍历
数组中有一个属性可以直接获取到数组中元素的个数,length。
使用方式:数组名称.length
数组的遍历:
<span style="font-size:18px;">public static void printArray(int[] arr)
{
for(int i = 0; i < arr.length;i++)
{
System.out.print(arr[i]);
}
}</span>
获取数组中的最大值:
思路:
1.获取最值需要进行比较,每一次比较都会有一个较大的值,因此该值不确定。通过一个变量存储
2.让数组中每一个元素都和这个变量中的值比较。如果大于了这个值,就用该变量记录较大值。
3.当所有元素都比较完,那么该变量中存储的值就是最大值。
步骤:
1.定义变量。初始化为数组中任意一个元素。
2.通过循环语句对数组进行遍历。
3.在变量中定义判断条件,如果遍历到的元素比变量中的大,就赋值给变量。
<span style="font-size:18px;">public static int getMax(int[] arr)
{
int max = arr[0];
for(int i = 1 ;i<arr.length;i++)
{
if(arr[i]>max)
max=arr[i];
}
return max;
} </span>
对数组进行排序的方式有很多下面演示选择排序和冒泡排序
<span style="font-size:18px;">/*
选择排序
*/
public static void selectSort(int[] arr)
{
for(int x = 0;x<arr.length-1;x++)
{
for(int y = x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp = arr[x];
arr[x]=arr[y];
arr[y] = temp;
}
}
}
}</span>
<span style="font-size:18px;">/*
冒泡排序
*/
public static void bubbleSort(int[] arr)
{
for(int x = 0; x<arr.length; x++)
{
for(int y = 0;y<arr.length-x;y++)
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}</span>
<span style="font-size:18px;">/*
二分法查找
*/
public static void halfSearch(int[] arr,int key)
{
int max = arr.length-1, min = 0,mid;
while(arr[min]<arr[max])
{
mid = (min+max)>>1
if(arr[key]<arr[mid])
max=mid-1;
else if(arr[key]>arr[mid])
min = mid+1;
else
return mid;
}
}</span>
<span style="font-size:18px;">
</span>
二维数组:
格式1:int[][] arr = new int[3][2];
定义了名称为arr的二维数组,二维数组中有3个1维数组,每个一维数组中有2个元素
一维数组分别是arr[0],arr[1],arr[2]
给第一个一维数组1角标赋值43: arr[0][1] = 43;
格式2; int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[1];
arr[2] = new int[3];
逻辑运算符
逻辑运算符是用于连接boolean类型的表达式
true & true = true
true & false = false
false & true = false
false & false = false
&与 :只要两边的boolean表达式有一个结果为false,那么结果就为false。
只有两边都为true,结果才为true。
true | true = true
true | false = true
false | true = true
false | false = false
|或 : 两边只要有一个结果为true,那么结果就为true。
只有两边都为false,结果才为false。
true ^ true = false
true ^ false = true
false ^ true = true
false ^ false = false
^异或 : 两边相同为false,两边不同为true。
&和&&的特点:
&:无论左边是true还是false,右边都需要运算。
&&:如果左边为false,右边不运算。
|和||的特点:
|:和&一样 两边都需要运算。||:如果左边为true,右边不运算。