脚踏Java知识点(三)

简介: 脚踏Java知识点(三)

方法示例

输出较大值

public class crj {
    public static void main(String[] args) {
        getMax();
    }
    public static void getMax(){
        int a =10;
        int b=20;
        if(a>=b){
            System.out.println("较大的数是"+a);
        }else{
            System.out.println("较大的数是"+b);
        }
    }
}

带参数的方法调用

public class crj {
    public static void main(String[] args) {
        //字面量调用
        isEvenNumber(3);
        isEvenNumber(6);
        //变量的调用
        int number = 11;
        isEvenNumber(number);
        number = 12;
        isEvenNumber(number);
    }
    public static void isEvenNumber(int number) {
        if (number % 2 == 0) {
            System.out.println(true);
        } else {
            System.out.println(false);
        }
    }
}


输出较大值 数据来自方法参数

public class crj {
    public static void main(String[] args) {
        getMex(10,20);
        int x=20;
        int y=30;
        getMex(x,y);
    }
    public static void getMex(int a,int b){
        if(a>=b){
            System.out.println("较大的数是"+a);
        }else{
            System.out.println("较大的数是"+b);
        }
    }
}

判读是否为偶数 返回布尔值

public class crj {
    public static void main(String[] args) {
          //返回值需用变量接收
        boolean flag=isEvenNumber(10);
        System.out.println(flag);
        if(flag){
            System.out.println("是偶数");
        }
    }
    public static boolean isEvenNumber(int number){
        if(number%2==0){
            return true;
        }
        else {
            return false;
        }
    }
}

输出较大值—— 数据来自于参数

public class crj {
    public static void main(String[] args) {
//        int max = getMax(10,20);
//        System.out.println(max);
        int max = getMax(10, 20);//.val 自动输出左边内容
        System.out.println(max);//max.sout将max变量放到输出语句
        System.out.println(getMax(10, 20));
    }
    public static int getMax(int a, int b) {
        if (a >= b) {
            return a;
        } else {
            return b;
        }
    }
}

方法的定义与调用

1.求和 1~n之间的数据和

public class crj {
    public static void main(String[] args) {
        int result = sum(5);
        System.out.println("1-5的和是"+result);
        result=sum(100);
        System.out.println("1-100的和是"+result);
    }
    public static int sum(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += i;
        }
        return sum;
    }
}

2.比较相等 比较两个整数是否相等

public class crj {
    public static void main(String[] args) {
        boolean flag = comple(10, 20);
        System.out.println("10和20相等吗 " + flag);
        flag = comple(10, 10);
        System.out.println("10和10相等吗 " + flag);
    }
    public static boolean comple(int a, int b) {
        return a == b;//优化3
    }
}


3 获取三个整数的较大值

public class crj {
    public static void main(String[] args) {
        int  max = getMax(10, 20, 30);
        System.out.println("10,20,30中的较大值"+max);
    }
    public static int getMax(int a,int b,int c){
        int temMax=a>b?a:b;     
        int max=temMax>c?temMax:c;
        return max;
    }
}

4 水仙花数

public class crj {
    public static void main(String[] args) {
        for(int i =100;i<1000;i++){
            if(isFlour(i)){         //优化
                System.out.println(i);
            }
        }
    }
    public static boolean isFlour(int number) {
        int ge = number % 10;
        int shi = number / 10 % 10;
        int bai = number / 100;
        if (ge * ge * ge + shi * shi * shi + bai * bai * bai == number) {
            return true;
        } else {
            return false;
        }
    }
}


方法重载

在Java中,方法的重载(Overload)是指在同一个类中定义了多个具有相同名
称但参数列表不同的方法。这意味着可以使用相同的方法名,但根据不同的参
数类型、参数个数或参数顺序来调用不同的方法。
重载的目的
为了提高代码的可读性和灵活性,通过给方法提供多个参数组合的选项,以适
应不同的使用场景。
方法重载的几个特点和规则:
方法重载必须在同一个类中进行。
方法名必须相同,但在同一类中,方法的参数列表必须不同(参数类型、参数个
  数或参数顺序)。
返回类型不会影响方法的重载。即使返回类型不同,只要参数列表不同,仍然被
  认为是重载。
