当前位置: 首页 > news >正文

Java运算符

 - 算术运算符
     - + 正号
     - - 负号
     - + 加号
     - - 减号
     - * 乘号
     - / 除
     - % 取余
     - ++ 自增(前) 先运算后取值   ++i;
          自增(后) 先取值后运算   i++;

public class exercise {
    public static void main(String[] args) {

        int i = 0;
        int x = 10 + i++;
        System.out.println(x + " " + i);
        int n = 0;
        int y = 10 + ++n;
        System.out.println(y+" "+n);
    }

}
public class exercise {
    public static void main(String[] args) {
        int i = 0;
        System.out.println(i++);
        int n = 0;
        System.out.println(++n);
        
    }

}


     - -- 自减(前) 先运算后取值   --i;
          自减(后) 先取值后运算   i--;
     - + 字符串相加
   - 关系运算符(比较运算符)【经常出现在if结构的条件中 或者是循环结构的条件中】
        - 结果都是Boolean型 要么是true 要么是false
        - == 相等于
        - != 不等于
        - <  小于
        - >  大于
        - <= 小于等于
        - >= 大于等于
        - instanceof 检查是否是类的对象  “hsp”instanceof String   结果true
   - 逻辑运算符:用于链接 多个条件 或 多个关系表达式 最终的结果也是一个Boolean值
     - 1 短路与&& 短路或|| 取反!
     - 2 逻辑与&  逻辑或|  逻辑异或 ^
   【逻辑运算符的表】
     - 逻辑运算符的规则
        - a&b: 当a和b同时为true 结果为true 反之为false
        - a&&b: 当a和b同时为true 结果为true 反之为false
        - a|b: 当a和b有一个为true 结果就会true 反之为false
        - a||b: 当a和b有一个为true 结果就会true 反之为false
        - !a: a为true 结果为false a为false 结果为true
        - a^b: 当a和b不同 结果为true 否则为false
     - 赋值运算符
        - 基本赋值运算符 =
        - 复合赋值运算符 +=、-=、*=、/=、%=
              a+=b;等价为  a=a+b
     - 三元运算符
        - 基本语法: 条件表达式? 表达式1:表达式2;
                    1 如果条件表达式为true 运算后的结果为表达式1
                    2 如果条件表达式为false 运算后的结果为表达式2
        - 使用细节
           - 1 表达式1和表达式2要为可以赋给接收变量的类型(或者可以自动转换)
           - 2 三元运算符可以转成if-else语句
     - 运算符的优先级【由高到低】
           - 括号运算符
           - 一元运算符   正号 负号 自增 自减 逻辑非
           - 算术运算符   * / % 加法 减法
           - 位移运算     左移<<  右移>> 无符号右移>>>
           - 关系运算符   > < >= <= == !=
           - 位运算符     按位与 &  按位异或 ^  按位或 |
           - 逻辑运算符   逻辑与 &&  逻辑或||
           - 条件运算符(三元运算符)  ?:
           - 赋值运算符   = += -= *= /= %=
     - 标识符【Java的各种变量 方法 类等命名时所用的字符序列】的命名规则和规范
       - 1 由26个英文字母的大小写 0-9 _或$组成
       - 2 数字不可开头
       - 3 不可使用关键字和保留字 但是能包含关键字和保留字
           -常见的关键字和保留字
               - 关键字: class public static void等
               - 保留字: const goto 等
       - 4 Java严格区分大小写 长度无限制
       - 5 标识符不可以有空格
     - 驼峰命名法
       - 小驼峰命名法  : 第一个单词的首字母小写 后续的每个单词的首字母大写 其余字母小写【常用于变量和方法名】
       - 大驼峰命名法  : 每个单子的首字母大写 其余字母小写 【常用于类名 接口名 枚举类型的命名】
       - 【例外】: 常量名——全部使用大写字母  包名——全部使用小写字母
     - 键盘输入语句
       - 所用的包时java.util.Scanner
       - 创建对象 Scanner myScanner = new Scanner(System.in);
       - 调用里面的功能 比如: int age = myScanner.nextInt();
位运算【以知识点加代码的形式展现】

package lfx250219;
//位运算相关的内容以及运行代码
public class locationExercise {
    public static void main(String[] args) {
        int a = 5; // 二进制:0101
        int b = 3; // 二进制:0011

        //- 位运算
        //   -按位与 &  规则:对两个操作数的对应二进制位进行逻辑与运算
        //    只有当两个对应位都为1时 结果为才为1 反之为0
        int result = a & b;//0001
        System.out.println("5 & 3 的结果是: " + result);
        //- 按位或|
        //  - 运算规则: 对两个操作数的对应二进制进行逻辑或运算
        //             只要两个对应位其中有一个1 结果位为1 反之为0
        int result1 = a | b;//0111
        System.out.println("5 | 3 的结果是: " +result1);
        //- 按位异或^
        //  - 运算规则: 对两个操作数的对应二进制进行逻辑异或算
        //             当两个对应位不同时 结果位为1 相同为0
        int result2 = a ^ b;//0110
        System.out.println("5 ^ 3 的结果是: " +result2);
        //- 按位取反(~)
        //  - 运算规则: 对操作数进行每个二进制位进行取反操作
        int result3 = ~a;//1010
        System.out.println("3取反结果是:"+result3);
        //- 左移<<
        //  - 运算规则: 将操作数的二进制位向左移动指定的位数 右边空出的位用0填充
        //             左移 n 位相当于将该数乘以2的n次方
        int result4 = a << 2;//0100
        System.out.println("5 << 2 的结果是: " + result4);
        //- 右移>>
        //  - 运算规则: 将操作数的二进制位向右移动指定的位数 左边空出的位用符号位填充【正数补0,负数补1】
        //             右移 n 位相当于将该数除以 2 的 n 次方(向下取整)
        int result5 = a >> 2;//0001
        System.out.println("5 >> 2 的结果是: " + result5);
        //- 无符号右移位>>>
        //  - 运算规则: 将操作数的二进制位向右移动指定的位数 左边空出的位数始终用0填充 不考虑符号位
        int result6 = a >>> 2;//0001
        System.out.println("5 >>> 2 的结果是: " + result6);





    }
}

  【运算符的练习代码】
      

