方法

  • 方法是解决一类问题的步骤的有序组合

  • 包含于类/对象中

设计原则

方法的原子性:一个方法只实现一个功能

定义与调用

方法的组成:

方法的调用

  • 若方法返回值为空

    System.out.println("Hello!");
  • 若方法返回值不为空

    int a = sum(b,c);

方法重载

在同一个类中,有相同名称,因参数不同,而有不同的实现,称为重载。

如:

package com.muling1m;

public class Demo {
public static void main(String[] args){
int m = max(10,20,30);//全为int
System.out.println("重载调用1:"+m);
double n = max(10.0,20,30);//有double
System.out.println("重载调用2:"+n);
}
public static double max(double n1,double n2,double n3){
if(n1 > n2 && n1 > n3){
return n1;
}
else if(n2 > n1 && n2 > n3){
return n2;
}
else{
return n3;
}
}
public static int max(int n1,int n2,int n3){
if(n1 > n2 && n1 > n3){
return n1;
}
else if(n2 > n1 && n2 > n3){
return n2;
}
else{
return n3;
}
}
}

注意

  • 方法名称相同
  • 参数列表不完全相同
  • 返回值可以相同也可以不同
  • 返回类型不同不能定义一个重载

命令行传参

在Dos窗口运行一个程序时,通过main函数向程序内传递参数

public class Demo1 {
public static void main(String[] args){ }
}

在main函数定义的时候,其内参数为args,命令行就是通过args传参。

public class Demo1 {
public static void main(String[] args){
for (int i = 0; i< args.length; i++){
System.out.println("args["+i+"]="+args[i]);
}
}
}

执行结果为:

可变参数

JDK1.5后,在参数列表的声明中,对于同一类型的可变参数提供的特性

可以指定参数类型后添加一个省略号(…)代表可变参数,省略号后添加可变参数数组的名称

一个方法只能支持一个可变参数且应在最后,普通参数在其之前定义完毕

示例:

public class Demo2 {
public static void maxPrint(int ... numbers){
//numbers为可变参数数组
if(numbers.length == 0){
System.out.println("No args!");
return;
}
int result = numbers[0];
for (int num: numbers){
//增强for
if(result < num) result=num;
}
System.out.println("Max:"+result);
}
public static void main(String[] args){
maxPrint(1,2,3,123,5344,1321,233,32523);
}
}

打印结果为:32523

java基础:方法的更多相关文章

  1. Java基础-方法(method)的应用

    Java基础-方法(method)的应用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 方法就是定义在类中,具有特定功能的一段小程序,方法也称为函数(function),方法可以接 ...

  2. Java基础——方法的调用

    Java基础--方法的调用     总结: 1. 在同一个类中-- 对于静态方法,其他的静态和非静态方法都可以直接通过"方法名"或者"类名.方法名"调用它. 对 ...

  3. 《Java基础——方法的调用》

    Java基础--方法的调用     总结: 1. 在同一个类中-- 对于静态方法,其它的静态和非静态方法都可以直接通过"方法名"或者"类名.方法名"调用它. 对 ...

  4. Java基础-方法重载和方法重写的区别

    什么是java方法重载 (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现. (2)  ...

  5. 三、java基础-方法含义_重载_递归

    1.java中方法: 方法的含义: 就是一个代码片段,可以完后某个特定的功能,可以重复利用: 定义方法的语法: [方法的修饰符列表]   方法的返回值类型   方法名{    java语句; } 注意 ...

  6. [Java 基础]方法

    方法的定义 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 语法 修饰符 返回值类型 方法名 (参数 ...

  7. JAVA基础——方法笔记

    java方法_学习笔记 由于我本人对java方法已经比较熟悉了,java方法的定义和使用也比较简单,这里只列举了基于我自身容易搞错的地方,希望对大家的学习有帮助!! 方法的参数可以是基本数据类型,如 ...

  8. Java基础-方法(07)

    方法的定义 方法其实就是完成特定功能的代码块在很多语言里面都有函数的定义函数在Java中被称为方法 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) { 函数体; ret ...

  9. Java基础方法整理

    方法 9.1方法概述 方法就是用来完成解决某件事情或实现某个功能的办法 可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法.方法,一般都有一个返回值,用来作为事情的处理 ...

  10. Java基础-方法

    方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 注意: 在一些其它语言中方法指过程和函数.一个 ...

随机推荐

  1. mysql 子查询 联结 组合查询

    子查询 SELECT cust_id FROM orders WHERE order_num IN (SELECT order_num FROM orderitems WHERE prod_id='T ...

  2. Golang 实现时间戳和时间的转化

    何为时间戳: 时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息.签名参数.签名时间等信息.时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前 ...

  3. docker支持ipv6

    方法 方法一.Pv6地址 不为容器中的服务特别分配IPv6地址. 只要Docker把外部的IPv6地址端口映射到容器的IPv4端口上,随后访问主机的IPv6相应端口即可. 方法二.为Docker网络分 ...

  4. Emgu实现图像分割

    C#通过Emgu这个图像处理库,可以很方便的将一幅单通道图像分割为R.G.B三个单通道图像. Image<Bgr, Byte> ImageBGR = null; Image<Bgr, ...

  5. 删除redis对应key的缓存

    [root@zhyly-pre-002 ~]# /usr/local/redis/bin/redis-cli -p 6379 #登录redis 127.0.0.1:6379> auth 'Red ...

  6. hashcat 命令

    hashcat --force --stdout -a 6 tmp.txt ?d?d?d?d?d?d?d > result.txt tips:将tmp.txt字典中的内容与7位随机掩码字符组合, ...

  7. c#入参使用引用类型为啥要加ref?

    摘一段来自官网的说明 :方法的参数列表中使用 ref 关键字时,它指示参数按引用传递,而非按值传递. ref 关键字让形参成为实参的别名,这必须是变量. 换而言之,对形参执行的任何操作都是对实参执行的 ...

  8. 用最少的代码模拟gRPC四种消息交换模式

    我们知道,建立在HTTP2/3之上的gRPC具有四种基本的通信模式或者消息交换模式(MEP: Message Exchange Pattern),即Unary.Server Stream.Client ...

  9. python贪心算法——以“修理牛棚”题目为例

    [USACO1.3]修理牛棚 Barn Repair 题目描述 在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶.门被吹飞了 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个 ...

  10. OpenCV之C++经典案例

    四个案例实战 1.刀片缺陷检测 2.自定义对象检测 3.实时二维码检测 4.图像分割与色彩提取 1.刀片缺陷检测 问题分析 解决思路 尝试二值图像分析 模板匹配技术 代码实现 #include < ...