Java基础补习---Day 05

一、方法

  1. 格式
访问修饰符  返回值类型  方法名(参数类型 参数名,...){
    方法体;
     【return 值】
}

访问修饰符 :目前为止 public static

返回值类型 : 基本数据类型【字符型char 整数型byte、short、int、long 布尔型boolean 浮点型float、double】 String void

方法名,参数名 : 自定义的 符合标识符命名规则即可

参数类型: 基本数据类型【字符型char 整数型 布尔型 浮点型】 String

注意:方法定义在类里方法外;不调用 不执行;写方法只要考虑 返回值类型和 参数 【要不要参数 要什么类型 几个】

  1. 方法的调用

调用方法:

(1)直接调用。有返回值类型的方法,使用直接调用没意义

(2)输出调用。在输出语句中调用

(3) 赋值调用。把调用的结果赋值给一个变量

案例演示:

public class Demo01 {
// 入口
    public static void main(String[] args) {
    System.out.println(sum(10,20));
    int c = sum(6,7);
    System.out.println(c);
    // 需求 :谁说我要求的值 就是10 和20 的和 为了应对不同的需求:
    // 未来 你想求哪两个数字的和 你告诉方法 方法帮你求
    }
    // 两个数字求和 方法 有返回值类型 int 没参数
    // public static int sum(){
    // int a = 2;
    // int b = 3;
    // int c = a+b;
    //
    // // 返回的值 的类型必须和 返回值类型一致
    // return c;
    // }
    // 两个数字求和 方法 有返回值类型 int 要参数【两个 int 】
    public static int sum(int a,int b){
    int c = a+b;
    // 返回的值 的类型必须和 返回值类型一致
    return c;
    }
}

注意:

(1)方法不调用不执行

(2)方法与方法是平级关系,不能嵌套定义

(3)方法定义的时候参数之间用逗号隔开

(4)方法调用的时候不用再传递数据类型

(5)如果方法有明确的返回值,一定要有return带回一个值

案例演示:

//键盘录入,行和列 输入“*”
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入行:");
        int row = sc.nextInt();
        System.out.print("请输入列:");
        int lie = sc.nextInt();
        //调用
        printXing(row,lie);
    }

    //带参数、没有返回值的 方法
    public static void printXing(int x,int y){
        for (int i=1;i<=x;i++){
            for (int j=1;j<=y;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
  1. 方法重载

概述:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

方法重载特点:

(1)与返回值类型无关,只看方法名和参数列表

(2)在调用时,虚拟机通过参数列表的不同来区分同名方法

案例演示:

//数字求和
public static void main(String[] args) {
    System.out.println(sum(10,20));
    System.out.println(sum(10,20,30));
    }
    public static int sum(int a,int b){
    int c = a+b;
    return c ;
    }
    public static double sum(double a,int b){
    double c = a+b;
    return c ;
    }
    public static int sum(int a,int b,int c){
    int d = a+b+c;
    return d;
}

二、数组

  1. 数组的概念:

数组是存储同一种数据类型多个元素的集合(可以看成是一个容器),数组既可以存储基本数据类型,也可以存储引用数据类型

  1. 数组初始化概述:

Java中的数组必须先初始化,然后才能使用。所谓初始化,就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

  1. 数组的初始化方式

动态初始化:只指定数组长度,由系统为数组分配初始值

静态初始化:指定每个数组元素的初始值,由系统决定数组长度

  1. 动态初始化

格式:数据类型[ ] 数组名 = new 数据类型[数组长度];

数组长度其实就是数组中元素的个数。

举例:

int[ ] arr = new int[3];

解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值。

一个数组内存图解:

两个数组内存图解:

案例演示:

public static void main(String[] args) {
    int[] arr = new int[3];
    System.out.println(arr);
    arr[0] = 100;
    System.out.println(arr[0]);
    System.out.println(arr[1]);
    System.out.println(arr[2]);
    // 数组3
    int[] arr3 =arr;
    System.out.println(arr3[0]);
    System.out.println(arr3);
    arr3[0] = 1000;
    arr3[1] = 200;
    System.out.println(arr[0]);
    System.out.println(arr3[0]);
    System.out.println(arr[1]);
    System.out.println(arr[2]);
}
  1. 静态初始化

格式:

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};

简化写法:

数据类型[] 数组名 = {元素1,元素2,…};

案例演示:

public static void main(String[] args) {
    // 静态初始化
    // int[] arr =new int[]{1,2,3};
    // 简化定义方式
    int[] arr ={1,2,3,3,4,5};
    // 输出第一个元素的值
    System.out.println(arr[0]);
    System.out.println(arr[1]);
    System.out.println(arr[2]);
    // 重新赋值
    arr[0] = 1000;
    System.out.println(arr[0]);
}
  1. 数组遍历:

遍历就是得到数组中的每个元素

案例演示:

public static void main(String[] args) {
        int [] arr = {12,12,34,23,45,23,45};
        for (int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }

三、位运算符

课后练习:

//1.求数组中每个元素的和、平均值
public class Demo06 {
    public static void main(String[] args) {
        int [] arr = new int[]{18,19,17,20,21,22,23,24,22,25};
        int sum = 0;
        for(int i=0;i<arr.length;i++){
            sum = sum+arr[i];
        }
        double avg = sum/arr.length;
        System.out.println("和为:"+sum);
        System.out.println("平均值为:"+avg);
    }
}
//2.键盘录入,输入几,就打印几几乘法表
public class Demo03 {
    public static void main(String[] args) {
        //键盘录入,几几乘法表
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入数字:");
        int num = sc.nextInt();
        //调用
        printChengFa(num);
    }
    //定义方法
    public static void printChengFa(int x){
        for (int i=1;i<=x;i++){
            for (int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+j*i+"\t");
            }
            System.out.println();
        }
    }
}
//定义方法,遍历数组求最大、最小值
public class Test01 {
    public static void main(String[] args) {
        int [] arr = {1,12,12,34,89,23,45,23,45};
        System.out.println("最大值是:"+getMax(arr));
        System.out.println("最小值是:"+getMin(arr));
    }
    //获取最大值
    public static int getMax(int[] arr){
        int max = arr[0];
        for (int i=0;i<arr.length;i++){
            if (max>arr[i]){
                max = max;
            }else {
                max = arr[i];
            };
        }
        return max;
    }

    //获取最小值
    public static int getMin(int[] arr){
        int min = arr[0];
        for (int i=0;i<arr.length;i++){
            if (min<arr[i]){
                min = min;
            }else {
                min = arr[i];
            }
        }
        return min;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值