The
switch statement evaluates its expression, then executes all
statements that follow the matching case label. Before JDK 7, there
is no strings support in switch statement. From JDK 7 onwards,
strings supported in switch statement.
The
switch statement compares the String object in its expression with
the expressions associated with each case label as if it were using
the String.equals method.
public class StringsInSwitch { public static void getDays(String month){ switch(month){ case "january": case "march": case "may": case "july": case "august": case "october": case "december": System.out.println("Month has 31 days"); break; case "april": case "june": case "september": case "november": System.out.println("Month has 30 days"); case "february": System.out.println("Month has 28 or 29 days"); } } public static void main(String args[]){ String month = "march"; getDays(month); } }
Output
Month has 31 days
Since
string uses equals method for comparison, so if you pass null it will
throw java.lang.NullPointerException.
public class StringsInSwitch { public static void getDays(String month){ switch(month){ case "january": case "march": case "may": case "july": case "august": case "october": case "december": System.out.println("Month has 31 days"); break; case "april": case "june": case "september": case "november": System.out.println("Month has 30 days"); case "february": System.out.println("Month has 28 or 29 days"); } } public static void main(String args[]){ String month = null; getDays(month); } }
Output
Exception in thread "main" java.lang.NullPointerException at StringsInSwitch.getDays(StringsInSwitch.java:3) at StringsInSwitch.main(StringsInSwitch.java:24) Java Result: 1
No comments:
Post a Comment