方法与重载_常量优化_Switch

本文介绍了Java中方法的定义、使用以及重载的概念。强调了方法不能在方法内部嵌套定义,void关键字与无返回值,以及方法重载的关键在于参数列表的不同,而非返回类型或参数名称。同时,通过示例展示了编译器的常量优化,如何在switch语句中使用不同数据类型,并讨论了其适用条件。
摘要由CSDN通过智能技术生成

方法

定义:代码块,便于分类和观察; 方法名称 -> 小驼峰式

public static  void farmer(){
    System.out.println("生产");
}
public static void seller(){
    System.out.println("销售");
}
public static void cook(){
    System.out.println("加工");
}

1.方法应定义在类中, 但是不能再方法中再定义方法形成嵌套。

2.void对应return;

方法重载(overload)

定义多个方法的名称一样,但是参数列表不一样。

例如:

public static int sum(int a, int b){
    return a+b;
}
public static int sum(int a, int b, int c){
    return a+b+c;
}
public static int sum(int a, int b, int c, int d){
    return a+b+d;
}

相同但是会根据输入的数据不同来自动选择使用的方法。

方法重载的有关因素:

1.参数个数不同;

2.参数类型不同;

3.参数的多类型顺序不同;

方法重载的无关因素:

1.与参数名称无关;

2.与返回值类型无关;

例题:比较两个数据是否相等
public class methodOverload {
    public static void main(String[] args) {
        byte a = 1, b = 2;
        short c = 3, d = 3;
        int e = 345, f = 345;
        System.out.println(isSame(a,b));
        System.out.println(isSame(c,d));
        System.out.println(isSame(e,f));
    }
    public static boolean isSame(byte a, byte b){
        System.out.println("Byte method executed!");
        if(a == b)
            return true;
        else
            return false;
    }
    public static boolean isSame(int a, int b){
        System.out.println("Int method executed!");
        if(a == b)
            return true;
        else
            return false;
    }
    public static boolean isSame(short a, short b){
        System.out.println("Short method executed!");
        if(a == b)
            return true;
        else
            return false;
    }
}

编译器的常量优化

short res = 5 + 8;
        System.out.println(res);
 

"5""8"默认都是int类型的,本来赋值给short会报错, 但是因为有编译器的常量优化所以在生成class文件的时候就会直接将其计算为13,然后赋值给short,又因为编译器的隐式强制转换,所以13被转换成short赋值给res,但是要注意这种情况仅适用于全为常量的情况


Switch

1.对象只能是基本数据类型的byte/short/char/int或是引用数据类型的String字符串/enum枚举。

2.case的前后顺序可以颠倒。

3.没有break会穿透到下一个case。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值