您的位置:首页 > 编程语言 > Java开发

Java注意事项(基础细节)

2016-03-18 00:00 387 查看
摘要: 基本数据类型的运算取值范围问题、float 赋值及强制转换的问题

1、写代码时 class 后面跟的类名不能加后缀 .java

例如:class VarDemo01不能写成class VarDemo01.java 否则无法运行

注意:调用java打印时也应输入类名而不是class文件名,调用javac时要用java文件名

2、写好的代码必须先调用javac进行编译生成一个class文件后再调用java打印java文件中的要输出的内容

3、字符要用 ' ' 或 " " 标识,但输出语句的字符只能用 " " 而不能用 ' '

例如:char c = 'A' 也可用char c = "A" 但对于输出语句System.out.println("--------")只能使用 " " 标志

4、基本数据类型的运算取值范围问题:

class VarDemo05
{
public static void main(String[] args){
byte b1 = 1;
byte b2 = 2;
byte sum = b1 + b2; //错误(数据的数据类型超出取值范围,如果参与的数据的数据类型 <= int,默认结果是 int 类型的,int是四个字节而byte是一个字节b1+b2的值默认为int类型不能放入内存更小的byte类型中)

long l1 = 100;
int i1 = 10;
l1 = l1 + i1;
System.out.println(l1); //正确(如果参与的数据的数据类型 >  int,那么结果提升为参与运算的最高数据类型  即l1+i1的值是long类型的)

int i2 = 1;
int i3 = 2;
i2 = i2 + i3;
System.out.println(i2); //正确(即i2+i3的值放到i2中)

int i2 = 1;
int i3 = 2;
int i2 = i2 + i3;
System.out.println(i2); //错误(已经开辟了名为i2的内存空间而后面又有int i2相当于又开辟了一个内存和也叫i2 这是不合法的。可以用int sum )

byte b1 = 127;
byte b2 = 127;
short s1 = 1;
int i5 = 1;
int sum = b1 + b2 + s1 + i5;
System.out.println(sum);//正确

}
}

5、float 赋值及强制转换的问题:

class VarDemo07
{
public static void main(String[] agrs){
float f1 = 1.0f; //注意:浮点型系统默认的是double类型即八个字节而float是四个字节,所以,使用float型时要在后面小数后加后缀 F 或 f

float f2 = 1;
//对于 1 是整型默认为int型四个字节而float也是四个字节,所以此处合法
float f3 = (float)1.0;
//在数据前加数据类型即可强制转换成相应的数据类型。这种方法虽合法但不安全
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息