【JavaEE进阶教程系列】— 基础知识2运算符

123 篇文章 2 订阅
121 篇文章 0 订阅
本文是JavaEE进阶教程的一部分,详细介绍了算数、自增自减、类型转换、赋值、关系、逻辑及三元运算符的使用,并提供了代码演示和面试题,帮助读者深入理解Java运算符的运用。
摘要由CSDN通过智能技术生成

目录


作者介绍

 ? 作者简介:KJ.JK,CSDNJava领域新星作者

 ? 参加获奖过蓝桥杯、中国软件杯云计算、互联网+、创新创业大赛银奖

 ? 力扣、洛谷、牛客网、Vijos共3000道刷题记录

 ? 欢迎大家 点赞?? 收藏?? 关注??

前言

        今天我们开始学习JavaEE的各种运算符以及类型转换,一步一步变成大牛,月薪过万??????

一、算数运算符

            符号                   作用                      说明
         
              +                    加                 
 
              -                    减
 
              *                    乘                                      
 
              /                    除                  java中,整数相除结果得到整数,得到小数,必须带有小数类型参与运算
 
              %                   取余                 获取的是两个数据做除法的余数(例子:1%2,余数是1,因为比2小,所以不能余)
                                                                                        (如果被除数小于除数,它的余数为被除数本身)

代码演示

public  class Test {

    public static void main(String[] args) {

        int a=10;
        int b=5;

        System.out.println("a+b = " + (a + b));
        
        System.out.println("a-b = " + (a - b));

        System.out.println("a*b = " + (a * b));

        System.out.println("a/b = " + (a / b));

        System.out.println("a%b = " + (a % b));
    }
}

在这里插入图片描述


数值拆分练习

在这里插入图片描述

  需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台 

      分析:

            *   :使用Scanner键盘录入一个三位数

            *	:个位的计算:数值% 10

                    123除以10 (商12,余数为3) 12 % 10 (商为1,余数为2)

            * 	:十位的计算:数值/10 % 10

                    123除以10 (商12,余数为3,整数相除只能得到整数)

                    12除以10 (商1,余数为2)

            *   :百位的计算:数值/10/10%10

               123 /10/10 % 10 (123/10 得到 12, 12/10 得到1,1 % 10 得到 1)   

//先自己思考,答案在最后

二、自增自减运算符

1、自增自减运算符介绍

在这里插入图片描述


2、自增自减运算符的注意事项

       1. ++ 和 -- 既可以放在变量的后边,也可以放在变量的前边
   
       2. 单独使用的时候,++和--无论是放在变量的前边还是后边,结果是一样的
      
       3. 参与操作的时候
      
             运算符在前:先自增,再操作
               
             运算符在后:先操作,再自增(先操作其他的行为,最后再进行增加)

       4. ++、--只能操作变量,不能操作常量  

注意事项1演示
public  class Test {
    public static void main(String[] args) {
         int a=10;
         a++;
         ++a;
    }
}

在这里插入图片描述


注意事项2演示
public  class Test {
    public static void main(String[] args) {
         int a=10;
         a++;

         System.out.println(a);    //11

         int b=10;
         ++b;
         System.out.println(b);   //11   单独操作的时候放前面放后面结果都一样

    }
}

在这里插入图片描述


注意事项3演示
public  class Test {

    public static void main(String[] args) {

        int a=10;
        int b=++a;                //b=11  a=11
        System.out.println("b = " + b);
        System.out.println("a = " + a);     // ++在前:先自增,再操作


        System.out.println("------------------");

        int a1=10;
        int b1=a1++;           //b1=10  a1=11
        System.out.println("b1 = " + b1);
        System.out.println("a1 = " + a1);     // ++在后:先操作,再自增(先操作其他的行为,最后再进行增加)

    }
}

在这里插入图片描述


三、类型转换

1、类型转换介绍

       类型转换介绍包括 "隐式转换" 和 "强制转换" 

2、隐式转换

??隐式转换介绍

             * 把一个"取值范围小"的数值或者变量,赋值给另一个"取值范围大"的变量

             * 范例:  int a = 10; 
                     double b = a ;   
//小到大                     

??运算中的隐式转换

        取值范围小的数据,和数值范围大的数据进行运算,小的会先提升为大的之后,再进行运算

运算中的隐式转换代码演示
public  class Test {
    public static void main(String[] args) {
        int  a=10;            //这个会在计算机中隐式转换变成double
        double b=11.5;
        double c=a+b;
        System.out.println("c="+c);
    }
}

