yucan  
日历
<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910
统计
  • 随笔 - 1
  • 文章 - 1
  • 评论 - 0
  • 引用 - 0

导航

常用链接

留言簿

文章档案

相册

搜索

  •  

最新评论

 

今天从图书馆借了一本书——《Java SE 6.0 编程指南》,吴亚峰 纪超 编著。以前曾零零散散断断续续学过Java,但是没有坚持下来。从今天开始我要正式好好学习Java。

一、关于Java

1.1991年,Sun MicroSystem公司。Java是爪哇岛出产的美味咖啡,用其命名表示给每个使用Java进行开发的程序员一杯美味的咖啡。

2.Java SE,Java EE,Java ME。

3.简单性——略去头文件、指针运算、操作符重载、多重继承等,面向对象,分布式,健壮性,可移植性——“一次开发,随处运行”,安全性。

4.学会使用API。

二、基本数据类型

1.单行注释——“//”;区域注释——“/*”开始“*/”结束,许多开发人员在区域注释内容的每行都习惯以“*”开头,没什么异样,习惯而已;文档注释——JDK提供了为自己的代码自动生成API网页的工具,由“/**”开头,“*/”结尾,文档注释的内容未来经过工具处理会出现在生成的API网页中,普通注释的内容不会出现在生成的API网页中,命令:javadoc。

2.基本数据类型:4种整型,2种浮点型,1种表示字符单元的char型以及1种表示布尔值的boolean型。

3.整型:整型用来表示没有小数部分的整数,Java中整型全部为有符号数。byte,short,int,long。Java中,整型的长度及其范围与运行Java的目标机器无关。

4.3中进制来表示整数的字面常量:十进制,八进制——需要在该数前边放置一个“0”,十六进制——前置0X。

5.字面常量都被默认为int型。当需要定义byte型和short型字面常量时,不需要任何特殊后缀。

6.浮点型中两种数据类型全部为有符号数。浮点型字面常量默认为double型,要使用float型字面常量时,须将后缀F或f添加到字面常量中,double型后缀D或d,可以不加。JavaSE5.0以后,可以使用十六进制表示浮点数值,0.125可以表示为0X1.0p-3,p表示指数——power,为2。

关于浮点数的表示

浮点数的表示随机器的不同而不同,最常见的一种形式是ieee-754标准,一个ieee-754的float(4 bytes)或者double(8 bytes)由三部分构成:一个符号位说明这个数是正还是负,一个指数给出了它的数量级和一个尾数给出了实际的数字。

S P M


其中S是符号位,P是阶码,M是尾数

对于IBM-PC而言,单精度浮点数是32位(即4字节)的,双精度浮点数是64位(即8字节)的。两者的S,P,M所占的位数以及表示方法由下表可知

S P M 表示公式 偏移量
1 8 23 (-1)S*2(P-127)*1.M 127
1 11 52 (-1)S*2(P-1023)*1.M 1023


以单精度浮点数为例,可以得到其二进制的表示格式如下

S(第31位) P(30位到23位) M(22位到0位)

其中S是符号位,只有0和1,分别表示正负;P是阶码,通常使用移码表示(移码和补码只有符号位相反,其余都一样)。

单精度浮点数和双精度浮点数都是用IEEE754标准定义的,其中有一些特殊约定。
(1) 当P = 0, M = 0时,表示0。
(2) 当P = 255, M = 0时,表示无穷大,用符号位来确定是正无穷大还是负无穷大。
(3) 当P = 255, M != 0时,表示NaN(Not a Number,不是一个数)。

ieee标准委员会将0看做一种特殊情况:忽略符号位如果每一位都是0,那么这个数被看做0.

7.char型:每个char型变量占16bit,不是ASCII码,是Unicode编码。其字面常量可以通过Unicode编码来直接表示,格式“\uxxxx”,x代表一个十六进制数字。字符型实际上只是一个16bit的无符号整数。

8.Java中,boolean型的值不能与任何其他基本类型的值进行转换代替。

9.基本数据类型值间的转换

自动转换——源代码中不用任何特殊说明,顺着箭头方向有路径的系统会自动进行转换。

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

char->int……

将int型及long型转换为浮点型时,有可能损失精度,因为int型(long型)所包含的比特数比float型所能够表达的有效比特数多。

手动强制转换——语法格式为在圆括号中给出想要转换的目标类型,随后紧跟待转换的变量或字面常量。强制类型转换时把占用空间大的类型转换为占用空间小的类型时,采用截取的方法,不会进行四舍五入。

隐含强制转换——Java中的一个特殊情况,因为没有专用的后缀来表示byte、short类型的字面常量,Java系统允许在编写代码时,用int型的字面常量来表示byte,short类型的字面常量,由编译器自动进行转换识别,如byte b=123;隐含的强制转换对变量不行。

三、标识符命名规范

1.标识符中的字符大小写敏感,长度没有限制。

2.提倡的命名习惯:

包名——尽可能地全部使用小写,如com.utilities;

类名或接口名——通常应该是由名词组成,名称内所有单词的第一个字母都大写,其他字母小写,如WelcomTom;

方法名——通常第一个单词应该是动词,第一个字母应该小写,如果有其他单词,则其他单词的第一个字母大写,其余字母小写,如isEmpty();

变量名——成员变量的大小写规则与方法名相同,局部变量应该尽可能全部使用小写,只有临时变量,如循环变量,可以使用单字符名称,如currentIndex,name,i;

常量名——名字应该全是大写字母,使用下划线分隔单词,如MAX_HEIGHT。

posted on 2011-06-20 23:38 yucan 阅读(351) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © yucan Powered by: 博客园 模板提供:沪江博客