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培训、期待与您交流!----

原文地址:https://www.cnblogs.com/yiqiu2324/p/2858950.html