目录
短路且与短路或?
&&短路且(全部条件都要满足) 左false全false
|| 短路或(满足其一的条件) 左true全true
Java代码运行流程
所有代码从上往下运行
同一行中,从左往右(近现代阅读方式)
并且 所有代码只执行一次
有时候 我们需要改变这种流程,如何改变?
流程控制语句,即可改变基础运行流程。
1:分支语句
关键字(被官方使用)
if(条件){
写当条件为true的时候 执行的代码
}
if(条件){
写当条件为true的时候 执行的代码
}else{
写当条件为false的时候 执行的代码
}
if(条件1){
写当条件1为true的时候 执行的代码
}else if(条件2){
写当条件2为true的时候 执行的代码
}else if(条件3){
写当条件3为true的时候 执行的代码
}
......
else{
写 以上所有条件都不成立的时候 执行的代码
}
if (userNum > 10){
System.out.println("你输入的数字大于10");
}else if(userNum <10) {
System.out.println("你输入的数字小于10");
}else {
System.out.println("你输入的数字等于10");
}
条件:是布尔值 或 结果为布尔值的表达式
switch(需要判断的变量名){
case 值1:
当值相等时候 执行代码
break;
default:
默认
break;
}
public class Demo {
public static void main(String[] args) {
//要求用户输入数字 根据数字 决定吃什么
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字,来决定吃什么");
int food = sc.nextInt();
switch (food){
case 1:
System.out.println("肯德基");
break;
case 2:
System.out.println("麦当劳");
break;
case 3:
System.out.println("汉堡包");
break;
case 4:
System.out.println("稀饭");
break;
case 5:
System.out.println("海例汤");
break;
case 6:
System.out.println("芹菜粥");
break;
case 7:
System.out.println("水果捞");
break;
default: //默认 以上条件都不符合
System.out.println("您输入错误");
break;
}
}
}
2:循环语句
当我们遇到 需要重复 反复做的事情 就要 用循环语句
for,while,do,while,foreach
for(初始化变量;范围判断;增量){
循环体
}
步骤1:初始化变量
步骤2:进行初始化判断 如果不符合范围 那么 结束循环
步骤3:如果符合范围 则进入循环开始执行
步骤4:执行完毕循环体后 进入增量 增量结束后 再次回到第二步
//要求 代码重复写
for (int i = 1;i <= 10;i = i+1){
System.out.println("你好");
}
//要求同学们 显示数字 1-100之间 所有整数
for (int i = 1; i <= 100 ; i++) {
System.out.println(i);
}
//要求同学们 显示数字 1-100的和 所有整数
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("数字 1-100的和:"+ sum);
//要求同学们 显示数字 1-100的和 所有整数
//方法1:
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
sum += i;
}
}
System.out.println("数字 1-100的偶数和:" + sum);
//方法2:
int sum = 0;
for (int i = 2; i <=100 ; i=i+2) {
sum = sum + i;
}
System.out.println("数字 1-100的偶数和:" + sum);
//死循环:(不要轻易尝试)
for (;;){
System.out.println("循环");
}
小知识点:
输入 使用Scanner实现
一般来说 要求用户输入之前 必须先给提示
思考:
查询 switch 小括号内可以写什么样的数据类型?(tip:和jdk版本有关)
break,return,continue的作用是什么?