码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第三章:运算符


    目录

    一、算数运算符

    二、关系运算符

    三、逻辑运算符

    1.定义:

    2.例题:

    四、赋值运算符

    1.定义:

    五、三元运算符

    1.定义:

    六、运算符优先级(有个印象即可)

    七、标识符的命名规则

    1.定义:

    八、键盘输入语句

    1.定义:

    九、进制

    1.定义:

    2.原码、反码、补码:

    3 .位运算:


    一、算数运算符

    +        -        *        /        %        ++        --

    注意 10 / 4 = 2 在Java中因为int类型取整位

    int  a = 10; a = a ++;  sout(a) //10

    注意  小数取余有公式   a % b; a是小数时公式 a - (int)a / b *b;        -10.5 % 3 = -10.5 - (-3)* 3 =  -1.5 

    二、关系运算符

    ==        !=        >        <        >=        <=

    *返回值为Boolean值,a > b 称为关系表达式

    三、逻辑运算符

    1.定义:

    短路与 &&        短路或 ||         取反 !        逻辑与 &          逻辑或 |         ^逻辑异或

    • 短路与&&   逻辑与&  区别:&&短路与如果第一个为false,则第二个条件就不会判断了效率高(开发用这个),&逻辑与都需要判断。
    • 短路或 || 逻辑或||  区别:||短路或如果第一个为true,则第二个条件就不会判断了效率高(开发用这个),|逻辑或都需要判断。
    • 非!:!true 为 false    异或^:相同为false,不同为true

    2.例题:

    int x = 5; int y = 5; if(x++=6 & ++y==6){x=11;} sout(x,y) // 6,5

    int x = 5; int y = 5; if(x++=6 && ++y==6){x=11;} sout(x,y)  //6,5

    int x = 5; int y = 5; if(x++=5 | ++y==5){x=11;} sout(x,y) //11,6

    int x = 5; int y = 5; if(x++=5 || ++y==5){x=11;} sout(x,y) //11,5

    四、赋值运算符

    1.定义:

    +=        -=        *=        /=        %=        

    a += 3; ==> a = a + 3;

    五、三元运算符

    1.定义:

    条件表达式  ?表达式1:表达式2;    条件表达式为真,运算结果为表达式1;条件表达式为假,运算结果为表达式2;

    表达式1,2可以赋值给变量接收; int a = 1 == 2 ? 1 : 2;

    六、运算符优先级(有个印象即可)

    七、标识符的命名规则

    1.定义:

    凡是自己取名字的地方都叫标识符

    由26个字母,美元符号,下划线,数字组成,数字不能开头,保留字与关键字不能用,严格区分大小写,不能有空格

    1. 包名:全部小写,com.baidu.exer
    2. 类名、接口名:所有单词首字母大写  SchoolStudent
    3. 变量名:首单词首字母小写,其余单词首字母大写,studentName
    4. 常量名:所有字母都大写

    八、键盘输入语句

    1.定义:

                 Scanner sc = new Scanner(System.in);         int a = sc.nextInt();//得到一个整型

    九、进制

    1.定义:

    • 二进制:0 1,满二进一,以0B或0b开头。
    • 八进制:0-7,满七进一,以0开头
    • 十进制:0-9,满十进一
    • 十六进制:0-F,满十六进一,以0X或0x开头

    二转十:位数次方  0b1011 = 8+2+1 = 11

    八转十:位数次方  0234 = 2*64+3*8+4*1=156

    十六转十:位数次方 0x23A = 570

    十转二:除二取余 34= 100010

    十转八:除八取余 131 = 0203

    十转十六:除十六取余   237 = 0xED

    二转八转十六:每三位为八进制,每四位为十六进制

    八进制、十六进制转二进制:每一位对应三个二进制,每四位对应一个二进制

    2.原码、反码、补码:

    45 ==> 0010 1101             -45 ==> 1010 1101

    正数三码合一,负数的反码等于除符号位全部取反,补码在反码的基础上加1

    0010 1101        0010 1101        0010 1101

    1010 1101        1101 0010        1101 0011

    3 .位运算:

    位运算采用的是补码来计算。计算机看到的是原码

    • 2&3:2的补码:0000 0010 & 3的补码0000 0011 ==>0000 0010(补码)===>0000 0010(原码)==> 2
    • ~-2:-2的补码:1111 1110   取反 0000 0001(补码) ===> 0000 0001(正数,原码等于补码)==> 1
    • 1 >> 2 等于 1 / 2 / 2 = 0(小数就为0)  15 >> 2  = 15 / 2 / 2 = 3
    • 1 << 2 等于 1 * 2 * 2 = 4          4 << 3 = 4 * 2 * 2 * 2 = 32
  • 相关阅读:
    Android JNI 异常定位(2)—— addr2line
    【C/C++笔试练习】内联函数、哪些运算符不能重载、拷贝构造函数、const类型、函数重载、构造函数、空类的大小、井字棋、密码强度等级
    神经网络的图像识别技术,人工神经网络图像识别
    【IPC 通信】信号处理接口 Signal API(5)
    《分析模式》漫谈10-白头神探
    leetcode做题笔记164. 最大间距
    如何避免内部竞争和排斥,建立正面的工作文化?
    SpringBoot使用@Async注解8大坑点
    springboot集成mqtt
    docker的volume和bind mount究竟有什么区别?
  • 原文地址:https://blog.csdn.net/m0_61927991/article/details/126817479
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号