第二章Java语法基础_第1页
第二章Java语法基础_第2页
第二章Java语法基础_第3页
第二章Java语法基础_第4页
第二章Java语法基础_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章tm语法基础 l java数据类型以及变量的定义java是一种“强类型”的语言,声明变呈时必须指明数据类型。变景(variable)占据一定的内存空间。不同类 型的变s占据不同的大小。java中共有8种基本数据类型,包拈4种輅型、2种浮点型、1种字符型、1种布尔型,谘见下表。java基本数据类型数据类型说明所占内存举例备注byte字节型1 byte3, 127short短整型2 bytes3, 32767int整型4 bytes3, 21474836long长整型8 bytes3l,92233720368llong扱后要有一个l字母(大小写无所谓)。float单精度浮点型4 bytes1

2、.2f, 223.56ffloat is后要有一个f字母(大小写无所谓)。double双精度浮点型8 bytes1.2,1.2d, 223.56, 223.56ddouble最后最好有一个d字母(大小写无所谓)。char字符型2 bytesa., a字符型数据只能是一个字符,由单引号包围。boolean布尔型1 bittrue, false对于整型数据,通常情况下使用int类型。但如果表示投放广岛长崎的原子弹释放出的能虽,就需耍使用 long类型了。byte和short类型卞要用于特定的应用场合,例如,底层的文件处理或者需要控制占用存 储空间量的大数组。在java中,整型数据的长度与平台无关,

3、这就解决了软件从一个平台移梢到另一个平台时给程序w带来的 诸多问题。与此相反,c/c+整型数据的长度足与平台相欠的,程序员需耍针对不同平台选择合适的整型, 这就可能导致在64位系统上稳定运行的程序在32位系统上发生整型溢出。八进制有一个前缀0,例如010对应十进制屮的8:十六进制有一个前缀0x,例如oxcafe:从java 7开始,可以使用前缀ob來表示二进制数据,例如0b1001对应十进制中的9。同样从java 7开始, 可以使用下划线來分隔数字,类似英文数字写法,例如1_000_000表示1,000,000,也就足一百万。下 划线只是为了让代码更加易读,编译器会删除这些下划线。另外,不像c

4、/c+, java不支持无符号类型(unsigned)。float类型打效数字敁长为7位,打效数字长度包括/整数部分和小数部分。例如:注意:每个float类型后而都有 个标志"f”或“f”,有这个标志就代表是float类型。double类型有效数字敁长为15位。与float类型一样,double后面也带有标志“d"或“d”。例如:l23.4»i2. i y = 422.221 i xbb2.234i注意:不带任.何秘志的浮点型数据,系统默认是double类型。大多数情况下都是用double类型,float的精度很难满足需求.不m数据类型应用举例: j 4sm2.x

5、4.k sllfe os !«. <|bllbii字符型e1:微 e2 2,学 e1e9 ; 一苑 if网站的名字是:”+/>ue2 +,.m.ililo.rr14.n.iknib.n.2»./z整型s1 mi "22 / 十进制 22i "八进制i / 十六进制r转化成十进制:'+>lii浮点型4 = 22. 4ih n : mi«il r计算乘积:”+rrrt+ +1)运行结果:m站的名字是:微学苑转化成十进制:x = 22, y = 18, z = 34 计算乘积:22.45* 10.0=224.50000762

6、939453从运行结果可以看出,即使浮点型数据只冇整数没冇小数,在控制台上输出吋系统也会动加上小数也 并且小数位全部置为0。对布尔型的说明如果你冇编程经验,/解布尔型,请跳过下曲'的教程,下面的教程针对只冇c语言基础的读者(cffi s没 有布尔型)。在c语言屮,如果判断条件成立,会返回1,否则返回0,例如:l2.xix4.ih> nii rfi4 ; ih1 wikb4ntw» w = k 沙t.n =/,>m)运行结果:100>10 = 1 100<10 = 0但是在java屮不一样,条件成立返回true,否则返回false,即布尔类型。例如:2.

