第一百五十节 Java数据类型教程 - Java字符串Swtich、字符串算法

Java数据类型教程 - Java字符串Swtich

switch-expression使用String类型。如果switch-expression为null,则抛出NullPointerException。

case标签必须是字符串文字。我们不能在case标签中使用String变量。

以下是在switch语句中使用String的示例。

public class Main {
  public static void main(String[] args) {
    String status = "off";
    switch (status) {
    case "on":
      System.out.println("Turn on"); 
    case "off":
      System.out.println("Turn off");
      break;
    default:
      System.out.println("Unknown command");
      break;
    }
  }
}

上面的代码生成以下结果。

Switch比较

String类的equals()方法执行区分大小写的字符串比较。

public class Main {
  public static void main(String[] args) {
    operate("on");
    operate("off");
    operate("ON");
    operate("Nothing");
    operate("OFF");
    operate("No");
    operate("On");
    operate("OK");
    operate(null);
    operate("Yes");
  }

  public static void operate(String status) {
    // Check for null
    if (status == null) {
      System.out.println("status  cannot be  null.");
      return;
    }
    status = status.toLowerCase();
    switch (status) {
    case "on":
      System.out.println("Turn on");
      break;
    case "off":
      System.out.println("Turn off");
      break;
    default:
      System.out.println("Unknown command");
      break;
    }
  }
}

上面的代码生成以下结果。


 

Java数据类型教程 - Java字符串算法

测试字符串的Palindrome

回文是一个单词,一个诗句,一个句子或一个在前后方向上相同的数字。

以下代码显示了如何检查字符串是否是回文。

public class Main {
  public static void main(String[] args) {
    String str2 = "noon";
    System.out.println(isPalindrome(str2));
  }
  public static boolean isPalindrome(String inputString) {
    int len = inputString.length();
    if (len <= 1) {
      return true;
    }
    String newStr = inputString.toUpperCase();
    boolean result = true;
    int counter = len / 2;
    for (int i = 0; i < counter; i++) {
      if (newStr.charAt(i) != newStr.charAt(len - 1 - i)) {
        result = false;
        break;
      }
    }
    return result;
  }
}

上面的代码生成以下结果。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值