一、数据类型

java-3 数据类型_数据java-3 数据类型_作用域_02

 

 

 

 

A.注意事项:

  1.整数默认int型,浮点数默认double型

  2.作用域里面的变量只能在作用域里面使用,超出作用域即失去作用

{
            int num1 = 20;
            System.out.println(num1);
        }

  .不同类型的数据变量定义不能没有初始值,一行上建议只定义一个变量

 

B、数据类型转换

一、自动类型转换(隐式)
特点:代码不需要进行特殊处理。自动完成
规则:数据范围从小到大(byte,short,char,int,long,float,double),例如:int-->long float-->double,数据范围大小与他们的字节数无关
      注意:byte,short,char相互之间不转换,他们参与运算先转换为int类型
二、强制类型转换(显示)
特点:代码需要特殊处理,不能自动转换
格式:范围小的类型 范围小的变量名 = (范围小的类型)原来范围大的数据
注意:一般不推荐使用,因为可能精度损失、数据溢出
byte/short/char都能进行数学运算,会被首先提升为int型,再计算
Boolean类型不能发生数据类型转换
public class DataType {
    public static void main(String[] args) {
        System.out.println(12);//默认int型
        System.out.println(12.01);//默认 double型
        long i = 10;//这里10是int整数型,左边是long型,等号代表赋值,int-->long有小到大发生了自动转换
        double j = 12.53F;//这里12.54F是float型,将值赋给j,float-->double,有小到大发生自动转换
        float k = 20L;//不同类型也可以进行转换,这里面float数据范围比long大,可以自动转换
        System.out.println(i);
        System.out.println(j);
        System.out.println(k);
        //强制类型转换
        //范围小的类型 范围小的变量名 = (范围小的类型)原来范围大的数据
        //long强制转换成int,可能造成数据溢出
        int z = (int) 2018L;
        System.out.println(z);
        //float类型强制转换为int型,容易造成精度损失
        int a = (int) 2015.2F;
        System.out.println(a);
        //byte/short/char都能进行数学运算,会被首先提升为int型,再计算
        byte c = 40;
        byte v =50;
        //byte s = c + v ;  byte+byte-->int+int-->int
        int s = c + v;
        System.out.println(s);
        //byte + short -->int + int -->int
        //int强制转换为short,注意必须保证逻辑上真实大小超过short的范围,否则会数据溢出
        short b = 2012;
        short s2 = (short)(c + v);
        System.out.println(s2);
    }
}
C.ASCLL码(American Standard Code for Information Interchange 美国信息交换标准代码
48--0 65--A 97--a a-A=32
  Unicode码表:万国码
0-127与ASCII码完全相同,128开始以后包含更多字符
public class DataTypeChar {
    public static void main(String[] args) {
        char zifu1 = 'A' ;
        char zifu2 = 'a';
        int num = zifu1;
        System.out.println(num);
    }
}