方法的定义
[方法修饰符] 方法返回值类型 方法名([参数列表]){
方法体
}
如果方法没有返回值,返回值类型为void
如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型就是该返回值的类型
return [表达式] ;
方法的使用
在同一个类中,调用方法可以直接调用:方法名( )
在不同类中,调用方法需先创建对象后调用:对象名.方法名( )
方法的返回值
如果方法需要返回值,就需要在方法声明的时候,指出方法的返回值类型
如果方法有返回值,那么在调用的时候,就可以用变量来接收该返回值,变量的类型就是方法定义的时候定义的方法返回值类型,调用者在调用的同时把方法的返回值赋给一个变量
方法的参数
方法参数的定义,与普通变量定义一样,方法的参数可以是零个或者多个,多个参数定义中间用逗号隔开;参数在方法中不必赋值就可以直接使用,参数的值在方法调用的时候由调用者输入
参数的使用可以当做已经存在初始值的局部变量
在调用方法时如果方法有参数,则需要参数传值;方法中的参数变量为形参,调用时传给方法的为实参;形参与实参传值一一对应,类型也必须一致。
public class D1 {
//有两个参数,返回值类型是int类型
public int add(int a ,int b){
// 返回和
return a+b ;
}
// 无参数,无返回值
public void show(){
System.out.println("欢迎关注墨渐生微!");
}
/*
* 参数和返回值可以是基本数据类型,也可以是引用数据类型
*/
// 形参为String类型 返回值为Student类型
public Student init(String str){
// 将实参传入的字符串赋值给stu对象的name属性
Student stu = new Student();
stu.name = str ;
// 同一个类中调用方法,可以直接调用!!
show();
return stu ;
}
}
变量的作用域和生命周期
变量的作用域是指一个变量在定义后,应用于程序的区域。
方法中定义的变量,称为局部变量,只能在当前方法中使用,包括当前方法的判断语句,循环语句。在判断语句中声明的变量只能在当前判断语句中使用,之外则不能使用,循环语句与之相同
局部变量的作用域仅限于定义它的方法;Java不会给局部变量赋予初始值
成员变量的作用域在整个类内部都是可见的;Java会给成员变量一个初始值
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级
public class D1 {
// 全局变量/成员变量/属性
public String name = "墨渐生微";
public long QQ = 2623902024L;
public int age;
public void f(int a) {
// 形参a 、变量b 都是局部变量
int b;
String name = "北冥有鱼";
// System.out.println(b); // error :局部变量必须自己初始化才能使用
// 全局变量在全局任意地方都可以使用
System.out.println(age); // 全局变量会默认初始化
for (int i = 0; i < 10; i++) {
i++;
}
// i++; // error:i定义在for内部,只能在for内部使用
//在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级
System.out.println(name);
}
public void g(){
//a++; // a属于f()方法的局部变量,作用域仅限于方法
age++;
}
}