6.5 boolean方法

方法可返回任何类型的值,当然也包括 boolean 值。返回 boolean 值的方法非常适合隐藏测试,如下所示:

  1. public static boolean isSingleDigit(int x) {
  2. if (x > -10 && x < 10) {
  3. return true;
  4. } else {
  5. return false;
  6. }
  7. }

这个方法名为 isSingleDigit。通常会给 boolean 方法指定一个像一般疑问句的名称。因为返回类型为 boolean,所以 return 语句中的表达式必须是 boolean 表达式。

虽然这些代码比实际需要的要长,但是很简单。表达式 x >- 10 && x < 10 的类型就是 boolean,因此完全可以直接返回它(不需要 if 语句):

  1. public static boolean isSingleDigit(int x) {
  2. return x > -10 && x < 10;
  3. }

main 中,你可以像通常那样调用这个方法:

  1. System.out.println(isSingleDigit(2));
  2. boolean bigFlag = !isSingleDigit(17);

第 1 行显示 true,因为 2 是一个个位数;第 2 行将 bigFlag 设置为 true,因为 17 不是个位数。

条件语句常常将 boolean 方法的结果用作条件:

  1. if (isSingleDigit(z)) {
  2. System.out.println("z is small");
  3. } else {
  4. System.out.println("z is big");
  5. }

像这样的语句几乎都可解读为“如果 z 是个位数,就打印……否则打印……”。