Java基础(一)基本数据类型

来源:互联网 发布:平湖市行知小学赵峰 编辑:程序博客网 时间:2024/05/16 08:10

有人问我为什么会选择java,java有什么好的。我是这么回答的:我现在也不知道当时为什么选择java,但是我现在挺喜欢java的。可能很多人和我一样,在刚刚接触程序的时候对所有程序的感觉都差不多,那个时候的选择成就了现在的我。不过,既然选择了,那就将java进行到底。

今天先把java的数据类型做一下整理:

在Java语言中,一共有8大数据类型,分别为:

整形:byte(字节型)、short(短整型)、int(整型)、long(长整型)

浮点型:float(单精度浮点型)、double(双精度浮点型)

布尔型:boolean

字符型:char

  整型就是整数类型,用于存储整数数据:

byte:一个byte类型整数在内存里占8位,取值范围是-128~127

short:一个short类型整数在内存中站16位,取值范围是-32768~32767

int :一个int类型整数在内存中占32位,范围是-2147483648~2147483647

long:一个long类型整数在内存中占64位,范围是-9 223 372 036 854 775 808~9 223 372 036 854 775 808

int是最常用的整数类型,因此在通常情况下,直接给出一个整数值默认就是int类型如果使用一个巨大的整数值(超过了int类型的范围)时,

Java不会自动把这个整数值当成long型来处理,如果希望系统吧一个整数值当成long类型来处理,应在这个整数值后增加一个 l 或者 L 

例如:long  l = 99999999999999;报错    long l = 99999999999999L;正确


浮点型就是小数类型,用于存储小数类型:

float: 一个float类型小数在内存中占32位,负数范围:-3.4028235E+38~-1.4E-45 正数范围:1.4E-45~3.4028235E+38

double:一个double类型小数在内存中占64位,负数范围:-1.7976931348623157E+308~-4.9E-324 正数范围:4.9E-324~1.7976931348623157E+308

Java语言的浮点型默认是double类型,如果希望Java把一个浮点型值当成float类型处理,应该在这个浮点型值后紧跟 f 或 F

 例如:float f =  3.88489; 报错      float  f = 3.49847F;正确

字符型:字符型通常用于表示单个的字符,字符型必须使用单引号( ‘ )括起来。

Java语言使用16位Unicode字符集作为编码方式,而Unicode被设计称支持世界上所有书面语言的字符,也包括中文字符,因此Java程序支持各种语言的字符

例如:

通过转义字符表示特殊字符型值,例如 ‘/n’(换行符) ‘/t’(空格)

直接使用Unicode值来表示字符值,格式是 ‘/uxxxx’,其中xxxx代表一个十六进制的整数

字符型也可以采用十六进制编码方式来表示,范围是 ‘/u0000’~ ‘/uFFFF’,一共可以表示65336个字符,其中前256个字符和ASCII码中的字符完全重合

布尔型boolean:用于表示逻辑上的“真”或“假”,在Java语言中boolean类型值只能是true或者false,不能用0或非0表示


数据的自动类型转换:

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

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

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

强制类型转换

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

注意:把一个浮点数强制转换为整数时,Java将直接截断浮点数的小数部分,只取其整数部分布尔类型不可转换成其他类型


综合讲解:
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*10的200次方
float f2=(float)d2;            //会产生溢出float最多只能10的38次方
System.out.println(f2);                //Infinity double对于float来说就是无限大
float f3=1.23f;//必须加f


原创粉丝点击