逻辑、位、三元运算符。键盘录入数据,if,switch语句

逻辑运算符

逻辑运算符:&(与), |(或) , !(非),^ (异或),&&(短路与) ,||(短路或)

 - 逻辑运算符一般用于boolean类型。
 - 结论:
 -  &逻辑与:有false则false。 
 -  |逻辑或:有true则true。 
 -  ^逻辑异或:相同为false,不同为true。   
 - 举例:情侣关系。男男,男女,女男,女女  !逻辑非:非false则true,非true则false。
 
 - &&与&的区别:结果相同,但是&&效率gao 
 -  &&:左端如果为false,右端不执行。  &:无论结果如何,两端都要执行。
 
 - ||与|  : 和&&结论相同

位运算符

位运算符:&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
位运算符直接对二进制补码进行运算。
^的结论:
一个数被另一个数 ^ 两次结果不变
两个相同的数 ^结果都是0.

1.<<: 把<<左边的数据乘以2的移动次幂。例10<<3:10*2^3=80
2.>>把>>左边的数据除以2的移动次幂 例如 40>>3 结果 40/2^3=5

两个值互换:

int a=10;
int b=120;
//方式一:找一个中间变量
int t;
t=a;
a=b;
b=t;
//方式二:运用^
a=a^b;
b=a^b;
a=a^b;

三元运算符

  1. 格式:
    (关系表达式) ? 表达式1 : 表达式2;
    int a=(10>20)?30:50; a=50。

  2. 流程:关系表达式,结果为true,运算后结果是表达式1
    结果为false,运算后结果为表达式2.

键盘录入数据

  1. 导包:import java.util.Scanner;
  2. 创建键盘录入对象:Scanner sc = new Scanner(System.in);
  3. 通过对象获取数据:int x = sc.nextInt();
    例1:判断两个数是否相同
import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int i = sc.nextInt();
        System.out.println("请输入第二个整数");
        int i1 = sc.nextInt();
        boolean j=i==i1?true:false;
        System.out.println(j);
    }
}

例2:比较三个数的最大值

import java.util.Scanner;
public class Demo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int i = sc.nextInt();
        System.out.println("请输入第二个整数");
        int i1 = sc.nextInt();
        System.out.println("请输入第三个整数");
        int i2 = sc.nextInt();
        int max=i>i1?i:i1;
        int max2=max>i2?max:i2;
        System.out.println("最大值:"+max2);
    }
}

if语句

  1. 格式:

if(比较表达式) {
语句体1;
}else {
语句体2;
}
流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;
例1:用if语句判断三个数中最大值

import java.util.Scanner;
public class Demo3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int i = sc.nextInt();
        System.out.println("请输入第二个整数");
        int i1 = sc.nextInt();
        System.out.println("请输入第三个整数");
        int i2 = sc.nextInt();
        int max;
        if (i>i1&&i>i2){
            max=i;
        }else {
            if (i1>i&&i1>i2){
                max=i1;
            }else
                max=i2;
        }
        System.out.println("最大值:"+max);
    }
}

例2:用if语句判断一个数是奇数还是偶数

import java.util.Scanner;
public class Demo4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int i = sc.nextInt();
        if (i%2==0){
            System.out.println("偶数");
        }else
        System.out.println("奇数");
    }
}

例3:用三元运算符判断一个数是奇数还是偶数

import java.util.Scanner;
public class Demo5 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int i = sc.nextInt();
        boolean num=i%2==0?true:false;
        System.out.println(num);
    }
}

2.完整格式:

if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}

else {
语句体n+1;
}

流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,

如果都是false,就执行语句体n+1。

例:键盘录入一个成绩,判断成绩的等级

import java.util.Scanner;
public class Demo6 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int i = sc.nextInt();
        if (i < 60) {
            System.out.println("差");
        } else if (i >= 60 && i < 70) {
            System.out.println("及格");
        } else if (i >= 70 && i < 80) {
            System.out.println("中");
        } else if (i >= 80 && i < 90) {
            System.out.println("良");
        } else if (i >= 90 && i <= 100) {
            System.out.println("优秀");
        } else
            System.out.println("不合理");
    }
}

switch语句

  1. 格式:

switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;

default:
语句体n+1;
break;
}
2. 格式解释:

(1):switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举(什么是枚举,以后讲)
JDK7以后可以是String
(2):case后面跟的是要和表达式进行比较的值
(3):语句体部分可以是一条或多条语句
(4):break表示中断,结束的意思,可以结束switch语句
(5):default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似

  1. 流程:
    先计算表达式的值
    然后和case后面的匹配,如果匹配成功就执行对应的语句,遇到break就会结束,否则执行default控制的语句
    例:用switch语句键盘录入月份,输出相应季节。
import java.util.Scanner;
public class Demo7 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int i = sc.nextInt();
        switch (i){
            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;
            case 8:
                System.out.println("夏季");
                break;
            case 9:
                System.out.println("秋季");
                break;
            case 10:
                System.out.println("秋季");
                break;
            case 11:
                System.out.println("秋季");
                break;
            case 12:
                System.out.println("冬季");
                break;
            case 1:
                System.out.println("冬季");
                break;
            case 2:
                System.out.println("冬季");
                break;
                default:
                    System.out.println("不合理");
                    break;
        }
    }
}

例 :用if语句录入月份输出相应季节

import java.util.Scanner;
public class Demo8 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int i = sc.nextInt();
        if (i >= 3 && i <= 5) {
            System.out.println("春季");
        } else if (i >= 6 && i <= 8) {
            System.out.println("夏季");
        } else if (i >= 9 && i <= 11) {
            System.out.println("秋季");
        } else if (i == 12 && i >= 1 && i <= 2) {
            System.out.println("冬季");
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值