在条件判断语句(if语句)过多时,可以使用开关语句来编写。开关语句的基本结构是:
switch (整数){
case 整数值 1 : 语句; break ;
case 整数值 2 : 语句; break ;
case 整数值 3 : 语句; break ;
……………………..
default : 语句;
}
|
当“整数”的值等于“整数值1”、“整数值2”、“整数值3”......中的一个时,执行相应的语句,执行完成跳出开关语句;若没有相当的数值,则执行default后边的语句,执行完成跳出开关语句。
注:break语句用于跳出开关语句。
示例:输出当前月份。
public class control17{
public static void main(String[] args){
int i= 8 ;
switch (i){
case 1 : System.out.println( "是一月份" ); break ;
case 2 : System.out.println( "是二月份" ); break ;
case 3 : System.out.println( "是三月份" ); break ;
case 4 : System.out.println( "是四月份" ); break ;
case 5 : System.out.println( "是五月份" ); break ;
case 6 : System.out.println( "是六月份" ); break ;
case 7 : System.out.println( "是七月份" ); break ;
case 8 : System.out.println( "是八月份" ); break ;
case 9 : System.out.println( "是九月份" ); break ;
case 10 : System.out.println( "是十月份" ); break ;
case 11 : System.out.println( "是十一月份" ); break ;
case 12 :System.out.println( "是十二月份" ); break ;
default : System.out.println( "fault" );
}
}
}
|
运行结果:
是八月份
|
以下是同学在学习java代码时,对java switch开关语句和if语句的练习,把源代码分享出来给大家,希望能够给初学者一个参考学习哦。
程序清单:
import
java.util.Scanner;
public
class
练习题
1
{
public
static
void
main(String[] args) {
System.out.println(
"请输入一个年份,求该年份是否为闰年,闰年能被4整除但不能被100整除,或者能被400整除"
);
int
a =
new
Scanner(System.in).nextInt();
if
(a <=
0
) {
System.out.println(
"你输入的年份有误,程序退出"
);
System.exit(
0
);
}
else
if
(a %
4
==
0
&& a %
100
!=
0
|| a %
400
==
0
) {
System.out.println(
"你输入的年份为闰年"
);
}
else
{
System.out.println(
"你输入的年份不是闰年"
);
}
System.out.println(
"输入一个不超过五位的正整数,求出它是几位数并按逆序输出来"
);
int
b =
new
Scanner(System.in).nextInt();
if
(b <
0
|| b >
100000
) {
System.out.println(
"你的输入没达到要求,程序退出"
);
System.exit(
0
);
}
else
if
(b >=
0
&& b <
10
) {
System.out.println(
" 你输入的是一个一位数"
+ b);
}
else
if
(b >=
10
&& b <
100
) {
System.out.println(
"你输入的是一个两位数,并且他的逆序是"
+ b %
10
+ b %
100
/
10
);
}
else
if
(b >=
100
&& b <
1000
) {
System.out.println(
"你输入的是一个三位数,并且他的逆序是"
+ b %
10
+ b %
100
/
10
+ b
%
1000
/
100
);
}
else
if
(b >=
1000
&& b <
10000
) {
System.out.println(
"你输入的是一个四位数,并且他的逆序是"
+ b %
10
+ b %
100
/
10
+ b
%
1000
/
100
+ b %
10000
/
1000
);
}
else
if
(b >=
10000
&& b <
100000
) {
System.out.println(
"你输入的是一个五位数,并且他的逆序是"
+ b %
10
+ b %
100
/
10
+ b
%
1000
/
100
+ b %
10000
/
1000
+ b %
100000
/
10000
);
}
System.out.println(
"输入一个数,判断它是否能被3、5、7整除,注意考虑同时整除的情况"
);
double
c =
new
Scanner(System.in).nextDouble();
if
(c %
3
==
0
&& c %
5
==
0
&& c %
7
==
0
) {
System.out.println(
"这个数能被3、5、7、同时整除"
);
}
else
if
(c %
3
==
0
&& c %
5
==
0
) {
System.out.println(
"这个数能被3和5同时整除"
);
}
else
if
(c %
3
==
0
) {
System.out.println(
"这个数只能被3整除"
);
}
else
if
(c %
5
==
0
) {
System.out.println(
"这个数只能被5整除"
);
}
else
if
(c %
7
==
0
) {
System.out.println(
"这个数只能被7整除"
);
}
else
if
(c %
3
==
0
&& c %
7
==
0
) {
System.out.println(
"这个数能同时被3和7整除"
);
}
else
if
(c %
5
==
0
&& c %
7
==
0
) {
System.out.println(
"这个数能同时被5和7整除"
);
}
else
{
System.out.println(
"这个数不能被3、5、7整除"
);
}
System.out.println(
"从键盘输入两个数和一个运算符,输出运算结果用if和switch分别写出"
);
double
d =
new
Scanner(System.in).nextDouble();
double
e =
new
Scanner(System.in).nextDouble();
char
f =
new
Scanner(System.in).nextLine().charAt(
0
);
if
(f !=
'+'
|| f !=
'-'
|| f !=
'*'
|| f !=
'/'
) {
System.out.println(
"没有这个运算式"
);
if
(f ==
'+'
) {
}
System.out.println(
"你的输出结果为"
+ (d + e));
}
if
(f ==
'-'
) {
System.out.println(
"你的输出结果为"
+ (d - e));
}
if
(f ==
'*'
) {
System.out.println(
"你的输出结果为"
+ d * e);
}
if
(f ==
'/'
) {
System.out.println(
"你的输出结果为"
+ d / e);
}
System.out.println(
"用switch写出来则为"
);
System.out.println(
"请输入两个数字和一个运算符1.+ 2.- 3.* 4./"
);
double
h =
new
Scanner(System.in).nextDouble();
double
i =
new
Scanner(System.in).nextDouble();
char
g =
new
Scanner(System.in).nextLine().charAt(
0
);
switch
(g) {
case
'+'
:
System.out.println(
"你输入运算式结果为"
+ h + i);
break
;
case
'-'
:
System.out.println(
"你输入运算式结果为"
+ (h - i));
break
;
case
'*'
:
System.out.println(
"你输入运算式结果为"
+ h * i);
break
;
case
'/'
:
System.out.println(
"你输入运算式结果为"
+ h / i);
break
;
default
:
System.out.println(
"没有这个运算式"
);
}
System.out.println(
"请输入一个月份并输出它的天数"
);
int
t =
new
Scanner(System.in).nextInt();
if
(t <=
0
|| t >
12
) {
System.out.println(
"你的输入有误。程序退出"
);
System.exit(
0
);
}
if
(t ==
1
) {
System.out.println(
"你输入的是一月份,一月有31天"
);
}
if
(t ==
2
) {
System.out.println(
"你输入的是二月份,闰年的话二月是29天,不是闰年则为28天"
);
}
if
(t ==
3
) {
System.out.println(
"你输入的是三月,三月是31天"
);
}
if
(t ==
4
) {
System.out.println(
"你输入的是四月,四月有30天"
);
}
if
(t ==
5
) {
System.out.println(
"你输入的是五月份,五月有31天"
);
}
if
(t ==
6
) {
System.out.println(
"你输入的是六月份,六月有30天"
);
}
if
(t ==
7
) {
System.out.println(
"你输入的是七月份,七月有31天"
);
}
if
(t ==
8
) {
System.out.println(
"你输入的是八月份,八月有31天"
);
}
if
(t ==
9
) {
System.out.println(
"你输入的是九月份,九月有30天"
);
}
if
(t ==
10
) {
System.out.println(
"你输入的是十月份,十月有31天"
);
}
if
(t ==
11
) {
System.out.println(
"你输入的是十一月份,十一月有31天"
);
}
if
(t ==
12
) {
System.out.println(
"你输入的是十二月份,十二月有30天"
);
}
System.out.println(
"用switch写出来"
);
int
o =
new
Scanner(System.in).nextInt();
switch
(o) {