1.方法定义的格式

  方法就是完成特定功能的代码块

  修饰符 返回值类型 方法名(参数类型 参数名1, 参数类型 参数名2...){

    方法体;

    return 返回值;

  }

  修饰符:

    初学者只需记住public static

  返回值类型:

    用于限定返回值数据类型

  方法名:

    一个名字,方便我们调用方法

  参数类型:

    用于接受调用方法时传入的数据的类型

  参数名:

    用于接收调用方法时传入的数据的变量

  方法体:

    完成功能的代码

  return:

    结束方法,把返回值带给调用者

2.调用方法的三种方式:

  a.单独调用
    方法名()
  b.打印调用
    System.out.println(方法名())
  c.赋值调用
    方法名(参数1,参数2...)

3.方法的注意事项:

  a.方法应该定义在类中,但是不能在方法中再定义方法
  b.方法的定义顺序无所谓
  c.方法定义之后不会自己执行,只有调用才会执行
  d.如果方法由返回值,必须有return
  f.return后边的返回值类型与方法定义的返回值类型相同
  g.对于void类型,最后的return可以省略
  h.一个方法中可以有多个return语句,但是必须保证只有一个能被执行到

4.break,continue和return的区别

  break:只能用在switch和循环中,表示结束这个循环
  continue:只能用在循环中,表示跳过此次循环,继续下一个循环
  return:用在方法中,表示此方法到此结束

5.方法重载的概述和基本使用

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

  方法重载特点:

    a.与返回值类型无关,只看方法名和参数列表

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

/*
* 需求:比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,
* 并在main方法中进行测试
*/
public class MethodTest {
public static void main(String[] args) {
// 调用
System.out.println(compare(10, 20));
System.out.println("-------------");
System.out.println(compare((byte)10, (byte)20));
System.out.println("-------------");
System.out.println(compare((short)10, (short)20));
System.out.println("-------------");
//System.out.println(compare((long)10, (long)20));
System.out.println(compare(10L, 20L));
} // 两个byte类型的
public static boolean compare(byte a, byte b) {
System.out.println("byte");
// 第一种写法
// boolean flag = a==b?true:false;
// return flag;
// 第二种写法
// boolean flag = a == b;
// return flag;
// 第三种写法
return a == b;
} // 两个short类型的
public static boolean compare(short a, short b) {
System.out.println("short");
return a == b;
} // 两个int类型的
public static boolean compare(int a, int b) {
System.out.println("int");
return a == b;
} // 两个long类型的
public static boolean compare(long a, long b) {
System.out.println("long");
return a == b;
}
}

6.方法中参数传递

  a.方法的形式参数为基本数据类型

     形式参数的改变不影响实际参数。

    形式参数:用于接收实际数据的变量

      实际参数:实际参与运算的变量

   b.方法的形参为引用数据类型

     形式参数的改变直接影响实际参数。引用的时参数的地址

// 参数传递的经典案例

class Test{

    public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a:"+a+",b:"+b); //a:10,b:20
change(a,b);
System.out.println("a:"+a+",b:"+b); //a:10,b:20
     // a,b的值在前后并没有发生改变 int[] arr = {1,2,3,4,5};
change(arr);
System.out.println(arr[1]); // 4
      //数组的值发生改变
}     // 参数时基本数据类型
public static void change(int a,int b) {
System.out.println("a:"+a+",b:"+b); //a:10,b:20
a = b;    //a=20
b = a + b;   //b=40
System.out.println("a:"+a+",b:"+b); //a:20,b:40
}
    // 参数是引用数据类型
public static void change(int[] arr) { //arr={1,2,3,4,5};
for(int x=0; x<arr.length; x++) {
if(arr[x]%2==0) {
arr[x]*=2;
}
}
    //arr={1,4,3,8,5};
}
}

    

7.打印所有的水仙花数

public class MethodTest2 {
//把所有的水仙花数打印在控制台
public static void printFlower() {
for(int x=100; x<1000; x++) {
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10; if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x){
System.out.println(x);
}
}
} public static void main(String[] args) {
printFlower();
}
}

