介绍java表达式

表达式是任何Java程序的基本构建块,通常是为了生成新值而创建的,尽管有时表达式会为变量赋值。表达式是使用值、变量、运算符和方法调用构建的。...

表达式是任何Java程序的基本构建块,通常是为了生成新值而创建的,尽管有时表达式会为变量赋值。表达式是使用值、变量、运算符和方法调用构建的。

A group of programmers working at a computer

java语句(java statements)和表达(expressions)的区别

就Java语言的语法而言,表达式类似于英语中描述特定含义的子句。有了正确的标点符号,它有时可以独立存在,尽管它也可以是句子的一部分。有些表达式本身等同于语句(通过在末尾添加分号),但更常见的是,它们构成语句的一部分。

例如

(a * 2)is an expression. b + (a * 2); A statement doesn't have to include multiple expressions, however. You can turn a simple expression into a statement by adding a semi-colon: (a * 2);

Types of Expressions

While an expression frequently produces a result, it doesn't always. There are three types of expressions in Java:
  • 产生一个值的值,即(1+1)的结果
  • 分配变量的变量,例如(v=10)
  • 那些没有结果但可能有“副作用”的表达式,因为表达式可以包含广泛的元素,例如修改程序状态(即内存)的方法调用或增量运算符。

表达式示例

下面是各种类型表达式的一些示例。

产生值的表达式

产生值的表达式使用范围广泛的Java算术、比较或条件运算符。例如,算术运算符包括+、*、/、++和%。一些条件运算符是?、| |,比较运算符是&lt<=及>。有关完整列表,请参见Java规范。

这些表达式产生一个值:

3/2 5% 3 pi + (10 * 2)

注意最后一个表达式中的括号。这将指导Java首先计算括号内表达式的值(就像您在学校学到的算术一样),然后完成其余的计算。

指定变量的表达式

此程序包含大量表达式(以粗体斜体显示),每个表达式都指定一个值。

int secondsInDay = 0; int daysInWeek = 7; int hoursInDay = 24; int minutesInHour = 60; int secondsInMinute = 60; boolean calculateWeek = true; secondsInDay = secondsInMinute * minutesInHour * hoursInDay; //7 System.out.println( "The number of seconds in a day is: " + secondsInDay); if ( calculateWeek == true) {   System.out.println( "The number of seconds in a week is: " + secondsInDay * daysInWeek); }

上面代码前六行中的表达式都使用赋值运算符将右侧的值赋值给左侧的变量。

用//7表示的行是一个可以作为语句独立存在的表达式。它还表明,表达式可以通过使用多个运算符来构建。变量secondsInDay的最终值是依次计算每个表达式的结果(即SecondsInMinutes*minutesInHour=3600,然后是3600*hoursInDay=86400)。

无结果表达式

虽然某些表达式不会产生任何结果,但当表达式更改其任何操作数的值时,它们可能会产生副作用。

例如,某些运算符被认为总是产生副作用,例如赋值运算符、递增运算符和递减运算符。考虑一下:

int product = a * b;

此表达式中唯一更改的变量是乘积;a和b不变。这被称为副作用。

  • 发表于 2021-09-28 05:57
  • 阅读 ( 189 )
  • 分类:编程

你可能感兴趣的文章

打破(break)和在java中继续(continue in java)的区别

...环、do while循环和for循环。在while循环中,首先计算测试表达式。如果为true,则执行while循环中的语句。最后,再次对测试表达式求值。如果为真,则语句将再次执行。当测试表达式变为false时,循环终止。do while循环类似于while...

  • 发布于 2020-10-19 05:44
  • 阅读 ( 206 )

java8lambdas简介

... Java中的lambda表达式是在表达式中表示类的方法的简洁方法。它有一个参数列表和一个主体。主体可以是单个表达式或块。它通常用于需要接口实现的地方。当需要一个接口作为调用方...

  • 发布于 2021-03-12 08:09
  • 阅读 ( 236 )

如何正确处理java异常

...们。另外,选中的异常不能很好地处理Java8中引入的lambda表达式。 ...

  • 发布于 2021-03-14 17:31
  • 阅读 ( 232 )

是的,你可以随时编写代码:7个最适合android的html编辑器

...占据一席之地。它们包括一个搜索和替换函数(包括正则表达式)、错误检查,也许最吸引人的是,自动的一键代码美化。 ...

  • 发布于 2021-03-14 22:55
  • 阅读 ( 218 )

初学者最容易学习的6种编程语言

...份职业,JavaScript并不是一个起点。但作为对编程世界的介绍,这是一个可靠的选择。JS只需要一个记事本应用程序和一些研究。跨平台兼容也让人立即感到欣慰。阅读我们对JavaScript的介绍,了解它的工作原理。 ...

  • 发布于 2021-03-16 10:37
  • 阅读 ( 274 )

你应该知道的5种函数式编程语言

... 可以通过几种方式使用lambda表达式。一种使用它的方法是作为简单函数的速记。当赋值给变量时,可以像调用标准Python函数一样调用lambda表达式。lambda表达式的真正优势在于将它们用作匿名函数。 ...

  • 发布于 2021-03-20 18:46
  • 阅读 ( 615 )

如何在mac os x上卸载java

...话框,突出显示OK按钮,表示一切都会好起来。 我们还介绍了如何从Windows计算机上卸载Java。

  • 发布于 2021-04-10 05:39
  • 阅读 ( 181 )

如何从一个闪存驱动器玩积木乐趣随处minecraft

...存驱动器上安装便携式Minecraft。请继续阅读,我们将详细介绍如何配置Minecraft的便携式副本,以获得build anywhere的乐趣。 我为什么要这么做? 一个标准的Minecraft安装会将你的Minecraft游戏数据存放在一个系统目录中,直到Minecraft...

  • 发布于 2021-04-10 20:57
  • 阅读 ( 258 )

如何使用基本正则表达式更好地搜索和节省时间

...的方法来完成你的工作。谢天谢地,有,它被称为“正则表达式” (漫画来自XKCD.com网站) 什么是正则表达式(regular expressi***)? 正则表达式是以非常特定的方式格式化的语句,可以代表许多不同的结果。也称为“regex”或“regex...

  • 发布于 2021-04-12 20:50
  • 阅读 ( 144 )

递归(recursion)和环(loop)的区别

...此外,迭代也涉及循环。 while循环 while循环包含一个测试表达式。如果该表达式为true,则执行while循环中的语句。在语句的末尾,它再次检查测试表达式。然后,此过程重复,直到测试表达式变为false。当测试表达式为false时,wh...

  • 发布于 2021-07-01 05:19
  • 阅读 ( 285 )
弑间赤影
弑间赤影

0 篇文章

相关推荐