这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战
今天继续~
java方法
方法的定义
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
- 修饰符(可选) - 告诉编辑器如何调用该方法,定义该方法的访问类型
- 返回值类型 - 方法可能会有返回值,此值就是返回值类型,有些方法只为了执行操作并没有返回值,这种时候返回值类型一般为void
- 方法名 - 方法的名
- 参数类型/参数名 - 共同构成一个形参
- 方法体 - 包含具体语句,定义该方法的功能
方法调用
- 当方法有返回值的时候,调用通常作为一个值:
int larger = max(30, 40); - 如果方法返回值为void,调用通常为一条语句:
System.out.println("hello world!");
方法的重载
- 相同的方法使用不同的形参可以达到调用不同方法的结果
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
public static double max(double num1, double num2) {
if (num1 > num2)
return num1;
else
return num2;
}
- 当发现两个参数都是int类型的时候,就会调用上面的方法,如果发现两个参数都是double类型的就会调用下面那个方法
命令行参数的使用
- 如果希望在运行程序的时候给它传入信息,可以使用这个:
public class CommandLine {
public static void main(String args[]){
for(int i=0; i<args.length; i++){
System.out.println("args[" + i + "]: " + args[i]);
}
}
}
$ javac CommandLine.java
$ java CommandLine this is a command line 200 -100
args[0]: this
args[1]: is
args[2]: a
args[3]: command
args[4]: line
args[5]: 200
args[6]: -100
构造方法
- 当一个对象被创建的时候,构造方法负责初始化该对象
- 构造方法和所在类名相同,没有返回值
- 大多数时候都需要一个有参数的构造方法
class MyClass {
int x;
MyClass() {
x = 10;
}
}
可变参数
typeName...parameterName
- 在方法声明中,在指定参数类型后加一个省略号(...)
- 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数
public static void printMax( double... numbers)
printMax(34, 3, 3, 2, 56.5);
finalize() 方法
- 用来清除回收对象
- 指定对象要销毁时执行的操作
protected void finalize() {
// 在这里终结代码
}
java流(Stream),文件(File)和IO
读取控制台输入
- 控制台输入由System.in完成
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- 之后可以使用read()方法读取字符或使用readLine()方法读取字符串
从控制台读取多字符输入
- 利用do...while循环来控制控制台的输入:
import java.io.*;
public class BRRead {
public static void main(String[] args) throws IOException {
char c;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入字符, 按下 'q' 键退出。");
do {
c = (char) br.read();
System.out.println(c);
} while (c != 'q');
}
}
从控制台读取字符串
import java.io.*;
public class BRReadLines {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
System.out.println("Enter lines of text.");
System.out.println("Enter 'end' to quit.");
do {
str = br.readLine();
System.out.println(str);
} while (!str.equals("end"));
}
}
控制台输出
System.out.write('A');
今天就学到这里,晚安~