class Main {
void statement(Object o) {
switch (o) {
case Integer n when n > 1:
break;
case Integer n when n < 1:
break;
default:
break;
}
}
int expression(Object o) {
return switch (o) {
case Integer n when n > 1 -> n;
case Integer n when n < 1 -> n;
default -> 0;
};
}
int nestedExpression(Object o, Object o2, int p) {
int m = 0;
return switch (o) {
case Integer n when n > 1 -> switch(o2) {
case Integer m when m > 0 -> m + n;
case Integer p -> p + n;
default -> 0;
};
case Integer n when n < 1 -> n;
default -> 0;
};
}
void nestedStatement(Object o, Object o2, int p) {
int m = 0;
switch (o) {
case Integer n when n < 1:
n ++;
case Integer n when n > 1:
switch(o2) {
case Integer m when m > 0:
m += n;
case Integer p when p > 0:
p += n + m;
break;
case Integer p1:
p += n + m + p1;
};
break;
};
}
}