7、x4.5.kt.i.,m.ilo.d.14.b.3-lie bm. «/字符型* 2 ih>i : iw1 nil 也 cih>3eccim>rrrr+ *> + l>l是对的t>运行结果:100>10 = true 100<10 = false100<10是对的实际上,true等同于1, false等同于0,只不过换了个名称,并单独地成为一种数据类型。3. java数据类型转换(自动转换和强制转换)数据类型的转换,分为动转换和强制转换。ri动转换是程序在执行过程屮"悄然”进行的转换,不需要川 户提前声明,般足从位数低的

8、类型向位数髙的类型转换;强制类型转换则必须在代码中声明,转换顺序 不受限制。自动数据类型转换自动转换按从低到髙的顺序转换。不m类型数据间的优先关系如下:低>髙byte,short,char-> int -> long -> float -> double运算中,不同类型的数据先转化力同类型,然后进行运算,转换规则如下:操作数1类型操作数2类型转换后的类型byte、short、charintintbyte、short、char、intlonglongbyte、short、char、int、longfloatfloatbyte、short、char、 int、long

9、、floatdoubledouble强制数据类型转换强制转换的格式足在需要转型的数据前加上"()”,然沿在括兮内加入需要转化的数裾类型。冇的数据经过转 型运算后,精度会丢失,而有的会更加精确,下面的例子可以说明这个问题。limb ml. <2. xjbrfi<swi 呀s>c3. *嶋職n4. li/,b.+ ttoil2i / 丢失精度u/ 2+ li / 提高精度9.| nb <li cvzt + >'> , >w.>运行结果:x=45y=56.0仔细分析上面程序段:由于在34.56前有一个int的强制类型转化,所以34.5

10、6就变成了 34。同 样11.2就变成了 11 了,所以x的结果就是45。在x前有一个double类型的强制转换,所以x的值变为45.0,而10的前面也被强制成double类型,所以也变成10.0,所以最后y的值变 为56。3. java运算符java中的运算符和c/c+相差无几。数学运算符数学运算,结果为一个数值。见下表:运算符说明举例+加法1 + 2-减法4-3.4木乘法7 * 1.5/除法3.5/7%取余7% 2+自增3+-自减3-关系运算符关系运算符,结果为一个布尔«。见下表:运算符说明举例>大于a >4.2>=大于等于3.4 >= b<小于1.

11、5 <9<=小于等于6 <= 1=等于2=21=番不等于2 !=2&&与true && falseii或(3 > 1) 11 (2 = 1)1非true位运算符位运算符对整数的二进制形式逐位进行逻辑运算,得到一个整数。见下表:运算符说明举例&与1&44.b.kt.i1或2 | 5a异或2 a3非5«左移5«3»右移6» 1条件运算符java中也有一个条件运算符(三目运算符): condition ? x1 : x2condition 为一个 boolean 值。根据 conditio

12、n,取 x1 或 x2 的值。下面是关于运算符的一个综合举例: dlliemmi irfii <s>cl;nia4-bcnin.ilb.o.14.ib.ikyln.n.< 1 nb <1 r后自加*f + c4>i sb4m r*的值*=” + *1r前自加 if + fm»i r>r说。对吗? ” + o .<1-11 r认为 >>1 并且对吗?” +>s*s4mr认为。y 或者b',对吗?”<,> »lr认力ki1 或者对吗?” +<!_) »srs4m.e.<|hii<ji ct>i2lr*&-r 的结果是:22. .<!&4l r*p 的结果是:” + cp>i23. srs<m.e.<|hii<ji结果是:"+ <o>i24.24. &,*84«1.<.<匯|<1 c>12b.r* 左移 2 位的结果是:+ ch2»i2t.q 右移 3 位的结果是: + vo5»

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论