黑马程序员技术交流社区

标题: 关于关系运算符的一个疑问!!! [打印本页]

作者: mayor125    时间: 2013-10-15 18:50
标题: 关于关系运算符的一个疑问!!!
本帖最后由 mayor125 于 2013-10-16 09:24 编辑

本人是零基础菜鸟新人一枚,刚看基础视频的时候突有一疑问,代码如下:
  1. public class OperateDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println("3>1 = "+(3>1));
  6.                 System.out.println("3<1 = "+(3<1));
  7.                 System.out.println("3>=1 = "+(3>=1));
  8.                 System.out.println("3<=1 = "+(3<=1));
  9.                 System.out.println("3==1 = "+(3==1));
  10.                 System.out.println("3!=1 = "+(3!=1));
  11.         }
  12. }
复制代码
打印输出结果是:
3>1 = true
3<1 = false
3>=1 = true
3<=1 = false
3==1 = false
3!=1 = true

问题:为何关系运算符打印输出的结果是布尔型的值呢?

:lol各位大神,求指点,求调教。。。。。。。
作者: 雷丹    时间: 2013-10-15 18:59
这个是比较运算符吧,如果是c++可以运算符重载
作者: bird_not_fat    时间: 2013-10-15 18:59
关系运算符存在的目的不就是为了判断两者的大小关系么,如果值不是boolean型的,那系统怎么知道谁大谁小啊,boolean值就是一个标识,标识着两者的关系。好比
if(a>3){
    System.out.println(xxx);
}
a>3要是返回的不是boolean那程序不就报错了么..
作者: ☆╰學不会☆╮    时间: 2013-10-15 21:24
常见的关系运算符有:
等于符号:==,不等于符号:!= ,大于符号:>, 小于符号:<,大于等于符号:>= ,小于等于符号:<= 。
注意的是 等于符号是==,而不是=。= 相当于赋值了。
在程序中做运算的时候,容易用到关系运算符的。关系运算符就是做比较用的 所以得出的结果是布尔类型。
比较后的结果要么是真 要么是假。所以输出的结果 如果关系成立为true(真) 不成立则为false(假)。
作者: FFF    时间: 2013-10-15 21:44
>、<、 !=、==是关系运算符,关系运算符结果为逻辑型。因为逻辑表达式是由逻辑运算符组成的表达式,其结果也为逻辑型(boolean)
这是定理吧,就象1+1=2.为什么1+1要等于2?
作者: mayor125    时间: 2013-10-16 09:23
{:soso_e183:}感谢各位大神的解惑,受教了!!!
作者: air    时间: 2013-10-16 10:19
因为,你用了运算符是要出结果的.看看你上面3大于1,你不能指望计算机给你噼里啪啦一大堆解释说人类自从数数以来怎么怎么的,他只能条件式告诉你,就是真或假




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2