Day17
什么是方法
java方法是语句的结合,它们在一起执行一个功能
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中 被创建,在其他地方被引用
一个方法只完成1个功能,这样有利于我们后期的扩展
命名规则:首字母小写,后面是驼峰
package com.wuxin.method;
public class Demo01 {
public static void main(String[] args) {
int sum = add(1, 2);
System.out.println(sum);
}
public static int add(int x,int y){
return x+y;
}
}
package com.wuxin.method;
public class Demo01 {
public static void main(String[] args) {
//int sum = add(1, 2);
//System.out.println(sum);
test();
}
public static int add(int x,int y){
return x+y;
}
public static void test(){
for (int i = 0; i < 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if(i%(5*3)==0){ //每行
System.out.println();
//System.out.print("\n");
}
}
}
}
方法的定义
语法:
修饰符 返回类型 方法名(参数类型 参数名){
方法体
return 返回值;
}
修饰符:是可选的,告诉编译器如何调用该方法,定义了该方法的访问类型
返回值类型:方法可能会返回值。
方法名:是方法的实际名字,方法名和参数表共同构成方法签名
参数类型:参数像是一个占位符,当方法被调用时,传递值给参数,这个值被称为实参或变量,参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数
- 形式参数:在方法被调用是用于接收外界输入的数据
- 实参:调用方法时实际传给方法的数据
方法体:包含具体的语句,定义该方法的功能
return的作用:返回值和终止方法
package com.wuxin.method;
public class Demo02 {
public static void main(String[] args) {
int max = max(10, 20);
System.out.println(max);
}
//比大小
public static int max(int num1,int num2){
int result=0;
if (num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result = num1;
}else {
result = num2;
}
return result;
}
}
方法重载
方法调用:对象名.方法名(实参列表)
java支持两种调用方法的方式,根据方法是否返回值来选择
当方法返回一个值的时候,方法调用通常被当做一个值。例如
int larger = max(30,40);
如果方法返回时void,方法调用一定是一条语句。
System.out.println(“Hello,hahh”);
java是值传递
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
方法的重载的规则:
方法名称必须相同。
参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
方法的返回类型可以相同也可以不相同。
仅仅返回类型不同不足以成为方法的重载。
package com.wuxin.method;
public class Demo02 {
public static void main(String[] args) {
double max = max(10.0, 10.0);
System.out.println(max);
}
//比大小
public static int max(int num1,int num2){
int result=0;
if (num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result = num1;
}else {
result = num2;
}
return result;
}
public static double max(double num1,double num2){
double result=0;
if (num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result = num1;
}else {
result = num2;
}
return result;
}
}
package com.wuxin.method;
public class Demo02 {
public static void main(String[] args) {
double max = max(10, 20);
System.out.println(max);
}
//比大小
public static int max(int num1,int num2){
int result=0;
if (num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result = num1;
}else {
result = num2;
}
return result;
}
public static double max(double num1,double num2){
double result=0;
if (num1==num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result = num1;
}else {
result = num2;
}
return result;
}
}