java中的数组以及方法的定义及实现

博客介绍了Java中数组和方法的相关知识。数组是相同数据类型元素的集合,属于引用类型,讲解了其定义、初始化和使用。方法主要用于表示功能,可减少代码冗余,介绍了语法、分类。还阐述了方法重载,当参数个数或类型不同但方法名相同时可构建重载。

数组:
定义:代表一组相同数据类型元素的集合.数组是一种数据类型(引用类型)
1.数组的定义和初始化
2.数组的使用(访问)
数组可以理解为 衣柜/ 橱柜 / 鞋柜 都表示是里面只能放同一类型的内容

int a ; //声明一个int 类型的变量名字为a
int[] b;//声明一个int 类型的数组 变量名为b ----里面只能存放int 类型的数据
char[] c;//声明一个char类型数组 变量名为c ----里面只能存放char 类型的数据

package day07;
/**
 * 数组的使用演示类:
 * */
public class ArrayDemo {
    public static void main(String[] args) {
        //1.数组的定义和初始化
        int[] arr = new int[3];//在内存中开辟了三块地方,每块地都是int类型的
        //初始化:静态初始化
        //当使用数组时,明确知道数组里面存的数值有多少个,且知道存储的数据 方可使用
        int[] arr1 = {100,200,300};//只能一行完成!
        //动态初始化
        //当声明一个数组时,只知道开多少块地方,但是不知道每块存多少数据,则可以使用动态初始化
        int[] arr2 = new int[3];
        //2.数组的访问
//        System.out.println(arr1[0]);
//        System.out.println(arr1[1]);
//        System.out.println(arr1[2]);
//      System.out.println(arr1[3]); 异常:ArrayIndexOutOfBoundsException 数组下标访问越界!
        arr2[0] = 99;
        System.out.println(arr2[0]);
        System.out.println(arr2[1]);
        System.out.println(arr2[2]);
    }
}

 /*
         *   需求:通过控制台输入成绩的方式,录入10名同学的成绩到数组中
         *       int[] scores = new int[10];
         *   例如:请输入第 1 名学生成绩
         *        100
         *        请输入第 2 名学生成绩
         *        66
         *        请输入第 3 名学生成绩
         *        59
         *       ......   成绩录入完毕
         *
         *       计算10名同学的平均成绩  : 总成绩 除  人数
         * */
        Scanner s = new Scanner(System.in);//创建一个扫描器System.out.println("请表示要录入多少名同学的成绩");
        int length = s.nextInt();
        int[] scores = new int[length];//开多少块空间取决于 需要录入多少
        int sum = 0;//用于记录总成绩
        for (int i = 0; i < scores.length; i++) {
            System.out.println("请输入第" + (i + 1) + "名同学的成绩!");
            scores[i] = s.nextInt();//将用户输入的数据 存到数组中下标为0的这块区域
            sum += scores[i];
        }
        System.out.println("录入成绩完毕!");
        System.out.println("班级的平均成绩"+(sum/scores.length));
        for (int i = 0; i < scores.length; i++) {
            System.out.println(scores[i]);
        }
方法

方法称之为(函数),方法主要用来表示一个功能。
适用性:当有一些重复性的逻辑,或者有一些需要重复计算的代码时,我们可以用方法来进行复用,减少代码的冗余。
方法的语法: [访问修饰符] 返回值类型 方法名称 ([参数]){ 方法体 }
1.访问修饰符:控制当前方法的可见范围(后续会详细去讲)
2.返回值类型:没有返回值 用void 来代表这个 ,如果有返回值,那需要写上对应的返回值类型即可,若写了返回值类型,则需要再方法体中的最后一行代码 用return 关键字 后面加上要返回的数据即可。返回的数据要与方法的返回值类型匹配。
3.方法的名称:遵循Java的命名规范,小驼峰命名法。要见名知意!
4.参数: 又叫做形式参数,主要就是占一个位置,供外部使用方式时传递具体的数据。
方法的分类:1.无参无返回值 2.有参无返回值 3.无参有返回值 4.有参有返回值
无参无返回值:

    public static void main(String[] args) {
        attack();//使用attack方法
        attack();
        attack();
    }
    //1.无参无返回值的方法
    //[访问修饰符]   返回值类型    方法名称 ([参数]){   方法体  }
    //定义一次 使用多次!
   static void attack(){//定义了一个无参无返回值的方法 方法名称叫 attack
        System.out.println("直拳!");
        System.out.println("摆拳!");
        System.out.println("上勾拳!");
    }

