第六章 JAVA方法初级学习
来源:互联网 发布:java权限管理如何实现 编辑:程序博客网 时间:2024/05/16 13:50
第一节 如何定义JAVA中的方法
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下,定义一个方法的语法是:访问修饰符 返回值类型 方法名(参数列表){方法体};
1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解;
2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值;
3、 方法名:定义的方法的名字,必须使用合法的标识符;
4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开 。
根据方法是否带参、是否带返回值,可将方法分为四类:
- 无参无返回值方法
- 无参带返回值方法
- 带参无返回值方法
- 带参带返回值方法
第二节 JAVA中无参无返回值方法的使用
如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
方法的使用分两步:
第一步,定义方法 public void show(){……};
注意:
- 方法体放在一对大括号中,实现特定的操作;
- 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式。
第二步,调用方法,当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现。
第三节 JAVA中无参带返回值方法的使用
如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。接收方法返回值的语法一般是:
数据类型 变量名=对象.方法(); // 这样可以利用这个返回值,把返回值赋给变量。
方法的返回值最多只能有一个,不能返回多个值,类型一定要匹配,return 返回值;
第四节 JAVA中带参无返回值方法的使用
有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。
我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。
我们先来看一个带参数,但没有返回值的方法:
publicc void show(String name){//带有一个String类型的参数,参数名为name System.out.println("欢迎您,"+name+"!");}
调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值:对象名.方法名(实参1,实参2,……实参n)。很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。
注意:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
2、 调用方法时,实参不需要指定数据类型
3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等
4、 当方法参数有多个时,多个参数间以逗号分隔
第五节 JAVA中带参带返回值方法的使用
如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。
第六节 JAVA中方法的重载
什么是方法的重载呢?
如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载,如:
public void show(){//无参方法 System.out.println("welcome");}public void show(String name){//重载show方法,一个字符串参数 System.out.println("welcome:"+name);}public void show(Stirng name,int age){//重载show方法,两个参数 System.out.println("welcome:"+name); System.out.println("age:"+age);}public void show(int age,String name){//重载show方法,两个参数顺序不同 System.out.println("welcome:"+name); System.out.println("age:"+age);}
如何区分调用的是哪个重载方法呢?
当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:
public static void main(String[] args){ HelloWorldId hello=new HelloWorldId(); hello.show();//调用无参的show方法 hello.show("tom");//调用带有一个字符串参数的show方法 hello.show("jack",20);//调用带有字符串参数和整型参数的show方法}
判断方法重载的依据:
- 必须是在同一个类中
- 方法名相同
- 方法参数的个数、顺序或类型不同
- 与方法的修饰符或返回值没有关系
第七节 附一个编程练习
要求:
1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73
2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入
3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩
运行效果:
考试成绩的前三名为:
91
89
73
//第一步新建scores数组对象,把元素传递进去;//第二步直接使用Arrays.sort()方法进行排序;升序排列//第三步正常来讲可以循环遍历每一个元素,遍历时比较大小正常则输出,不正常则去掉。//这里可以直接使用倒着遍历,遍历直到输出三个元素停止即可package trycatch;import java.util.Arrays;/** * Created by Administrator on 2017/4/1. */public class DemoScores { public static void main(String[] args) { //定义数组scores int[] scores={89,-23,64,91,119,52,73}; //数组排序 Arrays.sort(scores); System.out.println("成绩的前三名是:"); //for法循环遍历每个元素,每获得一个成绩j+1;j<3; for(int i=(scores.length-1),j=0;i>=0&&j<3;i--){ if(scores[i]<=100&&scores[i]>=0){ System.out.println(scores[i]); j++; }else{ continue; } } }}
- 第六章 JAVA方法初级学习
- Linux初级学习第六单元
- 【Java学习】EffectiveJava学习--第六章方法的健壮灵活
- 第五章 JAVA数组初级学习
- JAVA初级学习精要
- java 初级学习笔记
- 【学习记录】Java初级
- java的初级学习
- linux初级学习之文件权限 第六单元 学习笔记
- java 第六课 方法
- java学习笔记(第六章集合)
- Java学习笔记—第六章
- 《java语言程序设计》第六章学习总结
- java学习之路第六章
- Java学习第六天
- java学习第六天
- JAVA 学习第六天
- JAVA学习第六天
- innerdb
- C++ 读取文件内容到指定类型的变量
- 不正经运维狗的习题13
- HTML常用table样式
- MySQL表优化
- 第六章 JAVA方法初级学习
- 初识 Git
- linux初学 unit13 练习
- 51nod 1076 2条不相交路径(边双联通分量)
- 确定比赛名次 【拓扑】
- getCurrentSession()报Could not obtain transaction-synchronized Session for current thread错误
- lightoj1095 Arrange the Numbers 组合数学
- mysql explain用法
- 科锐课堂笔记:2017/4/12 单例模式与运算符重载