Java基本数据类型

一、Java基本数据类型有几种,如何表示,取值范围以及注意事项?

  数据类型——为了定义变量,限定变量的存储空间大小。
  Java中的数据类型

Java中的数据类型
基本/原生数据类型
复合/引用数据类型

  Java中的基本数据类型有4类8种

Java中的基本数据类型
整数类型
浮点类型
字符类型
布尔类型
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
float 4个字节
double 8个字节
char 2个字节
boolean 1个字节

  整数类型(4)
    1.字节型 byte    1个字节    -2的7次方~2的7次方-1
    2. 短整型 short   2个字节    -2的15次方~2的15次方-1
    3. 整型 int     4个字节   -2的31次方~2的31次方-1
    4. 长整型 long    8个字节    -2的63次方~2的63次方-1
  浮点类型(2)
    1. 单精度浮点型 float    4个字节    8位的有效数字
    2. 双精度浮点型 double  8个字节    16位的有效数字
  字符类型(1)
    1.字符型 char     2个字节    0~65535
  布尔类型(1)
    1.布尔型 boolean    1个字节    true/false

   数据内存存储空间的计算

     1个字节8位2进制,因此计算数据类型的存储空间的取值范围。
     首先,第一位代表正负。0属于正数范围。
     计算过程:负数是 -(2的字节位数-1的次方)
         正数是2的字节位数-1的次方-1

  数据类型——为了定义变量,限定变量的存储空间大小

  变量的组成

    数据类型
    名称
    初始值
    作用域

  创建Java变量
    1 . 先定义,后赋值。
     定义格式:数据类型 名称;
    例如: int num;
      赋值[=]格式: 名称=数据值;
    例如: num=123;
    2 . 定义+赋值
     定义+赋值格式: 数据类型 名称 = 数据值;
    例如: int num = 123;
    例如:整型

public  class ZhengShuType{
	public static void main(String args[]){
		//字节型 byte   1个字节8位2进制  -2的7次方~2的7次方-1
		//1.先定义,后赋值。
		byte bytenum1;
        bytenum1 = 100;
		System.out.println("bytenum1=="+bytenum1);
		//2.定义+赋值
		byte bytenum2=127;
		System.out.println("bytenum2=="+bytenum2);
        //当我们赋值给字节型变量的具体数据值超过字节型取值访问时就会报错

		//短整型 short  2个字节 -2的15次方~2的15次方-1
		//1.先定义,后赋值。
		short shortnum1;
        shortnum1 = 200;
		System.out.println("shortnum1=="+shortnum1);
		//2.定义+赋值
		short shortnum2=2000;
		System.out.println("shortnum2=="+shortnum2);
        //当我们赋值给短整型变量的具体数据值超过短整型取值访问时就会报错

		//3.整型   int    4个字节  -2的31次方~2的31次方-1
		//1.先定义,后赋值。
		int intnum1;
         intnum1 = 20000;
		System.out.println("intnum1=="+intnum1);
		//2.定义+赋值
		int intnum2=2000000000;
		System.out.println("intnum2=="+intnum2);
        //当我们赋值给整型变量的具体数据值超过整型取值访问时就会报错

		//4.长整型   long    8个字节  -2的63次方~2的63次方-1
		//1.先定义,后赋值。
		long longnum1;
        longnum1= 30000;
		System.out.println("longnum1=="+longnum1);
		//2.定义+赋值
		long longnum2=3000000000000000000L;
		System.out.println("longnum2=="+longnum2);
        //当我们赋值给长整型变量的具体数据值超过长整型取值访问时就会报错
        //我们在给长整型变量赋值的时候,要给数据值添加“L”、“l”作为后缀
		
        //在程序中出现了没有变量保存的整数数据值时,程序就认为这个数据值就是int
        int  num1=123;
        int  num2=num1+200;
        System.out.println("num2=="+num2);
      }
}

例如:浮点型

public  class XiaoShuType{
	public static void main(String args[]){
		//单精度浮点型 float   4个字节   8位的有效数字
		//1.先定义,后赋值。
		float floatnum1;
        //floatnum1 = 100;
 		floatnum1 = 100.199F;
		System.out.println("floatnum1=="+floatnum1);
		//2.定义+赋值
		float floatnum2=100.199f;
		System.out.println("floatnum2=="+floatnum2);
		//单精度浮点型数据在赋值的时候需要添加“F”、“f”作为后缀
                
		//双精度浮点型 double   8个字节   16位的有效数字
		//1.先定义,后赋值。
		double doublenum1;
        //doublenum1 = 200;
 		doublenum1= 200.199;
		System.out.println("doublenum1=="+doublenum1);
		//2.定义+赋值
		double doublenum2=200.199D;
		System.out.println("doublenum2=="+doublenum2);
		//双精度浮点型数据在赋值的时候可以添加“D”/“d”作为后缀,也可以省略
		//在程序中出现了没有变量保存的小数数据值时,程序就认为这个数据值就是double
       }
}

