• 2-Java基本数据类型和运算符


    目录

    Java基本类型

    Java数据类型转换

    Java运算符

    1、Java基本类型

    image

    1.1、boolean布尔

    - 只有true和false两种值,在内存中占1bits(位),默认是false

    1.2、byte/short/int/long整数类型

    类型

    占用空间(字节)

    占用空间(位)

    范围

    byte 1 8 -(2^7)~(2^7)-1(-128~127)超出则翻转
    short 2 16 -(2^15)~(2^15)-1(-32768~32767)
    int 4 32 -(2^31)~(2^31)-1(约正负21亿)
    long(前缀L或l) 8 64 -(2^63)~(2^63)-1(正负19位数)

    1.3、float/double浮点数类型

    类型 占用空间(字节) 范围
    float(后缀f或F) 4 -3.403E38~3.403E38
    double(后缀d或D,可省略) 8 -1.798E308~1.798E308

    - java浮点类型有两种表达形式

    十进制数形式:3.14、314.0、0.314

    科学计数法形式:314e2、314E2、314E-2

    - float和double都不能表示很精确的数字,所以不要使用浮点数进行比较

    1.23f == 1.229999999f//true

    4.56 == 4.559999999999999999d//true

    1.4、char字符

    - char是一个单一的16位的Unicode字符,以u开头,和4个16位数字组合而成

    - 最小值是u0000,即为0,最大值是uffff,即为65535

    - char可以存储任何字符

    - Java允许使用转义字符来将其后的字符转变为其他含义

    转义符 含义 Unicode字符
    换行 u000a
     退格(backspace) u0008
    回车 u000d
    制表符tab u0009
    双引号” u0022
    单引号’ u0027
    \ 反斜杠(注意1个反斜杠表示转义) u005c

    2、Java数据类型转换

    2.1、自动类型转换

    - 自动类型转换又叫隐式类型转换,必须满足两个条件:

        第一是两种数据类型彼此兼容

        第二是目标类型的取值范围必须大于原类型的取值范围

    image

    2.2、强制类型转换

    - 通过(type)var来讲值var转化成括号中指定的数据类型

    - 强制类型转换可能造成精度降低或者值溢出

    int x = 300;

    byte bx = (byte)x;    //值为44

    强制类型转换注意:

    操作较大的数时,要留意是否溢出,尤其是整数操作时

    3、Java运算符

    3.1、算数运算符

    - 双目:加+、减-、乘*、除/、余%

    - 单目:自增++、自减--

    3.2、赋值运算符

    赋值:a = 3

    a += 3 ---> a = a + 3

    a –= 3 ---> a = a – 3

    a *= 3 ---> a = a * 3

    a /= 3 ---> a = a / 3

    a %= 3 ---> a = a % 3

    3.3、逻辑运算符

    短路或&&------------------a和b全为true时结果为true,当a为false时结果直接为false不计算b(节省时间)

    短路且||-------------------a和b全为false时结果为false,当a为true时结果直接为true不计算b(节省时间)

    逻辑非!--------------------!true == false,!fasle == true

    逻辑或&-------------------a和b全为true时结果为true,无论a的计算结果如何,都要计算b

    逻辑且|-------------------a和b全为false时结果为false,无论a的计算结果如何,都要计算b

    3.4、位运算符

    - 只针对整型byte、short、int、long进行运算

    - 按位与&:同位对比,只有两位都为1时,结果才为1

    - 按位或|:同位对比,两位中其中1位为1时,结果就为1

    - 按位异或~:同位对比,两位不同时,结果为1;两位相同时,结果为0

    - 按位取反^:将每一位都取反,得到结果(单目运算)

    - 左移<<:a << 2表示,将a转为二进制,将所有二进位全部左移2位

    - 右移>>:a >> 2表示,将a转为二进制,将所有二进位全部右移2位

    2.5、关系运算符

    大于>、小于<、等于==、大于等于>=、小于等于<=、不等于!=

    3.6、运算符优先级

    - 括号的优先级最高

    - 单目运算优先级大于多目运算

    - 算数运算符*/大于+-

    - 算数运算符优先级 > 关系运算符 > 逻辑运算符

  • 相关阅读:
    idea 搭建spring boot
    面向对象
    idea 转普通项目为maven 项目
    java 基础
    设计模式
    GeneratedKeyHolder的作用:获得新建主键值
    Oracle中Merge into的用法实例讲解
    深入理解Java线程池:ThreadPoolExecutor
    java Timer(定时调用、实现固定时间执行)
    js实现数组去重
  • 原文地址:https://www.cnblogs.com/new-hashMap/p/12158460.html
Copyright © 2020-2023  润新知