千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:广州千锋IT培训  >  技术干货  >  JAVA里面表达式,关系式,条件表达式,逻辑表达式,四者有什么区别?

JAVA里面表达式,关系式,条件表达式,逻辑表达式,四者有什么区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-11 21:29:45

一、JAVA里面表达式,关系式,条件表达式,逻辑表达式,四者的区别

区别是格式和优先级不同。

关系表达式(左结合)

优先级次于算述表达式

(1)<、>、<=、>=优先级高

(2)==(等于)、!=(不等于)优先级低

2、成立不成立

成立:命题为真(true)值为1

不成立:命题为假(false)值为0

条件表达式(三目运算符)

1、格式:

表达式1 ? 表达式 2: 表达式3

2、含义:

整个表达式的值由表达式1决定;

若表达式1成立,则整个条件表达式的值为表达式2的值;

若表达式1不成立,则整个条件表达式的值为表达式3的值。

例:

求三数表达式:

d=x>y?x:y;

e=d>z?d:z

d=x>y?(x>z?x:z):(y>z?y:z)

3、表达式1的成立与不成立

非0(值为1)——>成立

0——>不成立

4、优先级:只高于赋值法

结合性:

右结合

逻辑表达式

1、逻辑表达符

!(单目)取反  非运算  优先级高于算述运算符

&&(双目)并且  或运算  优先级低于运算符

||(双目)或者  与运算  运算符低于&&

&&:

两个表达式都成立时成立  否则不成立

||:

两个表达式其中任何一个成立就成立,只有两个都不成立时不成立

3、短路问题:

||:

左边成立情况下编译器不计算右边

&&:

左边不成立情况下编译器不计算右边

延伸阅读:

二、JAVA中条件表达式与c语言的不同

与C语言不同的是,JAVA中条件表达式的值必须参与运算。例子如下:

publicclassdemo{

publicstaticvoidmain(String[]args){

inta=10,b=20,y;

a>b?(y=a):(y=b;)//1,这样写是错误的

y=a>b?a:b;//2,这样写是正确的

y=a

}

}

数据类型

表达式1,表达式2,表达式3的类型可以不同.此时条件表达式的值的类型为它们中较高的类型

如果表达式1和表达式2具有相同的类型T,条件表达式的类型为T。

如果表达式1和表达式2中一个有类型T(byte、short或char),而另一个是int类型的常量表达式,其值又可以用类型T表示,则T为条件表达式的类型。

混合类型的计算,e2和e3被提升之后的类型为条件表达式的类型。

public static void 条件表达式的type(){

char x = ‘X’;

int i = 0;

System.out.println(true ? x : 0); //类型为char

System.out.println(true ? x : -1); //类型为int

System.out.println(false ? i : x); //类型为int

}

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

Python 在 Linux 里面有哪些应用?

2023-10-11

python和java相比写app有什么区别?

2023-10-11

python 利用可变参数传入list并打印,与直接用for循环打印有什么区别?

2023-10-11

最新文章NEW

常见的网络数据库有哪些?

2023-10-11

为什么函数式语言里有递归数据类型但没有递归函数类型?

2023-10-11

大数据与深度学习有什么区别?

2023-10-11

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>