zoukankan      html  css  js  c++  java
  • 大数据JAVA基础第八天

    1.数组逆序

    /*

             需求:数组逆序

             两个明确:

                      返回值类型:viod(有人会想到应该是逆序后的数组,但是没必要,因为这两个数组其实是一个数组)

                      参数列表: int []arr

    */

    class Reverse{

             public static void main(String[]args){

                      int []arr= {8,3,5,6,7,4};

                      //逆序前

                      System.out.println("逆序前");

                      printArray(arr);

                     

                      //逆序后

                      System.out.println("逆序后");

                      reverse2(arr);

                      printArray(arr);

             }

            

            

             //交换要用到for循环

             public static void reverse(int [] arr){

                      for(int x=0;x<arr.length/2;x++){

                      int temp = arr[x];

                      arr[x] = arr[arr.length-1-x];

                      arr[arr.length-1-x] = temp;

                      }

             }

            

             public static void reverse2(int[]arr){

                      for(int start=0, end = arr.length-1; start<= end; start++,end--){

                              int temp = arr[start];

                              arr[start] = arr[end];

                              arr[end]= temp;

                      }

             }

            

            

             //遍历数组

             public static void printArray(int [] arr){

                      System.out.print("[");

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

                              if(x== arr.length-1){

                                       System.out.println(arr[x]+"]");

                              }else {

                                       System.out.print(arr[x]+",");

                              }

                      }

             }

    }

    2.数组求和

    /*

    分析:

             A:把题目中的数据用二维数组来表示

             B:通过遍历数组得到每一个二维数组元素,相加得出结果

             C:定义一个求和变量

    */

    class Array2Demo{

             public static void main(String[]args){

                      int [][]arr = {{22,23,45},{45,56,32,},{89,65,43},{32,56,78}};

                       //定义一个求和变量

                       int sum = 0 ;

                       

                       //遍历二维数组

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

                               for(int y = 0; y< arr[x].length;y++){

                                        sum += arr[x][y];

                               }

                       }

                       System.out.println("一年的销售额为: "+sum+"万元");

             }

            

    }

    3.遍历二维数组

    /*

    遍历二维数组

    */

    class Array1Demo {

             public static void main(String[]args){

                      int [][] arr = {{1,2,3},{4,5,6},{7,8,9}};

                      for(int x= 0; x< arr[0].length; x++){

                              System.out.println(arr[0][x]);

                      }

                      System.out.println("-----------");

                      for(int x= 0; x< arr[0].length; x++){

                              System.out.println(arr[1][x]);

                      }

                      System.out.println("-------------");

                      for(int x= 0; x< arr[0].length; x++){

                              System.out.println(arr[2][x]);

                      }

                      System.out.println("-------------");

                     

                      //用循环改进

                     

                      for (int x= 0; x< 3;x++){

                              for(int y = 0; y< arr[x].length;y++){       

                                       System.out.print(arr[x][y]+" ");

                              }

                              System.out.println();

                      }

                      System.out.println("-------------");

                     

                     

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

                              for(int y = 0; y< arr[x].length;y++){       

                                       System.out.print(arr[x][y]+" ");

                              }

                              System.out.println();

                      }

                      System.out.println("-------------");

                     

                      //用方法改进

                      //改进方法

                      printArray2(arr);

                      System.out.println("-------------");

                      /*

                      需求:遍历二维数组

                      两个明确:

                              返回值类型:void

                              参数列表:int [][] arr

                      */

             }

            

             public static void printArray2(int[][]arr){

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

                              for(int y=0; y<arr[x].length; y++){

                                       System.out.print(arr[x][y]+" ");

                              }

                              System.out.println();

                      }              

             }

    }

    4.数组元素查找

    /*

    需求:数组元素查找(查找指定元素第一次在数组中出现的索引)

    分析:

             A:定义一个数组,并静态初始化

             B:写一个功能实现

                      遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较

                      如果相等就返回当前的索引

    /*

    需求:数组元素查找(查找指定元素第一次在数组中出现的索引)

    分析:

             A:定义一个数组,并静态初始化

             B:写一个功能实现

                      遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较

                      如果相等就返回当前的索引

    */

    class ArrayTest5{

             public static void main(String[]args){

                      //定义一个数组并进行静态初始化

                      int [] arr = {45,56,48,78,7,9,48,2,78};

                      //调用方法

                      int index = getIndex(arr,48);

                      System.out.println("48在数组中第一次出现的索引数是 : "+ index);

                     

             }

            

            

            

            

             public static int getIndex(int []rr,int value){

                      for(int x= 0 ; x< rr.length; x++){

                              if(rr[x] == value){

                                       return x;

                              }

                      }

                      //假如我要查看的数据在数组中不存在,那就是找不到

                      //只要是判断,就可能是false

                      //如果找不到数据,我们一般返回一个负数即可,一般是-1

                      return -1;

                     

             }

            

    }

    5.java中的参数传递问题:

    基本类型:形式参数的改变对实际参数没有影响

    引用类型:形式参数的改变直接影响实际参数

  • 相关阅读:
    Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) D
    HDU 2036 求任意多边形面积板子题
    HDU 6703 array(主席树)
    2019牛客暑期多校训练营(第九场)H Cutting BamboosO(二分、主席树)
    lintcode-425-电话号码的字母组合
    lintcode-81-数据流中位数
    lintcode-424-逆波兰表达式求值
    lintcode-423-有效的括号序列
    lintcode-422-最后一个单词的长度
    lintcode-421-简化路径
  • 原文地址:https://www.cnblogs.com/xiejiajun/p/6602721.html
Copyright © 2011-2022 走看看