JAVA知识点(二)

一、数据类型、变量与常量

1、数据类型: java中每种数据类型都有其固定的大小,所以其表值范围也是固定的
  • 基本数据类型:
    • 数值型:整型和浮点型,整型包括byte/short/int/long,浮点型包括float/double
    • 字符型
    • 布尔型
    • 引用型:数组

    • 2、各种数据类型的注意点
      类型细分类以及其大小需要注意的地方
      整型byte(1字节)short(2字节)int(4字节)long(8字节)
      • 使用的是补码的形式,最高位是1的表示的是负数,相反数为加1
      • 在声明的时候默认的是int,所以要申明为long,在数字的后面要加上'l'或者'L',也为long a = 123l;
      浮点型float:4字节,范围为-3.403E38~3.403E38
      double:8字节范围为-1.798E308~1.798E38
      • 声明的时候默认的是double的,并且在声明的时候是要很注意的,一不小心就会有数据类型的自动转换,例如:
        • float x = 1;此时会认为右边的是int类型的数据,因为float比int等级高,所以自动进行转换,将 右边的int转换成了float类型的数据,因此不会报错,但是此时x的类型是float
        • float x = 1.0;此时认为右边是浮点型,而默认是的double,但是double不能转化为float,所以会报错
      • 在声明float数据的时候,需要加上"f"或者"F"
      字符型char:2字节,这与C++中不同,C++中char是1字节数据
      • 用单引号括起来,是单个字符常量
      • 有转义字符"\"
      布尔类型boolean:1字节取值有true和false两种

      2、变量
      Java中变量是以数字、字母和下划线组成的,并且可以以字母和下划线开头,但是不能以数字开头; java是大小写敏感的语言

      3、常量
      浮点型常量有两种表示方法,十进制表示方法必须有小数点,也就是说.345是正确的;科学计数法,使用E来表示次数
      可以将int常量赋给byte/short/char,只要不超过期表值范围,那么值就是相应的二进制位数转化为具体的类型的值,其实也就是十进制代表的值

      二、运算符与表达式

      1、运算符
      a、逻辑运算符
      1. 逻辑运算符的操作数的类型是布尔型
      2. &、|:不管第一个操作是true或者false,都要将整个表达式计算完成
      3. &&与||是短路运算符,也就是值计算到确定结果就停止,不用将所有的操作数的结果都求出,具体为&&如果第一个 操作数是false,那么就返回false,不再进行计算;如果是||,第一个操作数是true,那么就返回true,不再对第二个 操作数进行求解

      b、位运算符
      1. 位运算符的操作数的类型为整型和字符型,注意浮点型是不能进行位操作的
      2. >>带符号右移、>>>无符号右移,<<左移运算
      3. 对short、byte、char进行移位运算,会先将值扩展为32位,也就是说,如果是short和byte的话,具体的方法是在多出的位 上面补充符号位,char直接添0作为扩充,之后其移位运算就按照int的规则进行计算
      4. int移位n位,那么其实是int移位n%32
      5. long移位n为,那么其实是long移位n%64


      c、赋值运算符
      在不同类型之间赋值的时候要经过类型转换,但是特殊的是: 将int常量赋给bute/short/char等类型 变量的时候,不会进行类型转换,只要不超出其表示的范围即可,因为没有进行类型转化,所以只要是在其值的范围内,那么其值就是 int的值,否则就会报错。例如:
      • byte x = 127://OK,在byte的范围内
      • byte x = 128://报错,将int转化为byte,为不兼容的类型转换
      • 注意以上的是默认的可以的,也就是不进行类型转换,但是如果是强制进行类型转化,结果就不同了,例如:
        • byte x = (byte)128;//x=-128
        • byte x = (byte)255;//x=-1
        • byte x = (byte)256;//x=0
        • 也就是说,如果是强制类型转换,那么就看二进制的表示,其会将int的32位二进制进行截断并转化为 相应类型的值,例如上面的例子中会截下二进制数的低8位,然后再将这8为按照byte的规则转化为十进制的值,其就为最后的值。


      2、表达式
      表达式的值和表达式的类型:表达式的值就是计算出来的值,表达式的类型为计算出来的值的类型。

      三、数组
      • java支持锯齿状的数组
      • Java在数组声明的时候,不能写明数字维数
      • java在声明的时候,要从高维开始


      四、变量和引用
      java中基本类型(数值型、字符型、布尔型)在传递的时候是值传递,但是像数组这类的引用型则是传引用,也就是地址。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值