Skip to content

Commit 4b6468e

Browse files
committed
add switch example
1 parent 04b6021 commit 4b6468e

2 files changed

Lines changed: 116 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package s4j.java.chapter13;
2+
3+
public class Switch {
4+
public static void main(String... args) {
5+
String month = "August";
6+
String quarter;
7+
switch (month) {
8+
case "January":
9+
case "February":
10+
case "March":
11+
quarter = "1st quarter";
12+
break;
13+
case "April":
14+
case "May":
15+
case "June":
16+
quarter = "2nd quarter";
17+
break;
18+
case "July":
19+
case "August":
20+
case "September":
21+
quarter = "3rd quarter";
22+
break;
23+
case "October":
24+
case "November":
25+
case "December":
26+
quarter = "4th quarter";
27+
break;
28+
default:
29+
quarter = "unknown quarter";
30+
break;
31+
}
32+
System.out.println(quarter);
33+
}
34+
35+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package s4j.scala.chapter13
2+
3+
object BrokenSwitch extends App {
4+
5+
val month = "August"
6+
var quarter = "???"
7+
month match {
8+
case "January" =>
9+
case "February" =>
10+
case "March" => quarter = "1st quarter"
11+
case "April" =>
12+
case "May" =>
13+
case "June" => quarter = "2nd quarter"
14+
case "July" =>
15+
case "August" =>
16+
case "September" => quarter = "3rd quarter"
17+
case "October" =>
18+
case "November" =>
19+
case "December" => quarter = "4th quarter"
20+
case _ => quarter = "unknown quarter"
21+
}
22+
System.out.println(month + " is " + quarter)
23+
}
24+
25+
object Switch extends App {
26+
val month = "August"
27+
var quarter = "???"
28+
29+
month match {
30+
case "January" => quarter = "1st quarter"
31+
case "February" => quarter = "1st quarter"
32+
case "March" => quarter = "1st quarter"
33+
case "April" => quarter = "2nd quarter"
34+
case "May" => quarter = "2nd quarter"
35+
case "June" => quarter = "2nd quarter"
36+
case "July" => quarter = "3nd quarter"
37+
case "August" => quarter = "3rd quarter"
38+
case "September" => quarter = "3rd quarter"
39+
case "October" => quarter = "4th quarter"
40+
case "November" => quarter = "4th quarter"
41+
case "December" => quarter = "4th quarter"
42+
case _ => quarter = "unknown quarter"
43+
}
44+
println(month + " is " + quarter)
45+
}
46+
47+
object SwitchWithLessDuplication extends App {
48+
val month = "August"
49+
var quarter = "???"
50+
month match {
51+
case "January" | "February" | "March" => quarter = "1st quarter"
52+
case "April" | "May" | "June" => quarter = "2nd quarter"
53+
case "July" | "August" | "September" => quarter = "3rd quarter"
54+
case "October" | "November" | "December" => quarter = "4th quarter"
55+
case _ => quarter = "unknown quarter"
56+
}
57+
println(month + " is " + quarter)
58+
}
59+
60+
object SwitchExpression extends App {
61+
val month = "August"
62+
val quarter = month match {
63+
case "January" | "February" | "March" => "1st quarter"
64+
case "April" | "May" | "June" => "2nd quarter"
65+
case "July" | "August" | "September" => "3rd quarter"
66+
case "October" | "November" | "December" => "4th quarter"
67+
case _ => "unknown quarter"
68+
}
69+
println(month + " is " + quarter)
70+
}
71+
72+
object SwitchExpressionInLine extends App {
73+
val month = "August"
74+
println(month + " is " + (month match {
75+
case "January" | "February" | "March" => "1st quarter"
76+
case "April" | "May" | "June" => "2nd quarter"
77+
case "July" | "August" | "September" => "3rd quarter"
78+
case "October" | "November" | "December" => "4th quarter"
79+
case _ => "unknown quarter"
80+
}))
81+
}

0 commit comments

Comments
 (0)