Java流程控制

  1. 输入输出
    1. 输出
    2. 占位符
    3. 输入
  2. if语句
  3. switch语句
  4. yield
  5. 判断
  6. for语句
    1. for each
    2. break和continue
  7. 多维数组

输入输出

输出

1
2
System.out.print("n1ng");//不换行
System.out.println("n1ng");//换行

占位符

1
2
3
4
5
%d 整数
%x 十六进制整数
%f 浮点数
%e 科学计数法表示的浮点数
%s 字符串

输入

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 实例化Scanner对象
System.out.print("Input your name: ");
String name = scanner.nextLine(); // 读取一行输入并获取字符串
System.out.print("Input your age: ");
int age = scanner.nextInt(); // 读取一行输入并获取整数
System.out.printf("Hi, %s, you are %d\n", name, age);
}
}

可以看到要实现读取输入,需要先导入Scanner包,然后实例化一个Scanner对象,根据获取内容选择nextLine方法或nextInt方法

if语句

1
2
3
4
5
6
7
8
9
if (条件) {
// 代码块
}
else if(条件){
//代码块
}
else{
//代码块
}

switch语句

1
2
3
4
5
6
7
8
9
10
11
switch(option){
case 1:
//代码块
break;
case 2:
//代码块
break;
default:
//代码块
break;
}

Java12之后也支持这样的语法,此时不用写break,因为他只会指向匹配的语句

1
2
3
4
5
6
7
8
9
switch (fruit) {
case "apple" -> System.out.println("Selected apple");
case "pear" -> System.out.println("Selected pear");
case "mango" -> {
System.out.println("Selected mango");
System.out.println("Good choice!");
}
default -> System.out.println("No fruit selected");
}

switch语句常用来赋值,所以可以这样写

1
2
3
4
5
6
String fruit = "apple";
int opt = switch (fruit) {
case "apple" -> 1;
case "pear", "mango" -> 2;
default -> 0;
}; // 注意赋值语句要以;结束

yield

当switch返回的值比较复杂时,可以用yield

1
2
3
4
5
6
7
8
9
String fruit = "orange";
int opt = switch (fruit) {
case "apple" -> 1;
case "pear", "mango" -> 2;
default -> {
int code = fruit.hashCode();
yield code; // switch语句返回值
}
};

判断

对于值类型直接用‘==’或‘!=’即可,但对于引用类型必须用**equals()**方法,如果引用类型变量为null则会报错

for语句

1
2
3
4
int[] n1ng = { 1, 4, 9, 16, 25 };
for (int i=0; i<n1ng.length; i++) {
System.out.println(n1ng[i]);
}

for each

相比于for语句更加简洁,但不能获取索引,也无法指定遍历的顺序

1
2
3
4
int[] n1ng = {1, 2, 3, 4, 5};
for(int i : n1ng){
System.out.println(i);
}

Java提供了一个Arrays.toString()方法,可以快速打印数组

1
2
int[] n1ng = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(n1ng));

还有Arrays.sort()方法,可以实现排序,需要注意的是此时数组的指向已经发生变化

1
2
3
int[] n1ng = {1, 2, 3, 4, 5};
Arrays.sort(n1ng);
System.out.println(Array.toString(n1ng));

break和continue

break用于跳出当前循环,continue则是跳出本次循环,继续下一次的循环

多维数组

1
2
3
4
5
int[][] n1ng = {
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 }
};//此时数组的length为3

对于多维数组n1ng,他的每一个元素都指向了一个一维数组

Java提供了打印多维数组的方法Arrays.deepToString()


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 3049155267@qq.com

💰

×

Help us with donation