例如:字符型

public  class CharType{
	public static void main(String args[]){
		//字符型 char   2个字节  0--65535
        //单个字符  A 
        //字符型数据在赋值的时候需要单引号包围
		//字符型是可以保存汉字 
        char charvalue='好';
		System.out.println("charvalue=="+charvalue);
        //转义字符
		//  斜杠  \   转义  \\
        System.out.println("f:\\test\\my.txt");
        //  双引号  "  转义  \"
		//  单引号  '  转义  \'
        System.out.println("张三说:\"你好\"");
        //  制表符 【Tab键】 转义 \t
        System.out.println("hello\tworld");
        //  换行  转义 \n
        System.out.println("hello\nworld");
      }
}

二、Java中基本数据类型之间的转换以及注意事项?

  1.boolean类型是不参与基本数据类型之间的转换。

  2.基本数据类型的精度排序【由低到高顺序】
    byte ——> short ——> char ——> int ——> long ——> float ——> double

  3.将数据类型精度低的转换成数据类型精度高的----隐式数据类型转换【自动数据类型转换】
     隐式数据类型转换【自动数据类型转换】不需要修改程序,直接赋值即可完成。
     可以直接赋予具体的数据值,也可以将变量赋值。
     例如:int—>doubole [隐式数据类型转换【自动数据类型转换】]

public  class DataTypeSwitch1{
	public static void main(String args[]){
		//int--->doubole [隐式数据类型转换【自动数据类型转换】]
		//直接赋予具体的数据值
		double doublevalue = 100;
		System.out.println("doublevalue=="+doublevalue);
		//可以将变量赋值
		int intnum=300;
        double doublevalue2=intnum;
		System.out.println("doublevalue2=="+doublevalue2);
      }
}

  4.将数据类型精度高的转换成数据类型精度低的–显式数据类型转换【强制数据类型转换】
     显式数据类型转换【强制数据类型转换】需要修改程序。
     格式:低精度数据类型 变量名称 = (精度低数据类型)精度高的数据值【变量】;
     例如:double—>int[隐式数据类型转换【自动数据类型转换】]

public  class DataTypeSwitch2{
	public static void main(String args[]){
		//double--->int[显式数据类型转换【强制数据类型转换】]
        //格式:低精度数据类型  变量名称 =  (精度低数据类型)精度高的数据值【变量】;
		//将小数转换成整数不会“四舍五入”,而是直接舍弃小数部分
		int intnum1=(int)12.8;
		System.out.println("intnum1=="+intnum1);
		double doublevalue=12.8d;
        int  value=(int)doublevalue;
		System.out.println("value="+value);
       }
}

  5.char与int的转换

    char的取值范围就是整数
    1. char---->int [[隐式数据类型转换【自动数据类型转换】]]
    2. int---->char[[显式数据类型转换【强制数据类型转换】]]
例如:

public  class CharAndInt{
	public static void main(String args[]){
		//char的取值范围就是整数
		//1.char---->int [[隐式数据类型转换【自动数据类型转换】]]
		char chatvalue1='好';
        int intvalue1=chatvalue1; //隐式数据类型转换
        System.out.println("intvalue1="+intvalue1);//intvalue1=22909
		//2.int---->char[[显式数据类型转换【强制数据类型转换】]]
		int intvalue2=22909;
        char charvalue2=(char)intvalue2;//显式数据类型转换
		System.out.println("charvalue2="+charvalue2);
       }
}

  6.int转换成byte
    当整数超过取值范围以后,会从最小值向前推进计算。
    数轴会变成闭环进行循环推进
Java基本数据类型_第1张图片

public  class IntToByte{
	public static void main(String args[]){
		byte  bytevalue=(byte)300;
		System.out.println("bytevalue="+bytevalue);
		//byte  bytevalue1=127;
		//byte  bytevalue2=(byte)(bytevalue1+1);
		//System.out.println("bytevalue2="+bytevalue2);
       }
}

总结

Java基本数据类型_第2张图片

你可能感兴趣的:(Java)