欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 表达式和语句的区别

表达式和语句的区别

2025/3/17 15:07:55 来源:https://blog.csdn.net/qq_26296197/article/details/146302791  浏览:    关键词:表达式和语句的区别

一 概述

在 Java 和 Kotlin 中,
​表达式(Expression)​ 是代码中能够计算并返回一个值的语法单元。
表达式和语句(Statement)的核心区别在于:​表达式有返回值,而语句仅执行操作

二 kotlin 表达式

Kotlin 中几乎所有控制结构都是表达式,即它们会返回一个值。
函数体可以是一个表达式(单表达式函数),进一步简化代码。

三 引用

在 Java 和 Kotlin 中,表达式(Expression) 是代码中能够计算并返回一个值的语法单元。表达式和语句(Statement)的核心区别在于:表达式有返回值,而语句仅执行操作。以下是两种语言中表达式的定义、示例及对比:


一、Java 中的表达式

1. 定义

• 表达式是通过计算得到一个值的代码片段,可以是变量、常量、运算符组合、方法调用等。
• Java 中大部分表达式是有副作用的(如赋值、方法调用),但核心在于它们会返回一个值。

2. 常见表达式示例
类型示例返回值
算术表达式a + bint/double
逻辑表达式a > b && c != 0boolean
方法调用Math.max(a, b)方法返回值
赋值表达式a = 5被赋的值(如 5
三元运算符a > 0 ? "正" : "非正"String
3. 非表达式的语句

控制语句ifforwhile(不返回值)。
声明语句int a = 10;(声明并赋值,整体是语句)。

4. Java 表达式的局限性

大多数控制结构是语句,无法直接作为值使用。

// 错误!Java 的 if 是语句,不能赋值给变量
String result = if (a > 0) "正" else "非正";

二、Kotlin 中的表达式

1. 定义

• Kotlin 中几乎所有控制结构都是表达式,即它们会返回一个值。
• 函数体可以是一个表达式(单表达式函数),进一步简化代码。

2. 常见表达式示例
类型示例返回值
控制结构if (a > 0) "正" else "非正"String
when 表达式when (x) { 1 -> "一" ... }匹配分支的值
Lambda 表达式{ x: Int -> x * 2 }函数类型值
函数返回值fun sum(a: Int, b: Int) = a + bInt
3. 非表达式的语句

循环语句forwhile(不返回值,但可通过副作用操作)。
返回语句return(在函数中返回,但本身不返回值)。

4. Kotlin 表达式的优势

代码简洁:用表达式替代冗余的语句结构。

val result = if (a > 0) "正" else "非正"

函数式编程支持:Lambda 和集合操作链式调用。

val evenSquares = listOf(1, 2, 3).filter { it % 2 == 0 }.map { it * it }

三、表达式 vs 语句的核心区别

特性表达式(Expression)语句(Statement)
返回值有返回值(如 5true无返回值(仅执行操作)
可组合性可作为其他表达式或函数的参数只能独立执行,不能嵌套
典型结构a + bif-else(Kotlin)forwhilereturn

四、语言设计对比

特性JavaKotlin
控制结构大部分是语句(如 if全部是表达式(如 if 返回值)
函数返回值必须显式 return单表达式函数可省略 return
代码风格面向语句面向表达式(更函数式)

五、总结

Java
表达式主要用于计算值,但控制结构是语句,需通过返回值或副作用操作结果。
Kotlin
表达式是语言核心,控制结构(如 ifwhen)和函数设计更灵活,可直接返回值,支持链式调用和简洁语法。

核心思想
表达式是值语句是动作
• Kotlin 的表达式特性使其代码更简洁、更函数式,而 Java 需要更多样板代码。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词