java基础

   日期:2020-09-16     浏览:183    评论:0    
核心提示: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

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.数组强化练习-主练

​​​​​​​

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服