java compare 大于等于_Java基础-比较运算符Compare Operators

Java基础-比较运算符Compare Operators

作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.关系运算符

关系运算符包括:

1>.大于(>)

2>.大于等于(>=)

3>.小于(

4>.小于等于(<=)

5>.等于(==)

6>.不等于(!=)

关系运算的结果是一个布尔值。

二.基本数据类型比较

1 /*

2 @author :yinzhengjie3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/

4 EMAIL:y1053419035@qq.com5 */

6

7 public classCompareDome{8 public static voidmain(String[] args){9 System.out.println( 10 > 5 ); //true

10 System.out.println( 10 >= 5 ); //true

11 System.out.println( 10 < 5 ); //false

12 System.out.println( 10 <= 5 ); //false

13 System.out.println( 10 == 5 ); //false

14 System.out.println( 10 != 5 ); //true

15

16 int a = 10;17 int b = 20;18 System.out.println( a > b ); //false,变量进行比较是比较两个变量的值。

19 }20 }

三.字符串的比较

1 /*

2 @author :yinzhengjie3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/

4 EMAIL:y1053419035@qq.com5 */

6

7 public classCompareDome2{8 public static voidmain(String[] args){9 String s1 = "abc";10 String s2 = "abc"; //直接赋值字符串字面量

11 String s3 = "ab" + "c"; //使用加号可以进行字符串的链接

12 String s4 = new String("abc"); //使用String类的构造方,创建字符串对象

13

14 System.out.println(s1);15 System.out.println(s2);16 System.out.println(s3);17 System.out.println(s4);18

19 System.out.println(s1 == s2); //true

20 System.out.println(s1 == s3); //true

21 System.out.println(s1 == s4); //false

22 System.out.println(s2 == s3); //true

23 System.out.println(s3 == s4); //false

24

25 }26 }

你可能会疑问,为什么输出的布尔值一次是:“true,true,false,true,false”,其实很简单,我们需要了解一下“堆区,栈去和方法区”。

1>.Java把内存分为栈区,堆区,方法区三块;

2>.s1,s2,s3,s4这四个是main方法中定义的局部变量,这四个变量在栈区中分配存储空间;

3>.“abc”是使用双引号引起来的字符串字面量,字符串字面量存储在方法区中的常量区里。系统会先在常量区查找这个字符串是否存在,如果不存在就把“abc”字符串存储在常量区,然后把在常量区中的存储地址赋(内存地址)值给变量s1;如果常量区中有这个字符串,就直接把这个字符串的存储地址(内存地址)赋值给变量s2;

4>.“ab”+“c”是两个字符串常量进行连接病生成一个新的字符串常量“abc”,现在常量区中已经存在“abc”字符串了,就直接把“abc”的存储地址(内存地址)赋值给变量s3;

5>.s4这个字符串是通过new运算符创建的,new运算符会在堆中单独分配一块存储空间(内存地址),并将这个存储空间的内存地址赋值给变量s4,而分配的这个内存地址中存储的vlaue就是常量区中的“abc”。我们可以通过下图帮助我们理解:

d7f5308e72c93882e07f8ff7960e5891.png

如果想要比较字符串中的每个字符是否都一样,可以使用“equals()”方法。

1 /*

2 @author :yinzhengjie3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/

4 EMAIL:y1053419035@qq.com5 */

6

7 public classCompareDome3{8 public static voidmain(String[] args){9 String s1 = "abc";10 String s2 = "abc"; //直接赋值字符串字面量

11 String s3 = "ab" + "c"; //使用加号可以进行字符串的链接

12 String s4 = new String("abc"); //使用String类的构造方,创建字符串对象

13

14 /**

15 String 是一个类,是一种引用数据类型。16 s1,s2,s3,s4中存储的内容是从另外一块存储空间的引用(地址)。使用双等号(==)17 进行比较时,是比较的这些变量中的值,即是否都引用了另外一块存储空间引用(地址)18 */

19

20 //如果想要比较字符串中的每个字符是否都一样,可以使用“equals()”方法。

21 System.out.println(s1.equals(s2)); //true

22 System.out.println(s1.equals(s3)); //true

23 System.out.println(s1.equals(s4)); //true

24 System.out.println(s2.equals(s3)); //true

25 System.out.println(s2.equals(s4)); //true

26 System.out.println(s3.equals(s4)); //true

27 }28 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值