java逻辑运算返回值_Java中有返回值的方法与循环执行吗?

有返回值的方法

有了前面新定义的gentle和obedienceTrained 变量,我们就可以提供一些更方便的方法了,例如

boolean isGoodWithChildren() {

if (gentle == true && obedienceTrained == true)

return true;

else

return false;

}

此方法引进了新的 Java(TM) 语法。

首先,方法isGoodWithChildren()没有用修饰词 void, 而提供了一个返回类型 boolean。如果返回类型不用 void而用系统的原始类或者用户定义数据类型,那么在方法体中的每一个可能的执行分支都必须提供一个 返回(return) 语句-- Java 编译器强制要遵守这种"约定"。

返回语句的语法是:

return ;

此处, 可以是任意表达式,只要表达式的值的类型和返回类型相匹配。

对于方法 isGoodWithChildren() 来说,如果 if 语句的布尔表达式值为 true,就执行第一条 return 语句,结束方法的执行,返回相应的计算结果,此处结果只是简单值true。

如果布尔表达式值为false,就执行 else 子句后的代码块,此处是一条简单的返回 false 的 return 语句。

在这个例子中,布尔表达式是一个复合表达式--包含两个表达式,每个表达式都有一个比较运算符==,两个比较表达式用逻辑与运算符 && 连接;因此,当且仅当两个子表达式的值为 true 时,整个表达式的值才为 true。

布尔表达式通常包括一个或多个,下表所示的 Java 逻辑运算符:

在 "短路(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);

}

存取方法再论

Dog 中提供了形式为 setXX 的写方法来改变实例变量的值。

然而很多时侯,也需要获得实例变量的值。一般说来,如果一个类具有支持 set 操作的实例变量,那么他们也一定支持 get 操作。对应每一个 set 方法,我们应该为之编写一个相应的 get 方法,例如

boolean getObedienceTrained() {

return obedienceTrained;

}。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值