package lfx250219;


//实现三个数的最大值
public class Exercise02 {
    public static void main(String[] args) {
      int a=35;
      int b=66;
      int c=8;
      int max1=a>b?a:b;
      int max2=max1>c?max1:c;
        System.out.println(max1);
        System.out.println(max2);


    }
}
package lfx250219;
//逻辑运算符的练习
public class Exercise01 {
    public static void main(String[] args) {
        int x = 5;
        int y = 5;
        //如果只有一个与则要条件都运行完
        //又两个与 如果某一个条件是false那么后面的条件就不会运行
        if (x++==6&++y==6){
            x=11;
        }
        System.out.println(x );
        System.out.println(y);
        if (x++==6&&++y==6){
            x=11;
        }
        System.out.println(x );
        System.out.println(y);

    }
}
package lfx250219;

import java.util.Scanner;

public class ArithmeticOperatorExercise {
    //1 假如还有59天放假 问有几个星期零几天
    //2 定义一个保存华氏温度 华氏温度转换为摄氏温度的公式为5/9*(华氏温度-100)
    //求出对应华氏温度对应的设施温度
    public static void main(String[] args) {
        int day = 59;
        int week = day/7;
        int time= day%7;
        System.out.println("还有"+week+"周,"+time+"天!");
        //创建一个输入的对象
        Scanner myScanner = new Scanner(System.in);
        //定义华氏温度
        double h= myScanner.nextDouble();
        //定义一个摄氏温度
        //此时要考虑到计算机如果是按照给的公式5/9那么一定会是0.0
        //5.0/9用到的是一个浮点数除法
        //整个公式先算 括号内 的再算 浮点数除法 后面是 乘法
        double C=5.0/9*(h-100);
        System.out.println(C);


    }
}

补浮点数除法于整数除法的区别以及浮点数除法内容

浮点数除法【浮点数又称为小数】

        定义:一种用于表示实数的数据类型,它可以表示整数、小数以及非常大或者非常小的数值。浮点数除法就是对两个浮点数进行相除的运算,其结果通常也是浮点数,能够保留小数部分,从而更精确地计算结果。

        与整数除法的区别:

        整数除法:两个操作数都是整数类型 进行的是整数除法 整数除法会截断结果的小数部分 只保留整数部分

        浮点数除法:只有一个操作数是浮点数 就会进行浮点数除法 结果会保留小数部分

package lfx250219;



public class lfx {
    public static void main(String[] args) {
        int i=1;//i->1
        //使用一个临时变量
        //1 将i的值赋给一个中间变量 temp=i
        //2 在进行i++的计算 i此时等于2
        //3 将中间变量赋值给i i=temp
        int k=i++;
        System.out.println(k);
        int b=1;
        int c=++b;
        System.out.println(c);
        int i1=10;
        int i2=20;
        int g=i1++;
        System.out.println(g);
        System.out.println(i2);
        g=--i2;
        //i2-- -> 19
        //先运算在赋值 所以19->temp 后temp赋值给i2

        System.out.println(g);
        System.out.println(i2);
    }

}





















 

相关文章:

  • 【原创】Ubuntu 22安装nexus私服
  • LeetCode刷题---哈希表---451
  • Kubernetes Pod健康检查全解析:从Liveness到滚动更新,掌握容器健康管理的核心技巧
  • DeepSeek是什么?两种模型的对比?
  • 系统设计之分布式
  • C++编程语言:抽象机制:模板和层级结构(Bjarne Stroustrup)
  • 宏块划分的原理
  • LeetCode1299
  • 自动创建spring boot应用(eclipse版本)
  • DeepSeek 入门指南
  • 【解决方法】vite-plugin-svg-icons使用中出现问题[vite] Cannot find package ‘fast-glob‘
  • 网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
  • BiRefNet C++ TensorRT (二分类图像分割)
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 1
  • [原创](Modern C++)现代C++的关键性概念: 妙用std::reference_wrapper, 让std::list容器具有随机访问功能.
  • Zookeeper(54)如何使用Zookeeper的命令行工具?
  • 寒假学习总结
  • 如何解决服务器端口被攻击:全面防护与快速响应
  • 侯捷 C++ 课程学习笔记:设计模式在面向对象开发中的应用
  • Soft Actor-Critic (SAC)算法
  • 科创板年内第3家!健信超导IPO获受理,拟募资8.65亿
  • 十三届全国政协经济委员会副主任张效廉被决定逮捕
  • 俄总统新闻秘书:普京提议谈判表明俄寻求和平解决方案意愿
  • 匈牙利史专家阚思静逝世,享年87岁
  • 重庆大学:对学术不端行为“零容忍”,发现一例、查处一例
  • 工程院院士葛世荣获聘任为江西理工大学校长