按照代码的书写顺序从上到下依次执行,每条代码都会执行到且仅执行一次
System.out.println("不要泄气");
System.out.println("你可以的");
System.out.println("加油加油");
如果布尔表达式为true,执行if中的代码块,否则跳过该代码块
int i = 10;
if(i == 1){
System.out.println("if中的布尔表达式为true");//不执行
}
System.out.println("if中的布尔表达式为false");//执行
如果布尔表达式为true,执行if中的代码块,否则执行else中的代码块
int i = 10;
if(i == 1){
System.out.println("if中的布尔表达式为true");//不执行
}else {
System.out.println("if中的布尔表达式为false");//执行
}
如果布尔表达式1为true,执行if中的代码块;如果布尔表达式2为true,执行if-else中的代码块;如果布尔表达式1和2都为false,执行else中的代码块
int i = 10;
if(i == 1){
System.out.println("if中的布尔表达式1为true");//不执行
}else if(i == 2) {
System.out.println("else-if中的布尔表达式2为true");//不执行
}else {
System.out.println("布尔表达式为1和2false");//执行
}
执行逻辑:
1.先计算switch()括号中的表达式的值
2.再和case后面的值进行匹配,
3.匹配成功后,执行该case中的代码块,遇到break时跳出switch结构
4.如果没有任何case匹配成功,执行default中的代码块
int j = 1;
switch (j){
case 1:
System.out.println("j == 1");//执行
break;
case 2:
System.out.println("j == 2");//不执行
break;
case 3:
System.out.println("j == 3");//不执行
break;
default:
System.out.println("j != 1 && j != 2 && j != 3");//不执行
}
注:如果case后面不加break,那么执行完该case中的代码块后,后面的case中的代码块都会被执行,这样就失去了多分支选择的作用
执行逻辑:
1.执行表达式①,整个循环中该表达式只执行一次
2.判断布尔表达式②(如果为true,执行for循环中的代码块;如果为false,跳出循环体)
3.执行for循环中的代码块
4.更新表达式③
5.重复执行2~4步骤,直到布尔表达式②为false
for (int i = 0; i < 10; i++) {
System.out.println(i);//打印 0 1 2 3 4 5 6 7 8 9
}
执行逻辑:
1.判断布尔表达式(如果为true,执行while循环中的代码块;如果为false,跳出循环体)
2.执行while循环中的代码块
int j = 0;
while (j < 10){
System.out.println(j);
j += 2;
}
作用:让循环提前结束
//找到1-100中第一个能被3整除的数
for (int i = 1; i <= 100; i++) {
if (i %3 == 0){
System.out.println(i);
break;
}
}
作用:跳过本次循环,进入下一次循环
//找到1-100中所有能被3整除的数
for (int i = 1; i <= 100; i++) {
if (i %3 != 0){
continue;
}
System.out.println(i);
}
System.out.println("abc");//输出abc并换行
System.out.print("def");//输出def不换行
int a = 1,b = 2;
System.out.printf("%d,%d",a,b);//和C语言的printf函数一样
使用Scanner对象读取数据
Scanner scanner = new Scanner(System.in);
int age = scanner.nextInt();
String name = scanner.nextLine();
double salary = scanner.nextDouble();
scanner.close();
注意:当从控制台输入年龄时,需要敲回车表示年龄输入完毕。但是,String name = scanner.nextLine()会读取到该回车,导致name无法输入,所有要在name前面添加scanner.nextLine()来读取回车
实现猜数字游戏
Scanner in = new Scanner(System.in);
//玩家输入
int guess = in.nextInt();
Random rand = new Random();
//生成随机数1-100
int num = rand.nextInt(100) + 1;
while (true) {
if (guess == num) {
System.out.println("You guessed it!");
break;
}else if (guess > num) {
System.out.println("猜大了");
guess = in.nextInt();
}else {
System.out.println("猜小了");
guess = in.nextInt();
}
}