Java学习教程,从入门到精通,Java方法语法的知识点总结(21)

1、Java方法语法的知识点总结

  1. 方法定义

    • 方法是执行特定任务的代码块。

    • 方法包含一个方法头和一个方法体。

    • 语法:

      [修饰符] 返回值类型 方法名(参数列表) {
          // 方法体
      }
      
  2. 修饰符

    • 访问修饰符(如 public, private, protected
    • 其他修饰符(如 static, final, abstract, synchronized
  3. 返回值类型

    • 方法可以返回一个值,也可以不返回(即 void)。
  4. 方法名

    • 方法的名称是标识符,遵循Java的命名规则。
  5. 参数列表

    • 方法可以接收参数,也可以不接收。
    • 参数列表包括参数类型和参数名,多个参数用逗号分隔。
  6. 方法体

    • 方法体包含实际执行的代码。
    • 可以包含局部变量、控制结构(如 if, for, while)等。
  7. 调用方法

    • 通过对象(对于非静态方法)或类名(对于静态方法)调用。

示例代码

以下是一个包含多个方法的Java类示例,展示了方法的定义、调用以及参数传递。

public class MethodExample {

    // 静态方法,没有返回值,没有参数
    public static void sayHello() {
        System.out.println("Hello, World!");
    }

    // 非静态方法,返回整数,接收两个整数参数并返回它们的和
    public int add(int a, int b) {
        return a + b;
    }

    // 静态方法,返回字符串,接收一个字符串参数并返回其大写形式
    public static String toUpperCase(String str) {
        return str.toUpperCase();
    }

    // 主方法,程序的入口点
    public static void main(String[] args) {
        // 调用静态方法
        sayHello();

        // 创建对象
        MethodExample example = new MethodExample();

        // 调用非静态方法
        int sum = example.add(5, 3);
        System.out.println("Sum: " + sum);

        // 调用静态方法,传递字符串参数
        String upperStr = toUpperCase("hello, world!");
        System.out.println("Uppercase String: " + upperStr);
    }
}

代码解释

  1. sayHello 方法

    • 这是一个静态方法,没有返回值(void),也没有参数。
    • 它打印 “Hello, World!” 到控制台。
  2. add 方法

    • 这是一个非静态方法,返回一个整数。
    • 它接收两个整数参数,并返回它们的和。
  3. toUpperCase 方法

    • 这是一个静态方法,返回一个字符串。
    • 它接收一个字符串参数,并返回该字符串的大写形式。
  4. main 方法

    • 这是程序的入口点。
    • 它首先调用 sayHello 方法。
    • 然后创建 MethodExample 类的一个实例,并调用 add 方法。
    • 最后调用 toUpperCase 方法,并传递一个字符串参数。

通过这些示例,你可以更好地理解Java方法的定义、调用以及参数传递的基本语法。

以下是一些具体的Java方法案例,涵盖了不同的功能和用途:

1. 计算两个数的和

这是一个非常基础的方法,用于计算两个整数的和。

public class Calculator {

    // 计算两个整数的和
    public int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        Calculator calc = new Calculator();
        int result = calc.add(5, 3);
        System.out.println("The sum of 5 and 3 is: " + result);
    }
}

2. 判断一个数是否为素数

这个方法接收一个整数,并判断它是否为素数。

public class PrimeChecker {

    // 判断一个数是否为素数
    public boolean isPrime(int number) {
        if (number <= 1) {
            return false;
        }
        for (int i = 2; i <= Math.sqrt(number); i++) {
            if (number % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        PrimeChecker checker = new PrimeChecker();
        System.out.println("Is 29 a prime number? " + checker.isPrime(29));
        System.out.println("Is 15 a prime number? " + checker.isPrime(15));
    }
}

3. 字符串反转

这个方法接收一个字符串,并返回其反转后的版本。

public class StringReverser {

    // 反转字符串
    public String reverse(String str) {
        return new StringBuilder(str).reverse().toString();
    }

    public static void main(String[] args) {
        StringReverser reverser = new StringReverser();
        String reversed = reverser.reverse("Hello, World!");
        System.out.println("Reversed string: " + reversed);
    }
}

4. 数组排序

这个方法接收一个整数数组,并使用冒泡排序算法对其进行排序。

public class ArraySorter {

    // 使用冒泡排序算法对数组进行排序
    public void bubbleSort(int[] array) {
        int n = array.length;
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    // 交换元素
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        ArraySorter sorter = new ArraySorter();
        int[] array = {64, 34, 25, 12, 22, 11, 90};
        sorter.bubbleSort(array);
        System.out.println("Sorted array:");
        for (int i : array) {
            System.out.print(i + " ");
        }
    }
}

5. 计算阶乘

这个方法接收一个整数,并返回其阶乘。

public class FactorialCalculator {

    // 计算阶乘
    public long factorial(int n) {
        if (n == 0) {
            return 1;
        }
        return n * factorial(n - 1);
    }

    // 也可以使用迭代方法避免递归调用栈溢出(对于大数)
    /*
    public long factorialIterative(int n) {
        long result = 1;
        for (int i = 1; i <= n; i++) {
            result *= i;
        }
        return result;
    }
    */

    public static void main(String[] args) {
        FactorialCalculator calc = new FactorialCalculator();
        System.out.println("Factorial of 5 is: " + calc.factorial(5));
        // 如果使用迭代方法,可以这样调用和打印结果
        // System.out.println("Factorial of 5 (iterative) is: " + calc.factorialIterative(5));
    }
}

这些例子展示了Java中方法的定义、调用以及它们在不同场景下的应用。每个方法都接收一些输入(参数),执行一些操作,并可能返回一些输出(返回值)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/910503.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小时收入:衡量工作效率与个人自由的标准

小时收入&#xff0c;就是按照小时来计算一个人的收入。比如&#xff0c;一个月一共工作200小时&#xff0c;获得的总收入是20000元&#xff0c;那么小时收入就是100元/小时。 小时收入可以反应一个人的赚钱效率。 可能两个人的月收入一样&#xff0c;但是付出的总工作时间不…

RFID文件柜在文件管理中的作用

一、RFID文件柜系统概述 1.1 RFID技术简介 RFID&#xff08;Radio Frequency Identification&#xff0c;无线射频识别&#xff09;技术是一种非接触式的自动识别技术&#xff0c;它通过无线电讯号识别特定目标并读写相关数据&#xff0c;无需识别系统与特定目标之间建立机械…

mysql代码生成器

项目 pom 文件内容 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/…

域控操作二十四:主域故障辅域接替

模拟环境&#xff1a;上海DC1故障无法开机&#xff0c;导致只有一个DNS的电脑无法上网&#xff08;实际可以添加DC2但是为了实验就不说了&#xff09; FSMO还在DC1上 使用powershell把角色迁移到DC2 ntdsutil roles connections connect to server DC2SHA.whbk.cn quitSeize …

Redis(2):内存模型

一、Redis内存统计 工欲善其事必先利其器&#xff0c;在说明Redis内存之前首先说明如何统计Redis使用内存的情况。 在客户端通过redis-cli连接服务器后&#xff08;后面如无特殊说明&#xff0c;客户端一律使用redis-cli&#xff09;&#xff0c;通过info命令可以查看内存使用情…

数据分析:宏基因组DESeq2差异分析筛选差异物种

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍原理:计算步骤:结果:加载R包准备画图主题数据链接导入数据Differential abundance (No BP vs 2BP TA)构建`countData`矩阵过滤低丰度物种构建DESeq数据对象DESeq2差异分析画图Di…

泷羽sec学习打卡-shodan扫描4

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于shodan的那些事儿-4 一、shodan4如何查看公网ip&#xff1f;如何查看自己的ip&#xff1f;如何查看出…

abap 可配置通用报表字段级日志监控

文章目录 1.功能需求描述1.1 功能1.2 效果展示2.数据库表解释2.1 表介绍3.数据库表及字段3.1.应用日志数据库抬头表:ZLOG_TAB_H3.2.应用日志数据库明细表:ZLOG_TAB_P3.3.应用日志维护字段配置表:ZLOG_TAB_F4.日志封装类5.代码6.调用方式代码7.调用案例程序demo1.功能需求描述 …

Spark中的shuffle

Shuffle的本质基于磁盘划分来解决分布式大数据量的全局分组、全局排序、重新分区【增大】的问题。 1、Spark的Shuffle设计 Spark Shuffle过程也叫作宽依赖过程&#xff0c;Spark不完全依赖于内存计算&#xff0c;面临以上问题时&#xff0c;也需要Shuffle过程。 2、Spark中哪…

golang安装,常用框架安装,记忆点

0.安装 虚拟机扩容 【Linux干货分享】LVM快速扩容虚拟机磁盘_哔哩哔哩_bilibili newvim 安装 sudo add-apt-repository ppa:neovim-ppa/stable sudo apt-get update sudo apt-get install -y neovim 最强Vim新手指南&#xff0c;手把手教你打造只属于自己的代码编辑器&am…

亚马逊旺季爆品攻略:如何利用旺季打造爆品?

随着假日季的脚步日益临近&#xff0c;亚马逊卖家们正摩拳擦掌&#xff0c;准备迎接这一年度的销售高峰。本文将为您揭示如何在旺季中抓住机遇&#xff0c;通过精心策划和执行一系列策略&#xff0c;让您的产品在众多竞争对手中脱颖而出&#xff0c;成为真正的爆品&#xff01;…

别卷Transformer了!时序卷积这么做,一样发顶会!

Transformer爆火之后&#xff0c;时间序列领域基本上算是被占领了&#xff0c;围绕此类相关的研究也是非常之卷。这种情况下&#xff0c;我们不妨了解一下时序卷积。 在大规模时间序列数据处理任务中&#xff0c;时序卷积是一种非常重要的方法&#xff0c;它结合了传统CNN的特…

【C++】STL中的list容器详解及常用函数用法

个人主页: 起名字真南的CSDN博客 个人专栏: 【数据结构初阶】 &#x1f4d8; 基础数据结构【C语言】 &#x1f4bb; C语言编程技巧【C】 &#x1f680; 进阶C【OJ题解】 &#x1f4dd; 题解精讲 目录 &#x1f4cc; 1 引言&#x1f4cc;2 list容器✨2.1 list容器简介✨2.2 li…

使用kalibr_calibration标定相机(realsense)和imu(h7min)

vslam-evaluation/VINS/Installation documentation/4.IMU和相机联合标定kalibr_calibration.md at master DroidAITech/vslam-evaluation GitHub 目录 1.kalibr安装 1.1安装依赖项 1.2创建工作空间 1.3下载kalibr并编译 1.4设置环境变量 2.准备标定板 3.配置驱动和打…

论文阅读:基于语义分割的非结构化田间道路场景识别

论文地址&#xff1a;DOI: 10.11975/j.issn.1002-6819.2021.22.017 概要 环境信息感知是智能农业装备系统自主导航作业的关键技术之一。农业田间道路复杂多变&#xff0c;快速准确地识别可通行区域&#xff0c;辨析障碍物类别&#xff0c;可为农业装备系统高效安全地进行路径规…

能识别黑烟的摄像头

能识别黑烟的摄像头主要应用于监测车辆尾气排放情况&#xff0c;特别是针对排放黑烟的车辆进行抓拍和识别。以下是朗观视觉对这类摄像头的详细介绍&#xff1a; 一、主要特点 智能识别&#xff1a;摄像头内置视频识别功能&#xff0c;能够实时分析视频中的车辆尾气排放情况&am…

Docker镜像分成

1. 镜像分层原理 1.1 镜像分层的定义与结构 Docker 镜像的分层存储机制是其核心特性之一&#xff0c;它允许 Docker 镜像由多个只读层组成&#xff0c;这些层叠加在一起形成一个完整的文件系统。每个层代表 Dockerfile 中的一个指令&#xff0c;并且每一层都是不可变的&#…

2020年美国总统大选数据分析与模型预测

数据集取自&#xff1a;2020年&#x1f1fa;&#x1f1f8;&#x1f1fa;&#x1f1f8;美国大选数据集 - Heywhale.com 前言 对2020年美国总统大选数据的深入分析&#xff0c;提供各州和县层面的投票情况及选民行为的可视化展示。数据预处理阶段将涉及对异常值的处理&#xff0…

微服务系列五:避免雪崩问题的限流、隔离、熔断措施

目录 实验环境说明 前言 一、一片小雪花引起的雪崩&#xff01; 1.1 雪崩问题&#xff08;级联失败问题&#xff09;示意图 1.2 雪崩问题的产生原因与解决策略 二、雪崩问题的具体解决策略 2.1 请求限流 2.2 线程隔离 2.3 服务熔断 2.4 总结——具体解决策略 三、微…