java 运算符和if语句

逻辑运算符
&表示逻辑与,遇false则false
|表示逻辑或,遇true则true
^表示逻辑异或,相同则为false不同则为true
!表示逻辑非,非false则true非true则false
&&与&的区别
两个运算符得到的结果是一样的,但是&&具有短路的效果,即左边为false时不执行右边
||与|的区别
两个运算符最终结果是一样的,||具有短路效果,即左边为true时不执行右边

位运算符
&表示与,遇0则0
|表示或,遇1则1
^表示异或,相同则0,不同则1
特点是,一个数被同一个数异或两次,还是这个数本身
~表示非,非1则0,非0则1
”<<“左移,左边最高位丢弃,右边补齐0
向左移动几位就是乘以2的几次幂
”>>“右移最高位是零,左边补零,最高位是一,左边补1
向右移动几位就是除以二的几次幂
“>>>” 无符号右移,无论高位是什么左边都补0
最有效算出2*8的结果
2<<3
三元运算符的基本用法
格式是
(关系表达式)?表达式1:表达式2;
比较两个整数是否相同

int x = 5;
int y = 10;
boolean b = (x == y) ? true : false;//booolean b = (x == y)
system.out.println("b="+b);

比较三个整数最大值

int a = 10;
int b = 20;
int c = 30;
//先比较任意两个数的值,找出这两个数中的最大值
int temp = (a > b) ? a : b;
//用两前个数的最大值与第三个数比较获取最大值
int max =(temp > c) ? temp : c;
//输出最大值
System.out.println("max = "+max);

键盘录入的基本格式
为了让程序的数据更符合开发的数据,让程序更灵活。
格式:

import java.util.Scanner;//导入包中的类
class Demo_Scanner {
	public static void main(String[] args) {
		Scanner sc =new Scanner(System.in);//创建键盘录入对象
		System.out.println("请输入一个整数");
		int x = sc.nextInt();//将键盘录入的数据存储在x里面
		System.out.println(x);		
		System.out.println("请输入第二个数:")
		int y = sc.nextInt();
		System.out.println(y);
		}
}

练习
求两个数的和

import java.util.Scanner;
class test_Scanner {
	public static void main(string[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个数:");
		int x=sc.nextInt();
		System.out.println("请输入第二个数:");
		int y = sc.nextInt();
		int sum=x+y;
		System.out.println(sum);
		}
	}

练习
获取两个数的最大值

import java.util.Scanner;
class test_Scanner {
	public static void main(string[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个整数:");
		int x = sc.nextInt();
		System.out.println("请输入第二个整数:");
		int y = sc.nextInt();
		int max = (x > y) ? x : y;	
		System.out.println(max);
	}
}

练习
比较两个数是否相等

import java.util.Scanner;
class 练习 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数:");
        int x = sc.nextInt();
        System.out.println("请输入第二个整数:");
        int y = sc.nextInt();
        boolean b = (x == y);
        System.out.println(b);
    }
}

练习
获取三个数中的最大值

import java.util.Scanner;
class 练习 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数:");
        int x = sc.nextInt();
        System.out.println("请输入第二个整数:");
        int y = sc.nextInt();
        System.out.println("请输入第三个整数:");
        int z = sc.nextInt();
        int temp = (x>y)?x:y;
        int ma = (temp>z)?temp:z;
        System.out.println(ma);
    }
}

顺序结构语句
流程控制语句:可以控制程序的执行流程
流程控制语句的分类:顺序结构,选择结构,循环结构
执行流程:从上往下,依次执行。
选择结构if
if(比较表达式){
语句体;
}

public class IFTEST {
    public static void main(String[] args) {
        int age=19;
        if(age>=18){
            System.out.println("成年了!!!");
        }
    }
}

注意事项:
比较表达式无论简单还是复杂,结果必须是boolean型
if语句控制的语句题如果是一条语句,大括号可以省略
一般来说有左大括号就没有分号,有分号就没有左大括号

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

else {
语句体2;
}

注意事项:else后面是没有比较表达式的。
if语句和三元运算符可以完成同样的效果
区别是:
三元运算符可以实现的if语句都可以实现反之则不可以

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

int x;
swich(x){//基本数据类型可以接收byte,short,char,int,string;
	case 1:
		语句体1;
	case 2:
		语句体2;
		break;
	default:
		语句体n;
		break;
public class SWITCHTEST {
    public static void main(String[] args) {
        String name ="zhangsan";
        String gender = "man";
        switch (gender) {
            case "man":
                System.out.println(name+"是一位"+gender);
            case "women":
                System.out.println(name+"是一位"+gender);
            default:
                SyStem.out.println(name+"是一位"+gender);
        }
    }
}

注意事项:
case后面只能是常量,不能是变量,而且多个case后面的值不能是相同的
default可以省略但是不建议,因为它可以给不正确的情况做出提示
break中间的不可以省略会出现case穿透
遇到break或者}switch语句就结束运行了
if和switch的区别
switch建议判断固定值的时候省略
if建议判断区间或者范围使用
例题
输入月份输出对应季节

import java.util.Scanner;

public class IFTEST {
    public static void main(String[] args) {
        Scanner sc = new Scanner (System.in);
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        if(month>=1&&month<=3) {
            System.out.println("春");
        }
        else if(month>=4&&month<=6) {
            System.out.println("夏");

        }
        else if(month>=7&&month<=9) {
            System.out.println("秋");

        }
        else{
            System.out.println("东");
        }
    }
}

import java.util.Scanner;

public class SWITCHTEST {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        switch(month) {
            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;
            case 8:
                System.out.println("秋");break;
            case 9:
                System.out.println("秋");break;
            default:
                System.out.println("冬");
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值