查看例子
package day02;
//boolean类型的用法
public class Test05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean flag=true;
int a=1;
int b=4;
//一个等号是赋值,两个等号是判断,但是用于判断8中基本数据类型
//对于String,要判断是否相等,则需要用到equals
System.out.println(a==b);
String a1=new String("a");
String b1=new String("a");
System.out.println(a1==b1);//false
//对于String来说,==比较的是两个类型的地址,使用了new对a1、b1都重新赋予了内存地址,所以不相等
//这里是用equals来直接判断两个字符串的值是否相等
System.out.println(a1.equals(b1));//true
String c1="a";
String c2="a";
System.out.println(c1==c2);//true
//在这里字符串c1、c2都没有用new创建内存空间,所以==是直接比较的值
//对于基本数据类型来说,申明一个变量a,系统就给a分配了空间
int e;
e = 250; // 声明变量a的同时,系统给a分配了空间。
/*而对引用类型变量来说,申明完一个变量,则需要new来分配系统空间
String f;
MyDate today;
today.day = 4; // 发生错误,因为today对象的数据空间未分配。
引用类型变量在声明后必须通过实例化开辟数据空间,
才能对变量所指向的对象进行访问。真确的写法是
MyDate today; //将变量分配一个保存引用的空间
today = new MyDate(); // 这句话是2步,首先执行new MyDate(),给today变量开辟数据空间,然后再执行赋值操作
*/
}
}
运行结果
false
false
true
true
标准解析可以查看:http://www.runoob.com/java/java-basic-datatypes.html