运算符及分支语句

运算符

优先级从大到小排列:

算术运算符>比较运算符>逻辑运算符>赋值运算符

记忆方法(算比逻赋)算看做一个人,逻赋看做一个人,2个人在比较,算占优势

算术运算符

+,-,*,/,%(模运算符),++,–(一元运算符),?:(三元运算符)、次方运算,开方运算

以加法为例 1、(如果是char或者是数字类型):加法
2、(如果是字符串类型):拼接
一元运算符 ++ ,- -
含义:就是本身这个数加1,也就是自增1
记忆口诀:前置++马上加,后置++下一次这个变量出现再加
后置++的案例(仔细看一下打印结果)
public class Demo{
    public static void main(String[] args){
        int num=10;//定义一个变量,并赋值
        System.out.print(num++);  //后置++,下次这个变量再出再加>>>打印结果10
        System.out.print(num++); //后置++,下次这个变量再出再加,但是上面出现过一次后置++,所以>>>打印结果11
        System.out.print(num);//因为这个变量上一次又出现了后置++,所以>>>11+1打印结果是12
        
    }
}
前置++的案例(仔细看一下打印结果)
public class Demo{
    public static void main(String[] args){
        int num=10;//定义一个变量,并赋值
        System.out.print(++num);//前置++,马上加10+1>>>打印结果11
        System.out.print(++num);//前置++,马上加11+1所以>>>打印结果12
        System.out.print(num);//因为是前置++马上加,已经加完了,所以打印结果是12
    }
}
一元运算符的衍生
+=,-=,*=,/=
例如
int num=3;

 num+=3;可以等效于num=num+3;

模运算
int num=10;
int sum=num%3;//相当于10/3取余数等于1,然后赋值给sum
System.out.print(sum);//sum打印结果是1
//也可以用来判断奇数偶数
if(num%2==0){
    System.out.print("sum是偶数");
}else{
    System.out.print("sum是奇数");
}
利用模运算如何取到一个整数的每一个位上的数
记忆理解方法:要取哪个位上的数,就从这个数的最高位开始取模,一直模到要取得那个位,然后把那个位上的取模改成除号即可
例如:234取十位 234%100%10>>>234%100/10(这样就取到了十位上的数)
public class Demo{
    public static void main(String[] args){
       int num=6587;
        	//截取每个位上的数的诀窍(要取那个位上的数就取模到哪个位上,然后把那个位上的取模改成除号即可)
        	//例如234取十位  234%100%10>>>234%100/10(这样就取到了十位上的数)
        	System.out.println("个位数是:"+(num%1000%100%10));//打印结果是:7
        	System.out.println("十位数是:"+(num%1000%100/10));//打印结果是:8
        	System.out.println("百位数是:"+(num%1000/100));//打印结果是:5
        	System.out.println("千位数是:"+(num/1000));//打印结果是:6
    }
}

比较运算符

>,>=,<,<=,==,!=

注意:一个等号是赋值,两个等号是比较

逻辑运算符

||或运算符、&&与运算符、!取反运算符
本人自己的理解: 或运算符就是或者的意思,只要满足一个条件即可
与运算符就是并且的意思,两个条件都要满足
取反运算符顾名思义就是取相反的结果

位运算符

&位与、|位或、^抑或

用二进制进行比较
例如:位移>>/<<
System.out.print(3>>2);
3的二进制是11>>把箭头看做0,一个分界,箭头指向看做方向,
把110里面移入,2可以看作移的次数,最后结果是0
System.out.print(2<<3);
2的二进制是10<<把箭头看做0,一个分界,箭头看做移动方向,
把10往外面移出,2可以看作位移的次数,把10往左移3位(0的外面)
就是10000,最后打印结果是2^4=16

三目运算符

效果等效于if(){}

格式是 : 表达式?true:false;

例如

int scores=61;//定义一个分数
String str=scores>=60?"及格":"不及格";
//等效代码如下
if(scores>=60){
    System.out.print("及格");
}else{
    System.out.print("不及格");
}

次方运算

例如

//计算2的8次方等于多少?
int num=Math.pow(2,8);
System.out.print(num);//打印结果是256

开方运算

例如
//计算4开方是多少,也就是根号4是多少
int num=(int)(Math.sqrt(4));//默认返回值是Double类型
System.out.print(num);//打印结果是2

分支语句

语法有3种

/*1、if(){
    //一件事只处理一个结果
}

 2、if(){
    //一件事处理2种结果
}else{
    
}

3、 if(){
    //一件事情处理n种结果
}else if(){
    
}*/

补充知识点

水仙花数

就是每个位上的数的3次方之和等于原来那个数

例如
371=33+73+1^3;//如果等式成立,那么这个371就是水仙花数

闰年

判断是不是闰年

//闰年是%400==0一定是闰年
或者%4==0但是%100!=0 闰年
例如
public class Demo{
    public static void main(String[] args){
        Scanner scanner =new Scanner(System.in);//创建一个扫描器
		System.out.print("请输入一个年份:");
         int num=scanner.nextInt();//定义一个num用来接收输入的信息
		if(num%400==0||num%4==0&&num%100!=0){
			System.out.println("你输入的这个年份是闰年");
		}else  {
			System.out.println("你输入的这个年份不是闰年");
		}
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值