一:自定义函数
由于JAVA中都是由类组成,所以想实现类似于函数的功能,直接使用main主函数进行调用,就需要使用静态类方法,直接调用,而不需要实例对象
public class HelloWorld {
public static int a=15; //成员变量
public static int func(int b) { //成员方法
a+=b;
return a;
}
public static void main(String[] args) {
int b=13;
b=func(b); //或者HelloWorld.func(b)
System.out.println(b); //28
TestFunc.say();
}
}
//public class TestFunc出现两个public在同一个java文件中是错误的
class TestFunc{ //默认是default类型
public static void say() {
System.out.println("I come from TestFunc");
}
}
1.函数必须放在类的范围内• 修饰词(public 或者 static) 返回值(int 或者void),函数名(形参列表) {函数体}
2.通常情况下,我们都建议方法是public。
3.函数可以调用其他的函数,例如上例中,main函数调用了add函数。
4.递归函数调用,需要注意终止性。
5.同一个类中,函数名称可以相同,即重载函数(overload),但是函数参数的个数或者类型必须有所不同
6.不能以返回值来区分同名的函数
public class HelloWorld {
public static int a=15; //成员变量
public static int func(int b) { //成员方法
a+=b;
return a;
}
public static void func() { //成员方法 //重载,主要区别是传参不同,函数名一致
System.out.println("overwrite");
}
public static void main(String[] args) {
int b=13;
b=HelloWorld.func(b);
System.out.println(b); //28
HelloWorld.func(); //overwrite
TestFunc.say();
}
}
二:补充类的类型
public:
Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
private:
Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect:
介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:(不同于C++的地方)
即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
三:作业
请实现程序输出以下5*5数字方格。
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
需要在main函数的输入参数中设置5,输出5*5的数字方格。如果是输入7,则是7*7的数字方格。
public static void main(String[] args) {
int count=0;
Scanner in=new Scanner(System.in);
count=in.nextInt();
for(int i=1;i<=count*count;i++) {
System.out.printf("%5d",i);
if(i%count==0) {
System.out.println();
}
}
}
7
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35
36 37 38 39 40 41 42
43 44 45 46 47 48 49