Java流程控制
Scanner对象
可以通过Scanner类来获取用户的输入
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);
// }
//
System.out.println("使用nextLine方式接收:");
//判断用户有没输入字符串
if (scanner.hasNextLine()) {
//使用next接收
String str = scanner.nextLine();
System.out.println("输出内容为:" + str);
}
//凡事属于IO流的类如果不关闭会一直占用资源,要养成良好的习惯
scanner.close();
}
}
顺序结构
代码会一句一句顺序执行下去
选择结构
if、switch、while、do…while、for
for可以两种使用:
//第一种 for(int i = 0 ; i < 5 ; i ++) //第二种 int[] arrays = {1 , 2 , 3}; for(int array : arrays)
Java方法
用于实现一个功能,方便以后的扩展
- 实参:实际调用传递的参数
- 形参:方法力的定义作用
重载
一个类中,相同函数名字,但形参不同(个数、类型、参数排列顺序)
可变参数
- 在指定参数类型后面加一个省略号 …
- 一个方法中只能有一个可变参数,必须是方法的最后一个参数,任何的普通参数都必须在它之前声明
void printMax(double... numbers)//numbers 是一个数组
递归
递归就是函数中调用自身函数,能够将问题简化成一个个子问题,递归包括递归头和递归体
- 递归头:函数结束出口,如果没有会死循环,栈溢出
- 递归体:自身方法
Java数组
声明创建
//声明有两种方法
int[] A;//首选
int A[];//不推荐
//创建
A = new int[10];
初始化
- 静态初始化
int a = {1,2,3};
- 动态初始化
int[] b = new int[10];//new的时候会默认初始化,int初始0
稀疏数组
当数组中有大部分元素为0,或者同一值的数组时候,可以使用稀疏数组来保存
行 | 列 | 值 | |
---|---|---|---|
[0] | 数组的行 | 数组的列 | 数组不为0的个数 |
[1] | 元素所在行 | 元素所在列 | 元素的值 |
[2] | … | … | … |
… | … | … | … |