• day02(上)_常量,变量


    标识符:

         组成:26个英文字母大小写,数字,0-9,符号:$,_

         规则:

              1.数字不可以开头(1ab)

              2.不能使用关键字(class)

         java严格区分大小写

    Java中的一些命名规范:

    1.包名:xxyyzz……

    2.类名/接口名:XxxYyyZzz……

    3.变量名/函数名:xxYyyZzz……

    4.常量名:XXX_YYY_ZZZ……

    常量:

    整数常量几种特殊表现形式:

         八进制:0123(十进制的83)

         十六进制:0x13(0X13)

          二进制

    注意:

    长整形必须以l(L小写/小写)结尾:9l,1238238238L

      单精度浮点型(float)以f结尾:3.6f, .4f, 5.022e+23f

    变量:

    基本类型:

    数据类型表

    注意:整数默认:int,小数默认:double

    基本类型转换:

    例子:

    class TypeConversion1
    {
      public static void main(String[] args)
      {
         
          byte b=1;//判断1这个整形常量在不在-128~127范围内,在则正确,否则报错
    	           //b=b+2;//ERROR!,此时b的数据类型提升为int,与2(默认int),和为int
                   //因此不能放在byte变量中
          b=(byte)(b+2);//把b+2的值强制转换为byte赋值给b,可能丢失精度(看下面的情况)
         
      
    	  int i=393;//此时已经超出byte范围
          System.out.println((byte)i);//-119,发生截断 详解转 截断图
    
          
    	  
         	

          //long i2=1238989001234;//虽然定义的long,
                          //但是此时已经超出默认int范围(-2^31~2^31-1),会报错
           long i2=1238989001234L;

    	  
    	  
    	  System.out.println('a'+1);//98,字符类型会被提升为int(对应ASCII码为97)
          
    
          int n=123456789;
          float f=n;//1.234567892E8,虽然n的值没有超出f的数值范围,
                    //但是float的有效数字为7位,也就是说 92这两位数字
                    //已经不准了  
          System.out.println(f);
         
    //float f=1.2;//由于浮点数默认为double,1.2赋值给f在编译时会报”可能损失精度”,这时可以使用单精度浮点数1.2f
      
      }             
    }
    运行结果:
    类型转换运行结果_thumb[4]
    截断图:
      需要知道:计算机中的数据以二进制补码的形式存储,其中正数的原码,反码,补码相同.
              而负数的反码为:符号位不变,其余位取反.补码:反码+1.
      截断
    基本类型间的转换图:
    类型转换图
    注意:

    实心箭头表示无精度丢失的转换,虚箭头表示可能有精度损失的转换

    转换规则:

    一 数值类型转换规则
    数值型数据进行运算时,如果操作数的类型不同操作数的类型均低于int型,则
    会进行自动类型转换处理,具体规则如下:

    1)如果两个操作数中有一个是double型,则系统先将另一个操作数的值转换为double
    型,然后再进行运算,否则

    2)如果两个操作数中有一个是float型,则系统先将另一个操作数的值转换为float
    型,然后再进行运算,否则

    3)如果两个操作数中有一个是long型,则系统先将另一个操作数的值转换为long
    型,然后再进行运算,否则

    4)两个操作数的值都将被转换为int型

    5)如果只有一个操作数(例如进行"~"位运算时)且其类型低于int型时,则将该操作数的值转换为int型

    简单归结为:
    1) byte,short,char->int->long->float->double
    2) byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型

    注意:Java中可以将int型数值常量直接赋值给相应低级的byte,short,char型变量,
    而不需要进行强制类型转换,只要不超出变量的数值范围.

    原文地址:http://www.liuzm.com/article/java/0900525.htmhttp://hi.baidu.com/love__shuai/item/a338a7c90ca7150dad092fee

      

    ----android培训 java培训、期待与您交流!----

  • 相关阅读:
    java集合源码
    数据库表链接的几种方式
    面试题(RabbitMQ)
    常见面试题(Redis)
    某奥笔试题
    Servlet
    1——Django的基础及环境搭建
    6.13---example
    6.12---知道参数的重要性------插入数据-删除数据-修改数据注意Map
    6.12---前提两个对象的成员必须一致,才能将有数据的对象将数据传给反射获取的对象conver(有数据对象,目标对象)
  • 原文地址:https://www.cnblogs.com/yiqiu2324/p/2858950.html
Copyright © 2020-2023  润新知