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

一些不常被注意到的Java问题

2016-04-08 22:14 381 查看
牛客JAVA练习题

一些不常被注意到的问题<
a702
/p>

public class Demo6
{

public static void main(String[] args)
{
int x = 3;
int y = 4;
if(x = y) //编译不会通过 应该使用 ==
{
System.out.println("Not equals");
}
else
{
System.out.println("equals");
}
}

}


以下demo中使用到的知识点

基本类型如果未赋初值默认值:

int  0; byte 0;short 0; long 0L;char 'u000';float 0.0f;double 0;boolean false;

所有引用类型的变量未赋初值时默认值为null;

public class Demo7
{

static{
int x = 5;
}
static int x, y; // 不赋初值默认为零
public static void main(String[] args)
{
x--;
myMethod();
System.out.println(x + y + ++x);
}
public static void myMethod()
{
y = x++ + ++x;
}
}

输出为3;

byte类型的变量在进行运算时会被提升为int 类型。

public class Demo8
{

public static void main(String[] args)
{
byte b1 = 1,b2 = 2,b3,b6;
int a = 4;
final byte b4 = 4,b5 = 6;
b6 = b4 + b5; // b4 和 b6都是final修饰的常量,所以在编译时 b6 = 10;
b3 = (b1 + b2);// byte类型在进行运算时会提升为int类型,而b3为byte类型故编译报错
a = b1 + a; // 编译不会报错
System.out.println(b3 + b6);
}
}


Java中封装的作用是隐藏内部实现细节,增强程序的安全性。其实封装可以看做是对属性的私有化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: