Java比较运算符和分支语句

Java比较运算符和分支语句

练习题解题思路以及答案:

int a = 1;
int b = a++ + ++a + --a + a++ - a--;
// 分别算出 a 与 b的值

a = 2

b = 5

思路图:

比较运算符

用来比较数值的大小或者是否等于,只要使用了比较运算符那么结果一定是boolean类型。

比较运算符 名称 举例 结果
> 大于 a=5;b=2;a>b true
< 小于 a=5;b=2;a<b false
>= 大于等于 a=5;b=2;a>=2 true
<= 小于等于 a=5;b=2;a<=2 false
== 等于 a=5;b=2;a==b false
!= 不等于 a=5;b=2;a!=b true

也就说只要用到了比较运算符 肯定就是判断条件是否成立。

逻辑运算符

与、或、非

  • 与运算:&&

    比较语句1 && 比较语句2

    结论:同真为真,其余为假(如:2>1 && 3>1 两个都为 true 才能为 true ,一个不成立就会是false)

  • 或运算:||

    比较语句1 || 比较语句2

    结论:同假才为假,其余全为真(如:1>2 || 3>8 结果为 false )

  • 非运算: !

    !真 结果 false

    !假 结果 true

PS:比较的时候不一定非要数字比较,直接写 false || true 一样可以得到 答案(true)

其他知识补充

java输入:

import java.util.Scanner; // 这一步叫导包,必须写在 class 头顶
// 下面三步必须写在 方法里面(主函数、主方法、入口函数)
Scanner in = new Scanner(System.in);
in.next();// 字符串   这一步会让你输入字符串
in.nextInt();//数字   这个方法教你输入数字,输入非数字时,会报错

分支语句

Java 中的分支语句有两种 if (一般用这个)和 switch 。

作用:满足某条件的时候执行下面的代码,不满足的时候不执行。

语法:

1. 第一种
if(条件){
    满足 条件 的时候执行此处代码;
}
示例:
if(3>2){
    System.out.println("3 > 2 成立");
}
// 上面会发现只能输出一种情况也就是满足的时候,那不满足呢?
2. 第二种
if(条件1){
    满足 条件1 的时候执行此处代码;
}else{
    不满足 条件1 的时候执行此处代码;
}
示例:
if(3>2){
    System.out.println("3 > 2 成立");
}else{
    System.out.println("3 > 2 不成立");
}
// 上面的代码能看出来,无论成功与否都会有且只会执行一处代码,不会同时打印输出。
3. 第三种
if(条件1){
    满足 条件1 执行此处代码;
}else if(条件2){
    满足 条件2 执行此处代码;
}else{
    条件1 和 2 都不满足的时候执行此处;
}
// 上面这种就能多样性判断,但是有一个问题!那就是代码从上到下运行下来,如果 条件1 满足 条件2 也满足,但是在 条件1 满足的时候就会进入对应的代码块,导致 条件2 不能执行。
if(a > 60){
    System.out.println("及格");
}else if(a > 80){
    System.out.println("优秀");
}else{
    System.out.println("不及格");
}
// 明显以上代码有逻辑漏洞,当变量 a 是 90 的时候,明显意图是成绩优秀,但是在这里就只会出现及格,所以需要置换两处判断条件。 a > 60 和 a > 80 换位。
switch(值或者是变量){
  case 值1:
       当传入的值和值1相同时,执行的语句块;
    break;
  case 值2:
    当传入的值和值2相同时,执行的语句块;
    break;
  ......
  case 值n:
    当传入的值和值n相同时,执行的语句块;
    break;
  default:
    当传入的值和上面所有的case后面的值都不相同时,执行的代码,和if里面的else作用一致;
}// 遇见 break 会跳到这里 
// break 的作用:跳出当前循环体。 在这里就是跳出 switch
示例:
char grade = 'C';

switch(grade)
{
    case 'A' :
        System.out.println("优秀"); 
        break;
    case 'B' :
    case 'C' :
        System.out.println("良好");
        break;
    case 'D' :
        System.out.println("及格");
    case 'F' :
        System.out.println("你需要再努力努力");
        break;
    default :
        System.out.println("未知等级");
}
System.out.println("你的等级是 " + grade);
}

补充:三元运算符

语法:

条件 ? 成立执行这里 : 不成立执行这里;
冒号前面是成立执行
后面是不成立执行

猜你喜欢

转载自www.cnblogs.com/xrall39/p/12033753.html
今日推荐