Java中有8中基本数据类型来存储数值,字符和布尔值.
整型数据类型:byte short int long
浮点型数据类型:float double
字符类型:char
布尔类型:boolean
整数类型用来存储整数数值,可以是正数,也可以是负数,在java程序中有3中表示形式,分别是十进制 八进制 十六进制

  1. 数据类型 内存空间(8位等于1字节) 取值范围
  2. byte 8位 -128~127
  3. short 16位 -32768~32767
  4. int 32位 -2147483648~2147483647
  5. long 64位 -9223372036854775808~9223372036854775807

注意:十进制不能以0作为进制数的开头(0除外),八进制必须以0开头,十六进制必须以0X或者0x开头.
浮点类型表示有小数部分的数字.java语言中浮点类型分为单精度浮点类型(float)和双精度浮点型(double).
6. float 32位 -4E-45~3.4028235E38
7. double 64位 -4.9E-324~1.79769313486231570E+308
注意:若使用float型小数,则需要在小数后面添加F或f.可以使用后缀d或D来明确表明这是一个double数据类型,不加”D”或者”d”,不会错,但是声明float型变量时不加”f”,系统会认为是double类型而出错.
字符类型用于储存单个字符,占用16位 定义时要以单引号表示.


数据类型转换是将一个值从一种类型更改为另一中类型的过程.
低精度数据类型向高精度数据类型转换,则用远不会溢出,并且总是成功的;而高精度数据类型向低精度数据类型转换则必然会有信息丢失,有可能失败.
数据类型转换有两种:隐式类型转换和显式类型转换
隐式类型转换:从低级类型向高级类型的转换,系统将自动执行.
数据的精度从低到高的顺序为:byte< short < int < long < float< double
下面是一个介绍隐式转换的的代码

public class Convert { 
 public static void main(String []args){ 
 byte b=127;//定义byte型变量b,并赋值为最大值 
 int i=120;//定义int型变量i,并赋值 
 float f=123.12f;//定义float型变量f,并赋值 
 char c=10;//定义char型变量c,并复制 
 double d=45.1234;//定义double型变量,并赋值 
 /* 将运算结果输出*/ 
 System.out.println(“byte型于float型数据进行运算结果为:”+(b+f)); 
 System.out.println(“byte型于int型数据进行运算结果为:”+(b*i)); 
 System.out.println(“byte型于char型数据进行运算结果为:”+(b/c)); 
 System.out.println(“double型于char型数据进行运算结果为:”+(d+c)); 
 } 
 }


显示类型转换:当把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换(又称强制类型转换).
语法如下:

int a=(int)12.34;//此时输出a的值为12 
 long b=(long)123.4F;//此时输出b的值为123 
 int i=(int)’d’;//此时输出i的值为100


当执行显示类型转换时可能会导致精度损失,只要是boolean类型以为其他基本类型之间的转换,全部都能以显示类型转换的方法达到.
说明:当把整数赋值给一个byte short int long 型变量时,不可以超出这些变量的取值范围,否则必须进行强制类型转换,例如byte b=(byte)129;