小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。
例如:两个数字相加,必须知道两个数字各自是多少才能相加。
小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。
例如:定义一个方法,打印固定10次Hello World。
public class Demo01{
public static void main(String[] args) {
method1(a:10,b:20)
System.out.println("=======")
method2;
}
/*两个数字相乘,必须知道两个数字各自是多少,否则无法进行计算
有参数*/
public static void method1(int a, int b) {
int result = a*b;
System.out.println("结果是:"+result);
}
//无参数:例如打印输出固定10次文本字符串
public static void method2() {
for (int i = 0; i < 10; i++) {
System.out.println("Hello,World"+i);
}
}
}
对于有返回值的方法,可以使用单独调用、打印调用或赋值调用。
对于无返回值的方法,只能使用单独调用,不能使用打印调用或赋值调用。
public static void main(String[] args) {
sum1(a:10,b:20);//单独调用,没有使用返回值
int num = sum1(a:100,b:200);//赋值调用
System.out.println(sum1(a:30,b:20));//打印调用
===========================================================
sum2(a:50,b:60);//单独调用
//错误写法
/*int num2 = sum2(a:80,b:90);
System.out.println(num2);
System.out.println(sum2(a:80,b:90));*/
}
public static int sum1(int a,int b){
int result = a + b;
return result;//有返回值,计算结果返回给调用处
}
//sum2没有返回值,只能进行单独调用
//sum2结果只在sum2方法中,main方法得不到sum2中的结果
public static void sum2(int a,int b){
int result = a + b;
System.out.println(result);//无返回值,计算结果不返回给调用处
}
public class bool {
public static void main(String[] args) {
System.out.println(isSame(55,55));
}
/*三要素
返回值类型:boolea
方法名称:isSame
参数:int a, int b;
*/
public static boolean isSame(int a, int b){
boolean same;
//三种写法都正确
/* if (a==b){
same = true;
}else{
same = false;
}*/
//same = a == b ? true : false;
same = a == b;
return same;// 还可以直接写成return a == b;
}
}
1.方法应该定义在类中,但是不能在方法中在定义方法。不能嵌套。
2.方法定义的前后顺序无所谓。
3.方法定义之后不会执行,需要调用。单独调用、打印调用、赋值调用。
4.如果方法有返回值,那么必须写上return返回值。
5.return后面的返回值数据必须和方法的返回值类型对应起来。
public static int method(){
return 10;//返回值为int类型,与方法类型对应
}
6.对于一个void没有返回值类型的方法,不能写return后面的返回值,只能写return;。
7.对于void方法中最后一行return可以省略。
public static void method(){
return;//没有返回值,只是结束方法的执行,可以省略
}
8.一个方法中可以有多个return语句,但是必须保证同时只有一个return语句会被执行,两个return不能连写。
public static int method(int a,int b){
int max;
if (a>b){
max=a;
}else{
max=b;
}
return max;
}
public static int method(int a,int b){
if (a>b) {
return a;
}else{
return b;
}
}//必须保证有一个return语句被执行
对功能类似的方法来说,因为参数列表不一样,方法名称过多,不利于记忆。
方法重载(Overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住一个方法名称,就可以实现多个类似功能。
public static void main(String[] args) {
System.out.println(sumTwo(10,20));
System.out.println(sumThree(10,20,30));
System.out.println(sumfour(10,20,30,40));
}
public static int sumTwo(int a,int b){
return a + b;
}
public static int sumThree(int a,int b,int c){
return a + b +c;
}
public static int sumfour(int a,int b,int c,int d){
return a + b + c + d;
}
等于:
public static void main(String[] args) {
System.out.println(sum(10,20));
System.out.println(sum(10,20,30));
System.out.println(sum(10,20,30,40));
}
public static int sum(int a,int b){
return a + b;
}
public static int sum(int a,int b,int c){
return a + b + c;
}
public static int sum(int a,int b,int c,int d){
return a + b + c + d;
}
1.参数个数不同
2.参数类型不同
public static int sum(double a,double b){
return (int)(a+b);
}
public static int sum(int a,int b,int c){
return a + b +c;
}
public static int sum(int a,int b,int c,int d){
return a + b + c + d;
}
3.参数的多类型顺序不同
public static int sum(int a,double b){
return (int)(a+b);
}
public static int sum(double a,int b){
return (int)(a+b);
}
public static int sum(int a,int b,int c){
return a + b + c;
}
public static int sum(int a,int b,int c,int d){
return a + b + c + d;
}
1.与参数名称无关
public static int sum (int x,int y){
return x + y;
}
public static int sum(int a,int b,int c){
return a + b + c;
}
public static int sum(int a,int b,int c,int d){
return a + b + c + d;
}
2.与方法的返回值类型无关
public static double sum(int a,int b){
return a + b + 0.0;
}
public static int sum(int a,int b){
return a + b;
}
在调用输出语句时,println方法其实就是进行了多种数据类型的重载形式。
该笔记摘抄自点击跳转到视频教程
原文:https://www.cnblogs.com/trboss/p/14719655.html