控制流程
1. Scanner对象
基本语法
Scanner s = new Scanner(System.in);
- next
- 一定要读取到有效字符才可以结束输入
- 对输入有效字符之前的空白,next方法会自动将其去除
- 只有输入有效字符后才将其后面的输入的空白作为分隔符或结束符
- next不能得到带有空格的字符串
- nextLine
- 以Enter作为结束符
- 可以获得空白
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
if(scanner.hasNext()){
//使用next方式接收
String str = scanner.next();
System.out.println("输出的内容为:"+str);
}
//关闭IO流.否则会占用资源
scanner.close();
}
}
2.增强for循环
语法:
for(声明语句:表达式){
//代码
}
主要用于数组或集合,遍历其中每一个元素作为循环条件
int[] array = {1,2,3,4,5};
for(int i:array){
System.out.println(i);
}
3.break
终止本次的循环,并跳出当前循环
4.continue
终止本次循环,然后进行是否执行下一次循环的判断
方法
1. 方法的定义和调用
方法的定义:实例方法,类方法(静态方法)
public class Method() {
psvm{
//语法:访问权限 修饰语 返回值 方法名 (参数列表) {方法体}
//类方法 static修饰
public static void fun1() {};
public void fun2() {};
}
}
2. 方法的重载
方法重载的满足条件:
- 同一作用域下
- 函数名称相同
- 函数参数(类型不同,数量不同,顺序不同)
注意:函数的返回值不能作为方法重载的条件
public class Method1() {
psvm{
public int add(int value1, int value2) {
return value1 + value2;
}
public double add(double value1, double value2) {
return value1 + value2;
}
}
}
3. 命令行传递参数
package com.Akira.method;
public class Demo03 {
public static void main(String[] args) {
//args.length 数组长度
for (int i = 0; i < args.length; i++) {
System.out.println("args["+i+"]: "+args[i]);
}
}
}
4.可变参数
- JDK 1.5开始, Java支持传递同类型的可变参数给一个方法
- 在方法声明中,在指定参数类型后面加一个省略号(...)
- 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = add(1, 2, 3);
System.out.println(sum);
sum = add(5, 6, 7, 8);
System.out.println(sum);
}
static int add (int ...x) {
int sum = 0;
for (int i = 0; i < x.length; i++) {
sum += x[i];
}
return sum;
}
}