3.30Java语句块及方法
本章内容
语句块
方法
语句块
特点:
-
用花括号括起的任意数量的简单Java语句
作用:
-
确定了局部变量的作用域
-
块中的程序代码,作为一个整体要被一起执行
-
语句块内部变量不可以和局部变量同名,但是可以重新定义局部变量
-
语句块的变量的作用域仅限于语句块内
-
常用于区别局部变量的作用域
实例:
int i = 1;
{
i = 2;
System.out.println(i);
}
System.out.println(i);
}
/*
结果输出都是2
*/
方法
可以理解为加了名字的语句块,可以反复的调用
定义:
-
方法是一段用来完成特定功能的代码片段,类似于其他语言的函数
作用:
-
定义该类或该类的实例的行为特征和功能实现
特点:
-
方法是类和对象行为特征的抽象
-
方法类似与面向过程中的函数,面向过程中函数是最基本单位,整个程序由一个个函数调用组成。
-
面向对象中,整个程序的基本单位是类,方法是从属于类和对象的---方法上多了几个管理者
-
方法的声明格式:
-
[修饰符1 修饰符2 ...] 返回值类型 方法名(形式参数列表---外部作为参数传到语句块当中执行){
Java语句:... ... ...
return;返回值
} -
方法名和参数是重点
-
比如写一个打印方法p,参数是指:外部参数调用这个方法p打印的内容是什么
-
传了内容可以由一个返回值,返回到前面。所以前面定义了返回值的类型
-
返回值类型必带
-
方法的调用(!重点)
-
对象名.方法名(实参列表)
-
形式参数:在方法声明时用于接收外界传入的数据---相当于定义了实际参数的类型和可调用该方法的对象
-
实参:调用方法时实际传给方法的数据
-
返回值:方法在执行完毕后返还给调用它的环境的数据
-
返回值类型:事先约定的返回值的数据类型,如果没有返回值,必须显示指定为void
-
实例:
/**
* 测试方法的基本使用
* @author Lucifer
*/
public class TestMethod {
public static void main(String arguments[]){
/*
通过对象调用方法
1.创建对象---类后面的名字就是对象名字
2.对象名+创建新对象的名称 = new 对象名;即创建了新对象
3.新对象名.方法名;即可始先调用
*/
TestMethod Lucifer = new TestMethod();
Lucifer.printJun("Lucifer is a good guy");
Lucifer.add(30,40,50);
System.out.println(Lucifer.reduce(100,200,300) + 1000);
int c = Lucifer.add(30,40,50) + Lucifer.reduce(100,200,300);
System.out.println(c);
}
/*
因为方法里面定义了返回值的类型,所以结果可以视为一个int类型的整体进行运算
*/
String printJun(String name){
System.out.println(name);
return name;
}
int add(int a, int b, int c){
int sum = a + b + c;
//System.out.println(sum);
return sum;
}
/*
add方法定义了形参---int a,b,c
调用时需要传实参
*/
int reduce(int a, int b, int c){
int sum = c - b - a;
return sum;
}
/*
return的两个作用:
1.结束方法的运行
2.返回值
*/
}
注意事项:
-
实参的数目、数据类型、次序必须和所调用的方法声明的形式参数列表匹配
-
return语句终止方法的运行并指定要返回的数据
-
Java中进行方法调用中传递参数时,遵循值传递的原则(传递的都是数据的副本---不是真实的数据的意思,后面面向对象的时候会有更深刻的理解)
-
基本类型传递的是该数据值的copy值
-
It's a lonely road!!!