Java语言基础15-有返回值的方法
来源:互联网 发布:java只能做网站吗 编辑:程序博客网 时间:2024/06/07 20:10
有了前面教程中新定义的 gentle 和 obedienceTrained 变量,我们就可以提供一些更方便的方法了,例如
boolean isGoodWithChildren() { if (gentle == true && obedienceTrained == true) return true; else return false; }
此方法引进了新的 Java(TM) 语法。首先,方法isGoodWithChildren()没有用修饰词 void, 而提供了一个返回类型 boolean。如果返回类型不用 void而用系统的原始类或者用户定义数据类型,那么在方法体中的每一个可能的执行分支都必须提供一个 返回(return) 语句-- Java 编译器强制要遵守这种"约定"。
返回语句的语法是
return <value>;
此处,<value> 可以是任意表达式,只要表达式的值的类型和返回类型相匹配。
对于方法 isGoodWithChildren() 来说,如果 if 语句的布尔表达式值为 true,就执行第一条 return 语句,结束方法的执行,返回相应的计算结果,此处结果只是简单值 true。如果布尔表达式值为 false,就执行 else 子句后的代码块,此处是一条简单的返回 false 的 return 语句。.
在这个例子中,布尔表达式是一个复合表达式--包含两个表达式,每个表达式都有一个比较运算符 ==,两个比较表达式用逻辑与运算符 && 连接;因此,当且仅当两个子表达式的值为 true 时,整个表达式的值才为 true。
布尔表达式通常包括一个或多个 下表所示的 Java 逻辑运算符:
逻辑运算符 解释 && 逻辑与("短路(short-circuit)"版) & 位与("完全判断(full-evaluation)" 版) || 逻辑或("短路(short-circuit)"版) | 位或("完全判断(full-evaluation)" 版)
在 "短路(short-circuit)" 中,只要一个子表达式的值为 false (用 && 时)或 true (用 || 时),那么接下来的子表达式将不再计算。
虽然 isGoodWithChildren() 用了一个完整的 if 语句,它包含了可选的 else 子句, 但这个方法可以写得更加简练些。Java 和 C 一样,是一个语法功能强大的语言。首先,我们可以删除 if,因为返回值由布尔表达式的值确定,也就是说如果布尔表达式的值为 true,返回 true,否则,返回 false。该方法更简练的写法如下:
boolean isGoodWithChildren() { return (gentle == true && obedienceTrained == true); }
还可以写得更精简一些。注意每一个子表达式都是一个布尔变量和布尔值 true 比较,在此例中,每个子表达式都可以简写为布尔变量本身:
boolean isGoodWithChildren() { return (gentle && obedienceTrained); }
- Java语言基础15-有返回值的方法
- Java语言基础15-有返回值的方法
- Java语言基础15-有返回值的方法
- Java语言基础15-有返回值的方法
- Java语言基础15-有返回值的方法
- JAVA语言中方法的返回值
- Java方法中有循环的时候返回值问题
- java 有返回值方法调用
- android基础--有返回值的Activity
- Java编程基础-----重载方法的返回值
- java Callable有返回值的线程
- Java线程-有返回值的线程
- Java多线程 -- 有返回值的线程
- Java线程:有返回值的线程
- java--线程--有返回值的线程
- Java加载jar文件并调用jar文件当中有参数和返回值的方法
- JAVA基础之---为什么不通过方法的返回值来区分重载方法
- java语言基础-方法的递归操作
- (留念)第一个视频教程 U盘超级加密软件的原理详解与解密
- Java语言基础15-有返回值的方法
- OpenGL字体类(Windows)
- Java语言基础15-有返回值的方法
- inux必学的60个命令
- Java语言基础15-有返回值的方法
- Java语言基础15-有返回值的方法
- Java语言基础15-有返回值的方法
- Preference Page和PropertyPage的一些相关知识.
- weblogic使用jstl
- linux 常用命令及技巧
- hibernate多对多出现的session关闭异常
- 浅谈vb.net开发中使用excel插件代码
- Java语言基础16-存取方法再论(Access methods revisited)