java基础

时间:2020-9-16 作者:admin

1.数组

保存相同类型

定义格式:

1、int[] arr = {11,22,33};    //再次赋值不能用

2、int[] arr = new int[]{11,22,33};

3、int[] arr = new int[3];

注意:数组必须提前定义数组长度

索引:编号。  从0开始

取值:数组名[索引]

赋值:数组名[索引] = 值

遍历: for 数组每个元素

方式一:

for(int i=0;i<arr.length;i++){

 

}

方式二:

for(int i=0;i<=arr.length-1;i++){

 

}

异常:

数组索引越界异常:

强制使用一个不存在的索引。

 

空指针异常:

数组为null,强制使用

2.数组强化练习

2.1数组求最值

需求:已知一个数组{33,22,11,55,44},

求数组所有元素的最大值和最小值。

 

展示效果:

分析:

//1、数组遍历

//2、遍历中:

//判断 最大值

//判断 最小值

代码实现:

    //定义数组
    int[]  arr = {11,22,33,44,55};
    //定义存储 最大值和最小 zhi值

    int max=arr[0];
    int min =arr[0];
    for (int i = 0; i < arr.length; i++) {
        判断 最大值  存储最大值
        if (arr[i]>max){
            max=arr[i];
        }
        判断 最小值  存储最小值
        if (arr[i]<min){
            min =arr[i];
        }
    }
    System.err.println("最大值:"+  max);
    System.err.println("最小值 :" +min);
}

效率:

3.普通查找(索引)

技术讲解:字符串相等比较

  String  str ="好厉害";
String s ="好";
//比较 equals 方法
  // ture  字符串相同
  // false  字符串不相同
  System.err.println(str.equals(s));
  System.err.println(str.equals("好厉害"));
  System.err.println(str.equals("猴赛雷"));

效果:

2. 练习

需求:

已知数组{“周兴迟”,”刘一飞”,”赵本善”,”孙妍姿”,”王妃”,”陈怡迅”}.

 

如果有,请给出索引;

如果没有给出-1。

(提示:字符串比较是否相同,禁止使用==,必须使用equals方法)

展示效果:

分析:

//1、数组遍历

//2、遍历中:

//判断1:当前元素是否为“孙妍姿”

//判断2:当前元素是否为“汪菲”

代码实现

   String   []arr ={"周兴迟","刘一飞","赵本善","孙妍姿","王妃","陈怡迅"};
  //请查找出数组中是否有孙妍姿、汪菲。
    int w=  -1;
    int s = -1;
    1、数组遍历
    //2、遍历中:
    //判断1:当前元素是否为“孙妍姿”
    //判断2:当前元素是否为“汪菲”
    for (int i = 0; i < arr.length; i++) {
        //判断1 当前元素是否为“孙妍姿
        if (arr[i].equals("孙妍姿")){
            w= i;
        }
        //判断2:当前元素是否为“汪菲”
        if (arr[i].equals("汪菲")){
            s =i;
        }

    }
    System.err.println("孙妍姿:"+w);
    System.err.println("汪菲:"+s);
}

效果:

3.数组强化练习-主练

1.道题  (进阶-困难)

代码:

//倒序
      //定义一个数组
     int[]  arr ={1,3,3,7,9};
        //快捷键  arr.forr
     for (int i = arr.length - 1; i >= 0; i--) {
         System.err.println(arr[i]);
     }

效果:

2.已知一个数组

{11,22,33,44,55,66}

要求,重新创建一个新数组,将上面数组反转保存起来

最终新数组的保存顺序为

{66,55,44,33,22,11}

 

int[] arr1 = {11,22,33,44,55,66};

代码:

//1、定义数组
//老数组
int[] oldArr = {11,22,33,44,55,66};
//新数组
int[] newArr = new int[oldArr.length];
//2、遍历老数组 (正序)
for(int i=0;i<oldArr.length;i++){
    //3、遍历中:取出老数组元素,保存到新数组中
    //新:长度-1-i        老:i
    newArr[newArr.length-1-i] = oldArr[i];
}
//3、展示
System.err.println(Arrays.toString(newArr) );

效果:

2.元素反转  

代码:

   int[] arr=  {11,22,33,44,55,66};

    for (int i = 0; i < arr.length/2; i++) {
        //定义一个第三方
         int temp =arr[i];
         arr[i]= arr[arr.length-1-i];
         arr[arr.length-1-i]=temp;
        
    }
    System.err.println(Arrays.toString(arr));
}

效果:

 

 

目录

1.数组

2.数组强化练习

3.​​​​​​​普通查找(索引)

3.数组强化练习-主练


​​​​​​​

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。