java基础

来源:互联网 发布:jav网络机顶盒如何刷机 编辑:程序博客网 时间:2024/05/21 11:14

Java中的数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。


*注:整数默认:int 小数默认:double


l  自动类型转换

      Java所有的数值型变量可以相互转换,如果系统支持把某种基本类型的值直接赋给另一种基本类型变量,则这种方式被称为自动类型转换

      范围小的可以向范围大的进行自动类型转型转换

     byte ->short 、char->int ->long -> float -> double

l  强制类型转换

     将箭头右边的类型转换为左边的类型,则必须进行强制转换

     注意:把一个浮点数强制转换为整数时,Java将直接截断浮点数的小数部分,只取其整数部分

*注:布尔类型不可转换成其他类型

错误演示:

byte b = 3;

b = b + 2;//编译是出现错误

原因:java是强类型语言 b+2 会自动转换为int类型,无法赋值给为byte类型的b  此时需要强制转换

修改:b = (byte) (b + 2);

 

*注:char类型可进行运算,因为有对应的ASCII数值

 

综合讲解:

int i1=123;int i2=456;

double d1=(i1+i2)*1.2; //系统将转换为double型运算

float f1=(float)((i1+i2)*1.2);  //需要加强制转换符

byte b1=1;byte b2=2;

byte b3=(byte)(b1+b2); //系统将转换为int型运算,需要强制转换符

double d2=1e200;             //1*10200次方

float f2=(float)d2;            //会产生溢出float最多只能1038次方

System.out.println(f2);        //Infinity double对于float来说就是无限大

float f3=1.23f;//必须加f

long l1=123;

long l2=30000000L;//必须加l

float f=l1+l2+f3; //系统转换为float型计算

long l=(long)f;   //强制转换会舍去小数部分不是四舍五入

 

 

原创粉丝点击