一、语句块
语句块用花括号{}包起来的语句,里面定义的变量只限于语句块
二、方法
放在主函数中进行调用:
- 类名 起一个简称 = new 类名();
- 起一个简称.类名()
1、调用有参数的方法
实参的数目、数据类型和次序必须和所调用的方法声明的形式参数列表匹配
return 语句终止方法的运行并指定要返回的数据
Java中进行方法调用中传递参数时,遵循值传递的原则(不能超过数据类型范围)
基本类型传递的是该数据值的copy值(从实参直接copy过来赋值给形参)
//有参数的方法
public class Test1 {
public static void main(String[] args) {
Tes1 tm = new Test1();
tm.func(1,2) //调用方法,传实参
int a = tm.func(1,2)+3; //return后用int类型返回出来接收数据,没有return这行代码会报错
}
int func(int b,int c){ //b,c为形参
int sum = b+c;
System.out.println(sum);
return sum;
}
}
2、调用无参数的方法
事先约定的返回值的数据类型,如无返回值,必须显示指定为为void
//无参数的方法
public class Test1 {
public static void main(String[] args) {
Test1 tm = new Test1();
tm.func() //调用方法,传实参
}
void func(){ //无return返回值,类型名为void
System.out.println("hello");
}
}
三、 方法的重载
- 重载只是方法的名称相同,而方法的内容不相同
- 不同的含义:形参类型、形参个数、形参顺序不同
- 只有返回值不同不构成方法的重载
- 只有形参的名称不同,不构成方法的重载
public class Test1 {
public static void main(String[] args) {
Test1 tm = new Test1();
tm.func(0, 0);
tm.func(0,0,0);
tm.func(40, 5.1);
tm.func(0.1, 0);
}
public static int func(int a,int b) {
System.out.println("1");
return 1;
}
public static int func(int a,int b,int c) {
System.out.println("2");
return 2;
}
public static int func(int a,double b) {
System.out.println("3");
return 3;
}
public static int func(double b,int a) {
System.out.println("4");
return 4;
}
public static int func(double b,int a) {
System.out.println("5");
return 5; //错误,返回值不同不能作为重载
}
public static int func(double c,int a) {//错误,变量名不同不能作为重载
System.out.println("6");
return 6;
}
}
四、递归结构
//正确解法
public class Test1 {
public static void main(String[] args) {
Test1 tm = new Test1();
System.out.println(tm.num(3));
}
public static int num(int sum) {
if(sum == 1) //为避免出现死循环
return 1;
else
return sum*num(sum-1);
}
}
五、补充
1、查看当前的时间,放于程序开始和结束可用于查看程序运行的时间
long d1 = System.currentTimeMillis();