java中 基础 知识 逻辑控制

文章目录

逻辑控制

本文 将学习到 选择语句 和 循环语句,最后 还有输入输出 语句。 

if 语句

如果 满足 if 中的条件 那么 执行 if 语句中的内容, 如果不 满足 if 满足 else if 语句 中的条件 ,那么我们 执行 else if 中 的内容 , 最后 if 和 else if 都不满足,就会执行 else 语句 中 的 内容。

语法:

if(布尔表达式) {
 

}else if(布尔表达式){
 

}else {
 
		
}

注意 : 这里我们 if 语句 中的 条件, 要是 布尔表达式,而不像 c 中的 非零 表示 真 ,0表示假、

而是 布尔表达式结果为true,执行if中的语句,否则不执行。

演示:

下面 就 来 做 几道 练习 题 ,熟悉 一下我们的 if 语句 

题目一 : 判断一个数字是奇数还是偶数

//    判断一个数字是奇数还是偶数
    public static void main(String[] args) {
 
        int n = 10;
        if(n % 2 == 0){
 
            System.out.println(n + " 是偶数 ");
        }else{
 
            System.out.println(n + " 不是偶数 ");
        }
    }

题目二 : 判断一个数字是正数,负数,还是零

这我们 假设 0 既不是 正数 也不是 负数 (将 if else if 和 else 都 使用上)

//    判断一个数字是正数,负数,还是零
    public static void main(String[] args) {
 
        // 假设 0 既不是正数 也 不是 负数 
        	//int n = -20
            //int n = 20;
        	int n = 0;
            if(n > 0){
 
                System.out.println(n + " 是正数");
            }else if(n < 0){
 
                System.out.println(n + " 不是正数");
            }else {
 
                System.out.println("n 为 0 ");
            }
    }

 

注意: 这我们 还没 讲到 输入输出 语句 这里 先 让 n 赋值 完成我们的测试, 下面会 讲解。 

题目三 : 判断一个年份是否为闰年

这里我们 只需要知道 闰年 的 判断 规则即可,如: 能被 4整除 且不能被 100 整除 或者 能被400整除 ,满足 这 两个条件的 其一就为 闰年。

知道了 条件 不就 非常简单了 吗 直接 来 完成我们的 代码。

// 判断一个年份是否为闰年
    public static void main(String[] args) {
 
        int n = 200;
        if(n % 4 == 0 && n % 100 != 0){
 
            System.out.println(n + "为闰年");
        }else if(n % 400 == 0){
 
            System.out.println(n + "为闰年");
        }else {
 
            System.out.println(n + "不是闰年");
        }
    }

这 我们 还可 直接 使用|| 将 两个条件 写在 一个 if 语句 当中 
    
        if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0){
 
            System.out.println(n + "为闰年");
        }else {
 
            System.out.println(n + "不是闰年");
        }

 完成了 上面的 三个 题目 ,我们是不是 很好的 了解 了 if 语句 。 

另外 : if 能够 单独使用 ,而 else 和 else if 是 不能 单独使用的。

这里我们 的 编译器 就 直接画 红线报错了, 

 注意: 有些 刚学完 c 的 同学 学 Java 会出先 下面的问题 我们来看看 是如何 出错的

public static void main(String[] args) {
 
    int n = 10;
    if(n != 10);    
    {
 
        System.out.println("haha");
    }
}

这里我们 if 语句 后面 多 加了 一个 分号 ; 这里我们 的 haha 会不会 被打印出来 呢?

通过 编译 可以发现 ,· haha 还是 打印 出来 了 , 这里就与我们的 分号 ; 有关 , 这里 if 语句 加了 分号, 会 默认执行 完 这条 语句,然后 就会 直接 进入 大括号 {} 将 haha 打印出来 , 所以这里 还是 需要注意的。 (此处多写了一个 分号, 导致分号成为了 if 语句的语句体, 而 { } 中的代码已经成为了和一个 if 无关的代码块) 

这里我们 还要注意 一下 悬垂 else 问题 

public static void main(String[] args) {
 
        int x = 10;
        int y = 10;
        if (x != 10)
            if (y == 10)
                System.out.println("aaa");
        else
            System.out.println("bbb");

    }

这里 大家 可以 思考 一下 ,这里我们 的输出结果 是 啥?

通过 编译器 编译 ,可以发现 啥都没有输入 ,这里是为啥 呢 ?

其实 这里我们 的else 语句 会 与 最近的 if 对齐,而不是 与 if(x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值