zoukankan      html  css  js  c++  java
  • 方法和数组

    Array

    // 数组的操作
    public class ArrayDemo {
        public static void main(String[] args) {
            int[] arr = new int[]{1,3,5,7,9};
            System.out.println(arr); // [I@659e0bfd
            System.out.println("数组长度="+arr.length);
            // 获取出arr数组中,索引为3的元素
            int ele = arr[3];
            System.out.println(ele); // 7
            // 把arr数组中索引为3的位置重新设置为77
            arr[3] = 77;
            // 取出数组中每一个元素值
            System.out.println(arr[0]); // 1
            System.out.println(arr[1]); // 3
            System.out.println(arr[2]); // 5
            System.out.println(arr[3]); // 77
            System.out.println(arr[4]); // 9
            System.out.println("-------------------------");
            for(int index = 0; index < arr.length; index++) {
                System.out.println(arr[index]); // 1 3 5 77 9
            }
    
            arr = new int[]{1,3,5,7,9};
            System.out.println(arr[4]); // 9
    
            int[] arr2 = {1,3,5};
            System.out.println(arr2.length); // 3
        }
    }
    // 数组的基本操作2
    public class ArrayDemo2 {
        public static void main(String[] args) {
            int[] arr = new int[]{7, 11, 7, 3, -5, 7, 9, 8};
    
            int max = getMax(arr);
            System.out.println(max); // 11
            System.out.println(getMin(arr)); // -5
            // 调用打印
            print(arr); // [7,11,7,3,-5,7,9,8]
            print2(arr);
            // 获取arr中7第一次出现的索引
            int startIndex = indexOf(arr, 17); // 返回最开始出现的位置
            System.out.println(startIndex);
            // 取出最后一次出现的位置
            int endIndex = lastIndexOf(arr, 7);
            System.out.println(endIndex);
        }
    
        // 获取指定元素在指定数组的第一次出现的位置
        static int indexOf(int[] arr, int key) {
            for (int index = 0; index < arr.length; index++) {
                if (arr[index] == key) {
                    return index;
                }
            }
            return -1; // 表示找不到
        }
    
        static int lastIndexOf(int[] arr, int key) {
            for (int index = arr.length - 1; index >= 0; index--) {
                if (arr[index] == key) {
                    return index;
                }
            }
            return -1;
        }
    
        // [7,11,7,3,-5,7,9,8]
        static void print(int[] arr) {
            String str = "[";
            for (int i = 0; i < arr.length; i++) {
                str = str + arr[i];
                // 不是最后一个元素
                if (i != arr.length - 1) {
                    str = str + ", ";
                }
            }
            str = str + "]";
            System.out.println(str);
        }
    
        // 逆序打印
        static void print2(int[] arr) {
            String str = "[";
            for (int i = arr.length - 1; i >= 0; i--) {
                str = str + arr[i];
                // 不是最后一个元素
                if (i != 0) {
                    str = str + ", ";
                }
            }
            str = str + "]";
            System.out.println(str);
        }
    
        // 定义方法:取出数组中的最大值
        static int getMax(int[] arr) {
            int max = arr[0]; // 默认第一个元素就是最大值
            for (int i = 0; i < arr.length; i++) {
                // 若发现某一个元素比max变量更大,就应该临时保存到max变量中,再继续做比较
                if (arr[i] > max) {
                    max = arr[i];
                }
            }
            return max;
        }
    
        // 定义方法:取出数组中的最小值
        static int getMin(int[] arr) {
            int min = arr[0];
            for (int i = 0; i < arr.length; i++) {
                if (arr[i] < min) {
                    min = arr[i];
                }
            }
            return min;
        }
    }

    DynInit

    // 数组的动态初始化
    public class DynInitDemo {
        public static void main(String[] args) {
            // 创建一个长度为5的数组
            int[] nums = new int[5];
            // 创建一个长度为3的数组
            nums = new int[3];
            // 创建一个长度为4的数组
            String[] names = new String[4];
        }
    }

    Method

    public class MethodDemo1 {
        // 无参数无返回:定义一个打印Hello的方法
        static void p() {
            System.out.println("Hello");
        }
        // 有参数无返回
        static void p2(String data) {
            System.out.println(data);
        }
        // 无参数有返回
        static int getAge() {
            return 16;
        }
        // 有参数有返回:该方法接收一个名字,返回Hello名字
        static String sayHello(String name) {
            return "hello " + name;
        }
        public static void main(String[] args) {
            // 调用p方法
            p();
            // 调用p2方法
            p2("世界");
            p2("Hello");
            // 调用getAge方法
            int age = getAge();
            System.out.println(age);
    
            // 调用sayHello方法
            String s = sayHello("will");
            System.out.println(s);
            // 调用getSum方法
            // 3 和 4 之和
            int a = 3;
            int b = 4;
            int sum = getSum(a, b);
            System.out.println(sum);
        }
        // 定义两个整数求和的功能
        static int getSum(int x,int y) {
            int z = x + y;
            return z;
        }
    }

     MethodOverload

    // 方法重载
    public class MethodOverloadDemo {
        public static void main(String[] args) {
            /**
             * 两同一不同:
             *             两  同: 方法必须在同一个类中,并且方法的名字相同.
             *             一不同: 方法各自的参数列表不同(参数类型,参数个数,参数顺序).
             *         遵循了两同一不同原则的多个方法,之间就属于重载关系.
             */
            double ret  = getSum(1,3.14);
            System.out.println(ret); // 4.140000000000001
    
            System.out.println();
            System.out.println(true); // true
            System.out.println('A'); // A
            System.out.println(123); // 123
            System.out.println(3.14); // 3.14
        }
    
        // 求两个整数之和
        static int getSum(int x, int y) {
            return x + y;
        }
        // 求两个小数之和
        static double getSum(double x, double y) {
            return x + y;
        }
        // 求一个整数和一个小数之和
        static double getSum(int x, double y) {
            return x + y;
        }
    }

    Recursion

    // 递归操作
    public class RecursionDemo {
        public static void main(String[] args) {
            /**
             *   斐波纳契数列,其通项公式为:
             *      F(0)=0,F(1)=1,Fn=F(n-1) +F(n-2)(n>=3,n∈N*),
             *      现在求F(5)的值,怎么做呢?
             */
            int ret = fn(6);
            System.out.println(ret); // 8
        }
    
        static int fn(int n) {
            if (n == 0) {
                return 0;
            } else if (n == 1) {
                return 1;
            } else {
                return fn(n - 1) + fn(n - 2);
            }
        }
    }

     StaticInit

    // 数组的静态初始化
    public class StaticInitDemo {
        public static void main(String[] args) {
            // 存储5个奇数
            int[] nums = new int[]{1, 3, 5, 7, 9};
            System.out.println("length="+nums.length); // 数组长度/有几个元素个数
            // 创建新的数组,并赋值给nums变量
            nums = new int[]{2,4,6};
            System.out.println("length="+nums.length);
    
            String[] names = {"A","B","C"};
        }
    }
  • 相关阅读:
    cuda(2)---方阵乘法
    cuda(1)-imageBlur
    python(6) 字符串操作
    CUDA 编程之Release模式和Debug模式
    20200909 day4 刷题记录
    20200908 day3 刷题记录
    20200906 day1 模拟(一)
    刷题Day 4-6 树形dp三题
    4.28 刷题Day 3 树形dp一题
    DTQ2019-D1T2 括号树 题解
  • 原文地址:https://www.cnblogs.com/zengqinghong/p/11827840.html
Copyright © 2011-2022 走看看