JAVAEE学习day04方法的定义和重载的更多相关文章

  1. JAVA基础学习之路(二)方法定义,重载,递归

    一,方法的定义: package test; public class test1 { public static void main(String args[]) { int result = ad ...

  2. Java方法的定义以及调用、方法重载、可变参数以及递归

    目录 何谓方法 方法的定义及调用 方法的定义 方法调用 方法重载 命令行传参 可变参数 递归 何谓方法 Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序组合 方法包含于 ...

  3. java_方法的定义、调用、重载

    方法的定义 1 概述 方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能. 当我们需要这个功能的时候,就可以去调用.这样即实现了代码的复用性,也解决了代码冗余的现象. 2 ...

  4. Java | 方法的定义 & 重载 & 递归

    方法 方法就是一段用来完成特定功能的代码片段.   方法用于定义该类或该类的实例的行为特征和功能实现.方法是类和对象行为特征的抽象.在面向对象中,整个程序的基本单位是类,方法是从属于类和对象的. 方法 ...

  5. java基础学习总结——方法的重载(overload)

    一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法 ...

  6. [转载]JavaEE学习篇之——JQuery技术详解

    原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/32102187 1.简介2.工具3.jQuery对象 1.DOM对象转化成j ...

  7. Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?

    原文:http://www.xuebuyuan.com/1608083.html 最近在研究Activity的启动流程,老罗的blog在看,也找了其它资料学习,也跟过Android4.3的源码, 在跟 ...

  8. 乐字节Java编程之方法、调用、重载、递归

    一.概述 方法是指人们在实践过程中为达到一定目的和效果所采取的办法.手段和解决方案. 所谓方法,就是解决一类问题的代码的有序组合,是一个功能模块.编程语言中的方法是组合在一起来执行操作语句的集合.例如 ...

  9. java基础:方法的定义和调用详细介绍,方法同时获取数组最大值和最小值,比较两个数组,数组交换最大最小值,附练习案列

    1. 方法概述 1.1 方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可 ...

随机推荐

  1. cs231n spring 2017 lecture11 Detection and Segmentation

    1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种“Unpooling”.“Transpose Conv ...

  2. 使用httpclient必须知道的参数设置及代码写法、存在的风险

    转发地址:http://jinnianshilongnian.iteye.com/blog/2089792 结论: 如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclien ...

  3. numpy和pandas的基础索引切片

    Numpy的索引切片 索引 In [72]: arr = np.array([[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]]) In [73]: arr Out[73]: a ...

  4. [LC] 231. Power of Two

    Given an integer, write a function to determine if it is a power of two. Example 1: Input: 1 Output: ...

  5. motionbuilder安装未完成,某些产品无法安装的解决方法

    motionbuilder提示安装未完成,某些产品无法安装该怎样解决呢?,一些朋友在win7或者win10系统下安装motionbuilder失败提示motionbuilder安装未完成,某些产品无法 ...

  6. Archives: 2013/6

    OpenStack环境搭建 这一步有两个选择: 一种就是正统的真实搭建,所有都按生产环境来部署,费时费力. 还有一种就是官方推荐的一键安装DevStack,直接安装最新的版本,体验最新的特性. 至于如 ...

  7. 与项目欧拉速度比较:C vs Python与Erlang vs Haskell

    我从问题#12 ProjectEuler作为编程练习,并比较我在C,Python,Erlang和Haskell中的实现(当然不是最优)实现.为了获得更高的执行时间,我搜索了第一个有1000个以上因子的 ...

  8. phpStrom安装PHP_CodeSniffer检查代码规范

    为什么使用PHP_CodeSniffer 一个开发团队统一的编码风格,有助于他人对代码的理解和维护,对于大项目来说尤其重要. PHP_CodeSniffer是PEAR中的一个用PHP5写的用来检查嗅探 ...

  9. numpy的索引

    import numpy as np A =np.arange(3,15).reshape(3,4) print(A) #第一行 print(A[2]) #返回元素 print(A[1][2]) pr ...

  10. rpm方式安装MySQL后在命令行登录报错:ERROR 1045 (28000): Unknown error 1045

    1.通过https://mirrors.tuna.tsinghua.edu.cn镜像源安装了MySQL5.7.22 rpm -ivh --force --nodeps https://mirrors. ...