方法重载与方法的修饰符、返回值无关。
方法重载可以被继承。
调用重载方法时,编译器会根据实参的具体类型匹配合适的重载方法。

重载方法的示例:

public class OverloadExample {
    public void showMessage(String message) {
        System.out.println("Message: " + message);
    }
    public void showMessage(int number) {
        System.out.println("Number: " + number);
    }
    public void showMessage(String message, int number) {
        System.out.println("Message: " + message + ", Number: " + number);
    }
}
在上面的示例中,OverloadExample 类中定义了三个名为 showMessage 的方
法,它们具有不同的参数列表。第一个方法接收一个 String 类型的参数,第
二个方法接收一个 int 类型的参数,第三个方法接收一个 String 类型和一
个 int 类型的参数。
代码示例1
public class crj {
    public static void main(String[] args) {
        int  result = sum(10, 20);
        System.out.println(result);
        double result2 = sum(10.0, 20.);
        System.out.println(result2);
        int result3=sum(10,20,30);
        System.out.println(result3);
    }
    public static int sum(int a,int b){
        return a+b;
    }
    public static double sum(double a,double b){
        return a+b;
    }
    public static int sum(int a,int b,int c){
        return a+b+c;
    }
}



代码示例2----比较相等
public class crj {
    public static void main(String[] args) {
        System.out.println(compare(10,20));
        System.out.println(compare((byte) 10,(byte)20));
        System.out.println(compare((short) 10,(short) 20));
        System.out.println(compare( 10l,20l));
    }
    public static  boolean compare(int a,int b){
        System.out.println("int");
        return a==b;
    }
    public static  boolean compare(byte a,byte b){
        System.out.println("byte");
        return a==b;
    }
    public static  boolean compare(short a,short b){
        System.out.println("short");
        return a==b;
    }
    public static  boolean compare(long a,long b){
        System.out.println("long");
        return a==b;
    }
}
相关文章
|
3月前
|
安全 Java 编译器
揭秘JAVA深渊:那些让你头大的最晦涩知识点,从泛型迷思到并发陷阱,你敢挑战吗?
【8月更文挑战第22天】Java中的难点常隐藏在其高级特性中,如泛型与类型擦除、并发编程中的内存可见性及指令重排,以及反射与动态代理等。这些特性虽强大却也晦涩,要求开发者深入理解JVM运作机制及计算机底层细节。例如,泛型在编译时检查类型以增强安全性,但在运行时因类型擦除而丢失类型信息,可能导致类型安全问题。并发编程中,内存可见性和指令重排对同步机制提出更高要求,不当处理会导致数据不一致。反射与动态代理虽提供运行时行为定制能力,但也增加了复杂度和性能开销。掌握这些知识需深厚的技术底蕴和实践经验。
75 2
|
4月前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
68 0
|
28天前
|
安全 Java 编译器
Java基础-知识点(二)
Java基础-知识点(二)
12 0
|
28天前
|
存储 缓存 安全
Java基础-知识点(一)
Java基础-知识点(一)
15 0
|
3月前
|
安全 Java 程序员
阿里开发手册 嵩山版-编程规约 (四)OOP规约-Java程序员必看知识点!!!
《阿里开发手册 嵩山版》的OOP规约部分强调了面向对象编程的最佳实践,包括正确使用静态方法、覆写方法的注解、可变参数的使用、接口的稳定性、equals和compareTo方法的使用、BigDecimal的正确比较、包装类与基本数据类型选择、POJO类的属性和方法设计等,以提升代码的质量和维护性。
|
4月前
|
Java 大数据 API
Java语言的核心知识点与特性
Java 是一种广泛使用的编程语言,自 1995 年发布以来,它已经成为了企业级应用开发、移动应用开发、大数据处理和云计算等领域的主流技术。
59 0
|
4月前
|
存储 并行计算 安全
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
74 0
|
4月前
|
Java
Java面试题:Java内存模型与并发编程知识点,解释Java中“happens-before”的关系,分析Java中的内存一致性效应(Memory Consistency Effects)及其重要性
Java面试题:Java内存模型与并发编程知识点,解释Java中“happens-before”的关系,分析Java中的内存一致性效应(Memory Consistency Effects)及其重要性
28 0