java的小问题:if(a==true)和(true == a)有什么不同,String a = null和String a = "";有什么不同;

还有程序开头的变量加static有什么作用;static int a = 0;和int a = 0;
2025-02-24 12:48:55
推荐回答(3个)
回答1:

1)if(a==true)和(true == a)没有什么不同,后一句可避免误写成赋值语句,一般只是为了代码规范化

2)String a = null和String a = "";有不同
String a = null,是指向空,a里面没东西,String a ="";给a赋了一个字符串,值为空

3)static int a = 0;和int a = 0;
static int a =0;是静态的变量,因为地址固定,同一类的所有对象共享一个值
int a=0;每个类的对象都会重新生成一个变量

回答2:

1)if(a==true)和(true == a)没有什么不同

2)String a = null和String a = "";有什么不同
String a = null,是没给a赋值,String a ="";给a赋了一个空的字符串

3)static int a = 0;和int a = 0;
static int a =0;你可以通过类名直接调用a
int a=0;不能通过类名调用

回答3:

if(a==true)和(true == a) 编程中常常把变量写到后面,以避免少打一个等号入“a=true” 发生。 这是一个习惯问题。
String a = null ; 申明一个string类型的 a,同时在内存里申请了一个地址,但是该地址不指向任何引用地址;

String a = "" ; 申明一个string类型的 a,既在内存里申请了地址,该地址又指向一个引用该字符串的引用地址;

static 是静态的意思,是指生存期是从声明开始一直到程序结束,但作用还是是局部的。