• JAVA运算符


    算数运算符

    + 表示加法运算符
    - 表示减法运算符
    * 表示乘法运算符
    / 表示除法运算符
     % 表示取模/取余运算符 

     codepublic class MathTest {

       
    public static void main(String[] args) {

    // 1.声明两个int类型的变量并初始化
    int ia = 6; // 推荐该方式,提高了代码的可读性
    int ib = 2;
    System.out.println("ia = " + ia); // ia = 6
    System.out.println("ib = " + ib); // ib = 2
    // 2.使用上述变量实现算术运算符的使用 + - * / %
    // 表示声明变量ic来记录ia与ib的和
    int ic = ia + ib;
    System.out.println("ic = " + ic); // ic = 8
    // 其中ia+ib这个整体叫做表达式 ia、ib叫做操作数 +叫做操作符/运算符
    System.out.println(ia + ib); // 8
    System.out.println(ia - ib); // 4
    System.out.println(ia * ib); // 12
    System.out.println(ia / ib); // 3
    System.out.println(ia % ib); // 0
    }}
    注意事项:
    1、注意:当两个整数相除时结果只保留整数部分,丢弃小数部分,如:System.out.println(5 / 2); 运行结果为:2
    2、
    若希望保留小数部分的处理方法有两种,分别是:
         处理方式一:使用强制类型转换将其中一个操作数转换为double类型再运算即可。如:
            System.out.println((double)5 / 2); // 2.5
            System.out.println(5 / (double)2); // 2.5
            System.out.println((double)5 / (double)2); // 2.5
            System.out.println((double)(5 / 2)); // 2.0
          处理方式二:让其中一个操作数乘以1.0即可(推荐)
            System.out.println(5*1.0 / 2); // 2.5
            System.out.println(5.0 / 2); // 2.5
    3、不能做除数:
        System.out.println(5 / 0); // 报错:编译ok,运行发生java.lang.ArithmeticException(算术异常 记住): / by zero
        System.out.println(5 / 0.0); // 报错:Infinity 无穷
        System.out.println(0 / 0.0); // 报错:NaN Not a Number
    练习:提示用户输入正整数类型的秒数,拆分秒数后输出x小时x分x秒。
    public static void main(String[] args) {
    boolean flag=true;
    while (flag) {
    Scanner sc = new Scanner(System.in);
    System.out.println("please input a int value");
    int s = sc.nextInt();
    if (s==-1){
    flag=false;
    }
    int h = s / 3600;
    int m = (s % 3600) / 60;
    int ss = s % 60;
    System.out.println("当前时间是:" + h + "小时" + m + "分钟" + ss + "秒");
    System.out.println("____________________________________");
    }
    }
    字符串连接符
    + 可以实现字符串的连接。同时可以实现字符串与其他数据类型“相连”,如 System.out.println("a="+a);
    关系/比较运算符

    • > 表示是否大于运算符     >=表示是否大于等于运算符
    • < 表示是否小于运算符     <=表示是否小于等于运算符
    • == 表示是否等于运算符    !=表示是否不等于运算符
    • 所有以关系运算符作为最终运算的表达式结果一定是boolean类型。

    code:

      int ia = 5;
     int ib = 2;

    boolean b1 = ia > ib;
    System.out.println("b1 = " + b1); // b1 = true
    System.out.println(ia > ib); // 是否大于 true
    System.out.println(ia >= ib); // 是否大于等于 大于或者等于 true
    System.out.println(ia < ib); // 是否小于 false
    System.out.println(ia <= ib); // 是否小于等于 false
    System.out.println(ia == ib); // 是否等于 false
    System.out.println(ia != ib); // 是否不等于 true

    自增减运算符

     ++ 表示自增运算符,用于使得当前变量自身的数值加1的效果   ++a 表示现将a自身+1,再让变量的数值作为整个表达式的结果,a++表示现将整个表达式的值+1,然后将变量a+1

     -- 表示自减运算符,用于使得当前变量自身的数值减1的效果 

    注意:只能用于变量,常数不可以

    逻辑运算符

    && 表示逻辑与运算符,相当于"并且",同真为真,一假为假。

    || 表示逻辑或运算符,相当于"或者",一真为真,同假为假。
     ! 表示逻辑非运算符,相当于"取反",真为假,假为真。
    逻辑运算符的操作数均为boolean表达式。               

    boolean b1 = true;
    boolean b2 = false;
    // 使用上述变量实现逻辑运算符的使用
    boolean b3 = b1 && b2;
    System.out.println("b3 = " + b3); // 运行结果:false
    System.out.println(b1 && b2); // 运行结果:false 并且
    System.out.println(b1 || b2); // 运行结果:true 或者
    System.out.println(!b1); // 运行结果false 取反
    System.out.println(!b2); // 运行结果:true 取反
    注意:
    1.对于逻辑与运算符来说,若第一个条件为假则整个表达式为假,此时跳过第二个表达式不执行;
    int ia = 3;
    int ib = 5;
    boolean b4 = (++ia == 3) && (++ib == 5);
    System.out.println("b4 = " + b4); // false
    System.out.println("ia = " + ia); // 运行结果:4
    System.out.println("ib = " + ib); // 运行结果:5,没有执行++ib
    2.对于逻辑或运算符来说,若第一个条件为真则整个表达式为真,此时跳过第二个表达式不执行;
    int ia = 4;
    int ib = 5;
    boolean b5 = (++ia == 5) || (++ib == 5);
    System.out.println("b5 = " + b5); // true
    System.out.println("ia = " + ia); // 5
    System.out.println("ib = " + ib); // 5

    赋值运算符

     = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量,覆盖变量 原来的数值。

    赋值表达式本身也有值,其本身之值即为所赋之值。 

    复合赋值运算符:+=、 -=、 *=、 /=、 ...

    移位运算符

    • << 左移运算符,用于将数据的二进制位向左移动,右边使用0补充

    • >> 右移运算符,用于将数据的二进制位向右移动,左边使用符号位补充

    • >>> 表示逻辑右移运算符,用于将数据的二进制位向右移动,左边使用0 补充。注意:对于非负数来说,逻辑右移和右移的效果一致

    位运算符

    • & 表示按位与运算符,按照二进制位进行与运算,同1为1,一0为0.
    • | 表示按位或运算符,按照二进制位进行或运算,一1为1,同0为0.
    • ~ 表示按位取反运算符,按照二进制位进行取反,1为0,0为1.
    • ^ 表示按位异或运算符,按照二进制位进行异或运算,同为0,不同为1

    运算符的优先级

     • ()的优先级极高。

    • =的优先级极低。
    • 若无法确认优先级,则使用()来确保即可。

    
    
    			
    		






     
     


     
  • 相关阅读:
    for循环的执行循序
    final和finally面试时最好的回答
    关于java类加载器的一些概念
    JVM内存分析
    建造者模式
    外观模式
    常用的设计模式
    Java基础知识:Java实现Map集合二级联动3
    Java基础知识:Java实现Map集合二级联动1
    MySQL数据库怎么截取字符串?
  • 原文地址:https://www.cnblogs.com/goldenwangyi/p/15007530.html
Copyright © 2020-2023  润新知