A. java中大写的Long与小写的long区别是什么
Long 是long类型的包装类 Long a=10l 相当于Long a=new Long(10);
java1.几以后有了自动封装 忘了是几了 所以可以直接写成Long a=10l
一个是基本数据类型 一个是类实例化对象
B. java中"long readPosition = 0;"语句是什么意思
我帮你从头整理一下吧,
RandomAccessFile in = new RandomAccessFile(gradeFile,"rw");以读写的方式创建一个访问文件gradeFile的类。
long fileLength = in.length();存储取得的记录的大小。
long readPosition = 0;用来存储记录偏移量的值
while (readPosition < fileLength)循环判断,如果偏移量小于记录的大小,则执行循环体,如果大于或等于记录大小,则执行下一步操作。
String name = in.readUTF();从记录中读取两个字节,然后以utf-8形式编码
int time = in.readInt();从记录中读取四个字节。
readPosition = in.getFilePointer();返回记录中当前的偏移量。
所以,不理解那句的意思,应该就是不理解RandomAccessFile的具体是如何操作数据的。如果学过C这就不难理解了。这个偏移量和C中的指针非常相似。不过偏移量是个整数,表示的是,开头到指针现在指向的位置的偏移量,从0到记录长度(也就是 in.length())
所以就不难理解设置long readPosition = 0;的目的了,这个变量出现的意思就是存储了指针当前位置的偏移量,如果指针指向了最后一个位置,那么在做循环判断while (readPosition < fileLength)的时候结果为false那么循环体就不执行,避免出现异常。
C. java的基本数据类型有哪些
四种八类:
基本数据类型
整数类型:
byte:字节占用 1字节 8位,用来表达最小的数据单位,储存数据长度为 正负 127;
short:字节占用 2字节 16位,储存数值长度为 -32768-32767
int:字节占用 4字节 32位,最为常用的整数类型,储存长度为,-2^31-1~2^31 (21 亿)
long:字节占用 8字节 64位,当到达int数值极限时使用,储存长度为 看图片:
浮点数类型:
float:单精度浮点型 32位 取值范围 3.4e-38~3.4e-38
double:双精度浮点型 64位 ,java中默认的浮点类型 取值范围 1.7e-308~1.7e-308
字符类型:
char:16位 ,java字符使用Unicode编码;
布尔类型
boolean : true 真 和 false 假
引用数据类型:
类 class
接口 interface
数组
D. java的long 计算多少范围内是准确的
long最大值是9223372036854775807(2^64-1)。
long最小值是-9223372036854775808(-2^64)。
long的最大值写法:long l = 9223372036854775807L;
long的最小值写法:long l =- 9223372036854775808L;
备注:后面的一个L,必须加上去。
E. java里用Math.round怎么吧小数点后面的0去掉
可参考如下代码:
Strings="111.01100";
if(s.indexOf(".")>0){
//正则表达
s=s.replaceAll("0+?$","");//去掉后面无用的零
s=s.replaceAll("[.]$","");//如小数点后面全是零则去掉小数点
}
System.out.println(Math.round(s));
JAVA API解释如下:
public static long round(double a)
returns the closest long to the argument. the result is rounded to an integer by adding 1/2, taking the floor of the result, and casting the result to type long. in other words, the result is equal to the value of the expression:
返回最接近参数的long。结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为long类型。换句话说,结果等于以下表达式的值:
(long)Math.floor(a + 0.5d)
特殊情况如下:
如果参数为 NaN,那么结果为 0。
如果结果为负无穷大或任何小于等于Long.MIN_VALUE的值,那么结果等于Long.MIN_VALUE的值。
如果参数为正无穷大或任何大于等于Long.MAX_VALUE的值,那么结果等于Long.MAX_VALUE的值。
参数:
a- 舍入为long的浮点值。
返回:
舍入为最接近的long值的参数值。