在这里插入图片描述


??隐式转换的注意事项

                * 把一个取值范围小的数值或者变量,賦值给另一个取值范围大的变量 

                * 取值范围小的数据,和取值范围大的数据进行运箅,小的会先提升为大的之后,再进行运算

                * byte short char 三种数据在运算的时候,都会提升为int,然后再进行运算
                
                * 整个运算的结果看最高的类型

在这里插入图片描述


3、强制转换

??强制转换介绍

           * 把一个"取值范围大"的数值或者变量,赋值给另一个"取值范围小"的变量 不允许直接赋值,需要加入强制转换

           * 格式:目标数据类型 变量名=(目标数据类型)被强转的数据;

           * 范例:

                  double a = 12.3 ; 
                  int b = (int) a ;     //b=12
                  
//注意:强转可能会出现精度丢失
            
//大到小

强转代码演示
public  class Test {
    public static void main(String[] args) {
        double  a=15;
        int b= (int) a;
        System.out.println("b="+b);
    }
}

在这里插入图片描述


4、面试题例子

面试题1

在这里插入图片描述


面试题2

在这里插入图片描述


四、赋值运算符

                                  赋值运算符

      符号                             作用                                     说明
                     
       =	                          赋值                                a=10,将10赋给变量a

      +=	                       加后赋值                                a+=b,将a+b的值赋给a

      -=	                       减后赋值                                a-=b,将a-b的值赋给a

      *=	                       乘后赋值                                a*=b,将a*b的值赋给a

      /=	                       除后赋值                                a/=b,将a/b的商赋给a

      %=	                      取余后赋值                               a%=b,将a%b的余数赋给a

//赋值运算符隐含了强制类型转换

赋值运算符代码演示
public  class Test {

    public static void main(String[] args) {


        int a=60;
        int b=20;
        System.out.println("a+=b: " + (a += b));  //80

        
        int a1=60;
        int b1=20;
        System.out.println("a1-=b1 : " + (a1 -= b1));   //40

        
        
        int a2=60;
        int b2=20;
        System.out.println("a2*=b2 : " + (a2 *= b2));  //1200
        
        
        int a3=60;
        int b3=20;
        System.out.println("a3/=b3 : " + (a3 /= b3));   //3
        

        
        int a4=60;
        int b4=20;
        System.out.println("a4%=b4 : " + (a4 %= b4));   //0


    }
}

在这里插入图片描述


面试题

在这里插入图片描述


五、关系运算符

在这里插入图片描述


六、逻辑运算符

1、 逻辑运算符

                  符号	              作用                    说明

                   &                 逻辑与	            并且,有假为假

                   |	             逻辑或             或者,有真为真

                   ^	            逻辑异或            相同为false,不同为true
 
                   !                逻辑非                   取反

2、 短路逻辑运算符

	             符号                   作用	                     说明

                  &&                   短路与                 作用和 & 相同,但是有短路效果	
	
                  II	               短路或                 作用和 | 相同,但是有短路效果

3、逻辑运算符注意事项

        ?	逻辑与&,无论左边true false,右边都要执行。

            短路与&&,如果左边为true,右边执行;如果左边为false,右边不执行。

        ?	逻辑或|,无论左边true false,右边都要执行。

            短路或 || ,如果左边为false,右边执行;如果左边为true,右边不执行。

七、 三元运算符

      格式:关系表达式?值1 :值2; 

             执行流程:

                        首先计算关系表达式的值 
                        如果值为true,值1就是运算结果 
                        如果值为false,值2就是运算结果

求三个整数的最大值练习

          需求:键盘录入三个整数,找出最大值并打印在控制台
       
//提示用三元运算符
//答案在最后,先自己思考

八、运算符优先级

在这里插入图片描述

 tips:这个不用记,想要哪个先运算就直接给给小括号就行

??习题答案


数值拆分答案

import java.util.Scanner;

public class Demo1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数");
        int number = sc.nextInt();

        int ge = number% 10;
        int shi = number / 10 % 10;
        int bai = number / 100 % 10;

       
        System.out.println(ge);
        System.out.println(shi);
        System.out.println(bai);
    }
}

求三个整数的最大值答案

       import java.util.*;
              public class JK{
                public static void main(String[] args) {
	              Scanner rd =new Scanner(System.in);
	                int a=rd.nextInt();
	                int b=rd.nextInt();
	                int c=rd.nextInt();
	                int d=a>b?a:b;
	                int max=c>d?c:d;
	              System.out.println(max);
}
}

作者:

本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值