Java之路(五):Java基本语法(中)

进制

  • 所有数字在计算机底层都以二进制形式存在。
  • 对于整数,有四种表示方式:
    • 二进制(binary):0,1,满2进1,以0b或0B开头。
    • 十进制(decimal):0-9,满10进1。
    • 八进制(octal):0-7,满8进1。以数字0开头表示。
    • 十六进制(hex): 0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。

二进制

  • Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位。
  • 二进制的整数有如下三种形式:
    • 原码: 直接将一个数值换成二进制数。最高位是符号位。
    • 负数的反码: 是对原码按位取反,只是最高位(符号位)确定为1。
    • 负数的补码: 其反码加1。
  • 计算机以二进制补码的形式保存所有的整数。
    • 正数的原码、反码、补码都相同。
    • 负数的补码是其反码+1。

进制间转化

  • 进制间的基本转换
    • 十进制 二进制互转
      • 二进制转成十进制 乘以2 的幂
      • 十进制转成二进制 除以2 取余数
    • 二进制 八进制互转
    • 二进制 十六进制互转
    • 十进制 八进制互转
    • 十进制 十六进制互转

运算符

算术运算符

在这里插入图片描述

  • 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。
  • 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
int x=3510;
x=x/1000*1000;

x的结果是3000。

  • “+”除字符串相加功能外,还能把非字符串转换成字符串.
System.out.println(5+5=+5+5); 

打印结果是 5+5=55。

  • 符号: =
    • 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
    • 支持连续赋值。
  • 扩展赋值运算符: +=, -=, *=, /=, %=

比较运算符

在这里插入图片描述

  • 比较运算符的结果都是boolean型,也就是要么是true,要么是false。
  • 比较运算符“==” 不能误写成“=” 。

逻辑运算符

在这里插入图片描述

  • 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
  • “&”和“&&”的区别:
    • 单&时,左边无论真假,右边都进行运算;
    • 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
  • “|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
  • 异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

理解:异或,追求的是“异”!

位元素符

在这里插入图片描述

  • 位运算是直接对整数的二进制进行的运算

在这里插入图片描述

三元运算符

  • 格式:
    在这里插入图片描述
    • 表达式1和表达式2为同种类型
    • 三元运算符与if-else的联系与区别:
      • 三元运算符可简化为if-else语句;
      • 三元运算符要求必须返回一个结果;
      • if后的代码块可有多个语句。

运算符的优先级

  • 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。
  • 只有单目运算符、三元运算符、赋值运算符是从右向左运算的。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工地码哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值