有参无返回值

/**
 * 有参无返回值的使用演示:
 */
public class MethodDemo2 {public static void main(String[] args) {
        //在使用方法时传入的参数叫做实参(实际参数!)
        //调用方法传递参数式,一定要符合当前方法的定义 方法要什么 你给什么!
        sayHi("云博",18);//调用打招呼的方法
    }
    //小括号中写的参数叫做形式参数:占了一个位置而已!
    //有参数无返回值的方法!
   static void sayHi(String name,int age){
        System.out.println(name +"同学您好!今年你已经"+ age+ " 岁了!");
    }}

无参有返回值的方法

        Scanner s = new Scanner(System.in);//创建一个扫描器
        s.nextInt(); //返回一个int 类型的数据
        s.nextDouble()//返回一个double类型的数据
        Math.random();//返回一个随机0~1的double类型的小数
package day08;import java.util.Scanner;/**
 * 无参有返回的方法使用演示:
 */
public class MethodDemo03 {public static void main(String[] args) {
       double p = getPI();//调用获取PI的方法  并接收存到了变量 p中、
        System.out.println(p);}//[访问修饰符]   返回值类型    方法名称 ([参数]){   方法体  }
    //无参数有返回值的方法定义
    //适用性:以后别人在调用方法时,只需要返回给调用者一个内容时 那么此时可以用无参有返回值
   static double getPI(){
        //返回
        return  3.1415926;
    }}


有参有返回值的使用:

package day08;/**
 * 有参有返回值的方法使用演示:
 */
public class MethodDemo04 {
    public static void main(String[] args) {
        /**
         *     小张!做一个程序 求 15 + 15 的计算结果
         * */
//        int a = 15;
//        int b = 15;
//        int result = a + b; //接收结果返回给 result、int r = add(10000,56454594);
        //什么时候需要接收,具体看调用者的需要,如果拿到结果要做后续处理运算的话 则需要...
        System.out.println(r);
//        /**
//         *     小张!做一个程序 求 66 + 100 的计算结果
//         * */
//        int c = 66;
//        int d = 100;
//        int result1 = c + d;
//        /**
//         *     小张!做一个程序 求 800 + 50000 的计算结果
//         * */
//        int e = 800;
//        int f = 50000;
//        int result2 = e + f;
    }//[访问修饰符]   返回值类型    方法名称 ([参数]){   方法体  }
   static int add(int a, int b) { //定义了一个有两个参数为int 类型,返回值为int类型的方法 名为add
        int result = a + b;
        //返回
        return result;
    }
}

方法的重载

方法重载的好处:当某个方法需求多变!仅仅只是因为参数个数可能不同参数类型不同,但是要做的方法逻辑相同的时候,此时可以使用一个方法名称来表示这不同的需求!这个过程称之为重载!
构建方法的重载条件:当方法的参数个数或类型不同时,方法名相同,则自动构建成重载!

   //[访问修饰符]    返回值类型    方法名称 ([参数]){   方法体  }
    static int add(int a, int b) { //定义了一个有两个参数为int 类型,返回值为int类型的方法 名为add
        int result = a + b;
        //返回
        return result;
    }
    //下列方法构建成了方法的重载,满足方法名相同  参数个数不同。
    static int add(int a, int b, int c) {
        return a + b + c;
    }
    //下列方法构建成了方法的重载,满足方法名相同  参数类型不同。
    static double add(double a, double b) {
        return a + b;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值