西安中公优就业IT培训学校

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>西安学习Java需要多少钱

西安学习Java需要多少钱

西安学习Java需要多少钱学Java就到西安中公优就业,西安中公优就业Java培训机构提供系统Java培训,包括电商平台搭建、分布式项目实战、高并发项目实战、微服务技术实战等。学习Java技术,认准优就业!现在咨询有机会获得试听课名额,期待您的咨询与来电。

一文读懂Java基本数据类型

在Java中的数据类型,分为引用类型和基本数据类型。本文主要讲解8种基本数据类型,引用类型将在面向对象中详细讲解。

在8种基本数据类型中整型有4种:byte,short,int,long;浮点型有2种:float,double;字符型有1种:char;布尔型有一种:boolean。

整数类型

整数类型byte,short,int,long,都是有符号(补码)整数,即有正负之分。

不同整数类型的取值范围

整数字面量(如:123,45)默认是int类型,在不超长小类型范围的情况下,大类型的数据给小类型直接赋值(在编写程序过程中会逐步体会)。

byte b1=128;//错误的语句,超范围赋值byte b2=127//合法赋值byte b3=-128//合法赋值

使用整数类型byte,short,int时要注意取值范围,(-128~127)之间的整数字面量可以直接赋值给byte类型,Java会自动处理符号位,如-8在计算机中以1111 1111 1111 1111 1111 1111 1111 1000表示,如果使用byte=-8语句赋值,则Java自动截掉前面的24位,同理,short类型也是一样(short极少使用)。

Java底层中byte、short按照32位计算,在输出byte,short的二进制时,会自动类型转换,如下代码将输出32个1,而不是16个1。

short s=-1;System.out.println(Integer.toBinaryString(s));//32个1

上面的代码等同于:

short s=-1;int i=s;System.out.println(Integer.toBinaryString(i));//32个1

long类型的字面量需要使用“L”或“l”作为后缀,否则不能编译通过。看如下代码:

long l=12123123123;//错误代码,为什么错?long l2=12123123123L;//正确代码

浮点数类型

浮点数类型是用于表示数学中带小数的数据类型,也就是二进制科学计数法。

10进制浮点数科学计数法:219345=2.19345*(10^5)

2进制浮点数科学计数法:10111=1.0111*(2^100)

float类型共32位(与int相同),第1位为符号位,2-9(8位)位为指位,较后23位为尾数。需要强调的是float的精度是23位(即能表达23位的小数,超过就被截取了)。小数是以尾数长度来表示度,比如pi=3.14,它的精度是2位,pi=3.1415,它的精度就为4位。

比较有趣的是int的精度比float要大,因为int的精度是31位,大于float。因为int类型的范围是(-2^31)~(2^31-1),而float的范围是(-2^128)~(-2^128-1),所以记住:int类型的数据能表示的范围比float类型小,int类型数据表示的精度比float大。

结论:浮点数没有int(尾数),浮点数范围比int大(指数)

float类型因为精度低,所以一般很少使用,一般我们会使用double。

double类型能表示64位,其中1位符号位,11位指数,52位尾数(不用记存储格式,知道一般小数用double足够表示了)。

如图所示,double能表示的范围就比float要大,也更。

double精度比int,但是不如long;double范围远远大于long。

需要注意的是,浮点数的字面量默认是double,double需要加后缀D或d,float加后缀f或F。

字符型char

字符类型是经常用到,比较有趣。字符类型是一个16位无符号整数,是一个2进制数,这个数值是一个字符的unicode编码值。

Unicode编码,是范围内的编码方法,编制了英文,中,日,韩,阿拉伯,希伯来等等共8万多个字符(Unicode编码在设计的时候就旨在能表示世界上所有文字)。

Java char的范围0~65535不能表示全部Unicode。

Unicode编码中英文部分与ASCII码兼容(ASCII表示范围0~128),同时英文字符和数字是连续编码的。

编码是什么?在计算机中不能直接存储文字,只能有用0和1表示,那么我们人为做了规定,某个数除了表示一个数,还可以表示成一个字符。一个10进制数65代表的字符就是大写字母A。

这一切都是为了尽可能的按人们的习惯显示和输出,在计算机内部永进是0和1存储和运算的。如下图,20013按字符输出是"中",按数字输出是20013。

char类型是无符号的16位整数,较小值为0,较大值为65535=2^16-1,在程序中为一个字符变量赋值,需要用单引号()')将字符字面量括起来,可以为char赋值的有字符、数字、符号,如下图所示:

注意:特殊字符采用转义字符表示,如:

'n'表示回车

't'表示制表位字符

''表示

'''表示单引号

'"'表示双引号

'u4e2d'表示unicode编码对应的字符

布尔类型boolean

boolean只有真(true)和假(false)两个值。一般用于判断语句块中,如下图:

数据类型转换

自动类型转换

正方向,小类型到大类型的转换会自动完成。自动类型转换也叫"隐式类型转换",是自动发生的,一般不需要处理。

转换规则:符号位会自动扩展,负数补1,正数补0,增加补码数值不变,

注意:整数转换为浮点数会损失度。

强制类型转换

强制类型转换,也叫显示类型转换,是按照反方向进行转换,这种转换会溢出,或者损失精度,要注意数据的范围。

需要注意的是,执行强制类型转换时,应规避边界数风险。如下图强制类型转换代码所示,强制类型转换后数据变了,所以强制类型转换是有风险的,在使用时一定要考虑源数据类型有没有超过目标数据类型的叏值范围:

西安中公优就业java培训学校课程有多个班型的,不同的班型课时、费用、授课重点都有差异的,兼顾不同基础、吸收能力不同的学员,欢迎来电咨询

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网