方法的定义
修饰符、返回值
修饰符 返回值类型 方法名(){
方法体
return 返回值;
}
public String sayhello(){
return "hello";
}
public void say(){
return;
}
public int max(int a,int b){
return a>b? a :b;//三元运算符,如果a>b则结果为a,否则,结果为b
}
break和return的区别
break:执行break操作,跳出所在的当前整个循环,到外层代码继续执行。
return:执行return操作,直接返回一个结果,结束方法,所有该函数体内的代码(包括循环体)都不会再执行。
方法名
方法名:注意规范,驼峰命名法 而且要见名知意
参数列表
- (参数类型 参数名 )
- …:可变长参数
在Java5 中提供了变长参数(varargs),在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用。
print(String... args){
for(String temp:args)
System.out.println(temp);
}
异常
- 经常出现的数组下标越界:ArrayIndexOutOfBounds
- IO异常:
在读文件过程中,有很多种情况会产生异常,例如:
- 磁盘损坏;
- 实际上读的是远程文件、可移动介质,当资源不可用时,会产生异常;
- 系统内部原因,如读取缓冲区占满、其他程序也在读写,导致读写超时;
所以捕获并处理异常是必要的。
public void readfile(String file) throws IOException{
}
方法的调用
静态和非静态方法
public class Student {
//静态方法
public static void say1(){
System.out.println("say1 hello");
}
//非静态方法
public void say2(){
System.out.println("say2 hello");
}
}
public class Demo02 {
public static void main(String[] args) {
//静态方法 可以直接使用类名调用
Student.say1();
//非静态方法 需要进行类的实例化
Student student=new Student();
student.say2();
}
Static是创建类的时候就有的,时间片早
而非静态方法需要类实例化之后才有
值传递和引用传递
public class Demo04 {
//值传递
public static void main(String[] args) {
int a=1;
System.out.println(a);
change(a);
System.out.println(a);
}
//void 返回值为空
public static void change(int a){
a=1024;
}
}
结果:
public class Demo05 {
//引用传递
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
change(person);
System.out.println(person.name);
}
public static void change(Person person){
person.name="DJI";
}
}
//一个类里面只能有一个public class
class Person{
String name="大江";
}
结果: