Java基础知识(数组

 2.8.1数组的定义
class ArrayDemo{
public static void main(String[] args)
{
int[] arr = new int[3];
arr = null;//arr不具备任何实体,NullPointerException:空指针异常:当引用没有任何指向值为null的情况,该引用还在用于操作实体。
System.out.println(arr[3]);//ArrayIndexOutOfBoundException:3:操作数组时,访问到了数组中不存在的角标。
}
}

 
(数组操作中的必要掌握)
语法错误和编译错误
eg:ArrayIndexOutOfBoundsException
arr=null;
eg:NullPointerException
数组的操作
//获取数组中的元素,用到遍历
eg:System.out.pirntln("length"+arr.length);
for(int x=0;x<6;x++){//使用方法:数组名称.length=
System.out.pirntln("arr["+x+"]="+arr[x]+x";");
}

 
定义功能,用于打印数组中的元素,元素间用逗号隔开
public static void printArray(int[] arr){
for(int x=0;x<arr.length;x++){
if(x!=arr.length-1)//不是最后一个元素
System.out.print(arr[x]+",");
else
System.out.print(arr[x]);
}
}

 
-----------------------------------------------------
注意!:System.out.println(arr)
输出的是数组地址值
1、选择排序
对给定数组进行排序{5,1,6,4,2,8,9}
/*
获取数组中的最大值。
思路:
1、获取值需要进行比较。每一次比较都会有一个较大的值。因为该值不确定。通过一个变量进行临储
2、让数组中的每一个元素都喝这个变量中的值进行比较。如果大于了变量中的值,就用该变量记录较大值。
3、当所有的元素都比较完成,那么该变量中存储的就是数组中的最大值了
步骤:
1、定义变量。初始化维数组中的任意一个元素即可。
2、通过循环语句对数组进行遍历。
3、在变量过程中定义判断条件,如果遍历到的元素比变量中的元素大,就赋值给该变量
需要定义一个功能来完成,以便提高复用性。
1、明确结果,数组中的最大元素int
2、未知内容:一个数组。int[]
*/
 
class ArrayTest2
{
public static void selectSort(int[] arr){
for(int x=0;x<arr.length;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;
}
}
}
}
}

public static void main(String[] args){
int[] arr = {5,1,6,4,2,8,9};
//排序前;
printArray(arr)
//排序
selector(arr);
//排序后
printArray(arr);
}
/*
内循环结束一次,最值出现在头角标位置上
*/
 
2、冒泡排序
public static void bubbleSort(int[] arr){
for(int x=0;x<arr.length-1;x++)//相邻元素比较,到最后不能相邻,所以-1
{
  for(int y=0;y<arr.length-x;y++)//-x:让内循环比较元素逐级减少 -1:避免角标越界
if(arr[y]>arr[y+1])
  {
    int temp = arr[y];
    arr[y] =arrp[y+1];
    arr[y+1] = temp;
}
}
}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值