JAVA基础入门—if switch练习
switch语句练习

switch语句练习第五章switch语句练习题1.若运⾏时输⼊:3 5/<回车>,则以下程序的运⾏结果是________main( ){float x,y;char o;double r;scanf(“%f %f %c”,&x,&y,&o);switch(o){case ’+’:r=x+y;break;case ’-‘:r=x-y;break;case ’*’:r=x*y;break;case ’/’:r=x/y;break;}printf(“%f”,r);}2. 根据以下嵌套的if语句所给条件,填写switch语句,使它完成相同的功能. (假设mark的取值在1~100之间的整数.) if语句:if(mark<60)k=1;else if(mark<70)k=2;else if(mark<80)k=3;else if(mark<90)k=4;else if(mark<100)k=5;switch语句:switch( [1] ){[2] k=1; break;case 6: k=2: break; case 7: k=3; break;case 8: k=4; break;[3] k=5;3.设有程序⽚段:switch(grade){case ’A’:printf(“85-100\n”);case ’B’:printf(“70-84n”);case ’C’:printf(“60-69\n”);case ’D’:printf(“<60\n”);default:printf(“error!\n”);}若grade的值为’C’,则输出结果是_________.4.以下程序段的运⾏结果是_____.int x=1,y=0;switch(x){case 1:switch(y){case 0:printf(“**1**\n”);break;case 1:printf(“**2**\n”);break;}case 2:printf(“**3**\n”);}5.根据以下函数关系,对输⼊的每个x值,计算出相应的y值,请在程序的( ) 内填正确内容main( ){int x,c,m;float y;scanf(“%d”,&x);if(1)c=-1;else c=(2);switch(c){case -1;y=0;break;case 0:y=x;break;case 1:y=10;break;case 2:case 3:y=-0.5*x+20;break; default:y=-2;}if(3)printf(“y=%f”,y);else printf(“error\n”);} 6.以下程序的运⾏结果是( ) main( ){int a=2,b=7,c=5;switch(a>0){case 1:switch(b<0){case 1:printf(“@”);break; case 2:printf(“!”);break;} case 0:switch(c= =5){case 0:printf(“*”);break; case 1:printf(“#”);break;default:printf(“#”);break;}default:printf(“&”);}printf(“\n”);}7.请读程序:#includemain( ){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;}printf(“a=%d,b=%d”,a,b);}上⾯程序的运⾏结果是( )8.假设奖⾦税率如下(a代表奖⾦,r代表税率)a<500 r=0%500<=a<1000 r=5%1000<=a<2000 r=8%2000<=a<3000 r=10%3000<=a r=15%以下程序对输⼊的⼀个奖⾦数,求税率和应交税款以及实得奖⾦数(扣除奖⾦税后).题中r代表税率,t代表税款,b代表实得奖⾦数.在( )内填正确内容main( ){float a,r,t,b;int c;scanf(“%f”,&a);if(a>=3000)c=6;else c=[1];switch(c){case 0:r=0;break;case 1:r=0.05;break;case 2:case 3:[2];break;case 4:case 5:r=0.1;break;case 6:r=0.15;break;}t=a*r;b=a-t;printf(“r=%f,t=%f,b=%f”,r,t,b);}9.某个⾃动加油站有’a’,b’,’c’三种汽油,单价分别为 1.50,1.35,1.18(元/千克),也提供了“⾃⼰加”或“协助加”两个服务等级,这样⽤户可以得到5%或10%的优惠.本程序针对⽤户输⼊加油量a,汽油品种b和服务类型c(‘f’--⾃动,’m’-- ⾃⼰,’e’--协助 ),输出应付款m请在[ ]内填⼊正确内容.main( ){float a,rl,r2,m;char b,c;scanf(“%f%c%c”,&a,&b,&c);switch(b) {case ’a’:r1=1.5;break;case ’b’:[ 1];break;case ’c’:rl=1.18;break;}switch(c){case ’f’:r2=0;break;case ’m’:r2=0.05;break;case [2]:r2=0.1;break;}m=[3];printf(“%f”,m);}10.以下程序计算某年某⽉有⼏天.其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年.请在[ ]内填⼊正确内容.main( ){int yy,mm,len;printf(“year,month=”);scanf(“%d %d”,&yy,&mm);switch(mm){case 1:case 3:case 5:case 7:case 8:case 10:case 12:[1];break;case 4:case 6: case 9:case 11:len=30;break;case 2:if(yy%4= =0&&yy%100!=0||yy%400= =0)[2];else[3];default:printf(“input error”)break;}printf(“the length of %d %dis%d\n”,yy,mm,len);}11.以下程序⽤以计算y年ml⽉dl⽇与同年的m2⽉d2之间的天数(m2>=m1),并打印计算结果.若m1=m2且d1=d2则算1天.在闰年时,2⽉有29天.闰年的年号由以下⽅式确定:该年号能被4整除但不能被100整除,或者该年号能被400整除则是闰年.例:输⼊1997,2,27,3,10<回车>时,输出为12.表明从1997年2⽉27⽇到3⽉10⽇共有12天,在( )填正确内容main( ){int y,ml,dl,m2,d2;int i ,dscanf(“%d,%d,%d,%d,%d,”&y,&ml,&dl,&m2,&d2);y=(y%4= =0( )y%100!=0( )y%400= =0))1:0;d=0-d1;for(i=m1;iswitch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:d+=31;break;case2:d=d+28+y;break;case4:case6:case9:case11:( );}printf(“%d”,d+d2+1);}12.将以下程序段改⽤⾮嵌套的if语句实现int s,t,m; t=(int)(s/10);switch(t){case 10:m=5,break;case 9:m=4;break;case 8:m=3,break;case 7:m=2,break;case 6:m=1,break;default m=0;}13.⽤switch编程实现:y=>=<-)0(1)0(0)0(1xxx14.将以下程序段改⽤嵌套的if语句实现int s,t,m;t=(int)(s/10);switch(t){case 10:m=5,breakcase 9:m=4,breakcase 8:m=3,breakcase 7:m=2,breakcase 6:m=1,breakdefault:m=0}15.将以下语句改写成switch语句if((s>0)&&(s<=10))if((s>=3)&&(s<=6))x=2;else if((s>1)||(s>8))x=3;else x=1else x=016.编程实现以下功能:读⼊两个运算数(datal和data2)及⼀个运算符(op),计算表达式data1 op data2的值,其中op可为+,-,*,/(⽤switch语句实现)17.编⼀程序,对于给定的⼀个百分制成绩,输出相应的五分制成绩,设90分以上为’A’80~89为’B’70~79为’C’60~69为’D’60以下’E’(⽤switch语句实现)。
练习03 Java 流程控制练习题目

第3讲Java 流程控制[] 选择题1.给出代码:1class First2{3public static void main(String[] args)4{5double x=1;6if(x<0.34) then {7x=x-0.1;8}9}10}编译此类的结果是什么?A:编译无错误。
B:编译错误,由于第5行错误。
C:编译错误,由于第6行错误。
D:编译错误,由于第7行错误。
答:2.给出类定义如下:1 public class Second {2 public void loop() {3 byte i=-1;4 long j=2;5 if (i= =1) && (j= = 2) {6 j=j-j+j;7 }8 }9 }编译此类结果是什么?A:编译成功,没有错误。
B:编译错误因为第2行有错误。
C:编译错误因为第3行有错误。
D:编译错误因为第5行有错误。
E:编译错误因为第6行有错误。
答:3.下列哪个类型可以在switch的表达式中使用?A:int B:long C:byte D:String答:4.使用在switch语句中当没有匹配的情况下的语句是:A:if B:then C:others D:default E:else答:5.基本for循环需要哪些组成部分?A:初始部分语句。
B:条件表达式。
C:增量部分语句。
D:以上都不需要。
答:6.给出如下代码:11public class The {12public static void main(String[] args) {13for(int i=0;i<10;) {5 if(i=0)6 System.out.print(“i=1”);7 ++i;8 }9 }10 }在以上代码中或许有错误,下列哪个说法是真实的:A:如果i在for中定义,则i在for循环中必须进行增量处理。
B:在Java中,if语句一定要有{}。
C:此类或许有其他错误。
Java基础练习题 附答案

11)以下程序的输出结果为
publicclasstest{
publicstaticvoidmain(Stringagrs[]){
charc1=’B’,c2=’C’;
if(c1+1<c2)++c1;
}
}
A.BB.bC.CD.c
12)假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?
}
}
A.0B.1 C.5D.4E.24
2)设有如下类
classLoop{
publicstaticvoidmain(String[]agrs){
intx=0;inty=0;
outer:
for(x=0;x<100;x++){
middle:
for(y=0;y<100;y++){
y="+y);
if(y==10){<<<insertcode>>>}
B.第9行出现运行错误;
C.输出True
D.输出False
8)以下程序的编译和运行结果为?
classtest{
staticbooleancheck;
publicstaticvoidmain(Stringargs[]){
inti;
if(check==true)
i=1;
else
i=2;
if(i=2)i=i+2;
E.publicstaticbooleanmain(Stringa[]);
2)编译和运行以下代码的结果为:
publicclassMyMain{
switch语句可以用if语句完全代替

switch语句可以用if语句完全代替switch函数和if语句的相关练习题及答案switch函数和if语句的相关练习题1. 以下程序的执行结果是(-1)main(){ int x=100,a=10,b=20,v1=5,v2=0;if(a<b)if(b!=15)if(!v1)/*得0所以x=1不执行*/x=1;elseif(v2)/* 得0所以x=10不执行,所以x在if语句中没有赋值*/x=10;x=-1;print f(“%d”,x); }2. 以下程序的输出结果是8,8,10main(){ int x=10,y=9;int a,b,c;a=(--x==y++)?--x:++y;/*a=x=8,y=10*/b=x++;/*b=x=8,x=9*/c=y;/*b=8,c=10*/printf(“%d,%d,%d”,a,b,c); }3. 以下程序输入3时,输出结果是34main(){ int k;scanf(“%d”,&k);switch(k){ case 1:printf(“%d”,k++);case 2:printf(“%d”,k++);case 3:printf(“%d”,k++);/*输出本身的值3,但是k已经变成4*/case 4:printf(“%d”,k++); break; /*输出本身的值4,但是k已经变成5*/default :printf(“FULL!”); }printf(“\n”); }4. 以下程序的执行结果是10main( ){ int a=-1,b=1,k;if((++a<0)&&!(b--<=0))/*if(++a<0)为假, 后面短路,与运算前面为假,则这个表达式就为假,且a=0,b因为短路了没有赋值,所以b还是它本身的值*/printf(“%d%d\n”,a,b);elseprintf(“%d%d\n”,b,a); }5. 以下程序的运行结果是__1,1______。
java基础-程序执行流程之if-else语句

java基础-程序执⾏流程之if-else语句1、if是什么if条件语句是⼀个重要的编程语句,它⽤于告诉程序在某个条件成⽴的情况下执⾏某段程序,⽽在另⼀种情况下执⾏另外的语句。
使⽤if条件语句,可选择是否要执⾏紧跟在条件之后的那个语句。
关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执⾏其后的语句;若为false,则不执⾏if条件之后的语句。
if条件语句可分为简单的if条件语句、if…else语句和if…else if多分⽀语句。
int b = 100;if(b == 100)System.out.println("b的值是100");2、if...elseif...else 语句是条件语句中常⽤的⼀中形式,针对某个条件进⾏有选择的处理,通常是“如果满⾜某个条件,就进⾏某种处理,否则进⾏另⼀种处理”int b = 100;if(b == 100)System.out.println("b的值是100");elseSystem.out.println("b的值不是100");3、if...else if 多分⽀语句if...else if 多分⽀语句是针对某个事件的多种情况进⾏处理,表现形式是“如果满⾜某种条件,进⾏⼀种处理,否则满⾜另⼀种条件,进⾏另⼀种处理,否则。
”public class IfElseNestSimple {public static void main(String[] args) {int a = 10;int b = 7;int c = 99;System.out.println("a=" + a + ". b=" + b + ". c=" + c);if (a == b && b == c) {System.out.println("a,b和c相等。
java if语句练习题

java if语句练习题Java if 语句练习题Java 中的条件语句 if 语句是编程中经常使用的一种控制结构。
它允许我们根据条件的真假来执行不同的代码块。
if 语句是提高程序灵活性和可维护性的重要组成部分。
本文将为你提供一些 Java if 语句练习题,帮助你巩固和加强对该语句的理解和应用。
1. 简单的 if 语句请写一个简单的 Java 程序,在控制台输出"Good morning!",当时间戳 hour 大于等于6小于12时。
```javapublic class Greeting {public static void main(String[] args) {int hour = 8;if (hour >= 6 && hour < 12) {System.out.println("Good morning!");}}}```2. if-else 语句请编写一个 Java 程序,判断一个整数是否为奇数。
如果是奇数,输出"Number is odd.";如果是偶数,输出"Number is even."。
```javapublic class OddEven {public static void main(String[] args) {int number = 7;if (number % 2 == 0) {System.out.println("Number is even.");} else {System.out.println("Number is odd.");}}}```3. if-else if 语句请编写一个 Java 程序,根据分数输出相应的等级。
如果分数大于等于90,输出"A";如果分数大于等于80小于90,输出"B";如果分数大于等于70小于80,输出"C";如果分数大于等于60小于70,输出"D";其他情况输出"E"。
java基础编程练习题

Java基础编程练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 编写一个Java程序,判断一个整数是奇数还是偶数。
5. 编写一个Java程序,交换两个变量的值。
二、控制结构1. 使用ifelse语句判断一个年份是否为闰年。
2. 编写一个Java程序,使用for循环输出1到100的所有偶数。
3. 使用while循环计算1+2+3++100的和。
4. 编写一个Java程序,使用dowhile循环输出1到10的所有整数。
5. 使用switch语句实现一个简单的计算器程序,支持加、减、乘、除四种运算。
三、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。
2. 编写一个Java程序,计算数组中所有元素的和。
3. 实现一个方法,用于查找数组中的最大值。
4. 编写一个Java程序,将一个字符串数组按照字母顺序排序。
5. 使用二维数组输出一个5x5的乘法表。
四、字符串操作1. 编写一个Java程序,连接两个字符串。
2. 实现一个方法,判断一个字符串是否为回文。
3. 编写一个Java程序,将字符串中的所有小写字母转换为大写字母。
4. 使用StringBuilder类实现字符串的逆序输出。
5. 编写一个Java程序,计算一个字符串中某个字符出现的次数。
五、面向对象基础1. 创建一个名为Person的类,包含姓名、年龄和性别属性,并提供相应的构造方法和getter/setter方法。
2. 编写一个Java程序,实现两个Person对象的比较(按年龄比较)。
3. 创建一个Student类,继承自Person类,并添加成绩属性。
4. 编写一个Java程序,实现Student类的多态。
5. 创建一个接口Animal,包含吃、睡觉和叫三个方法,然后创建两个类Dog和Cat实现该接口。
3.选择语句+循环语句作业-

选择语句+循环语句作业一、填空题1.Java中有两种类型的选择结构的控制语句,分别是if语句和switch。
2.在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类以及Enum类型。
在JDK1.7中又加入了long类型。
3.for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环过程中只执行一次的部分是表达式1。
4.在循环结构中,如果想跳出循环体,结束整个循环结构可以使用continue语句。
5.____break_________语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
即只结束本次循环,而不是终止整个循环的执行。
6.使用Math.random( )返回带正号的double值,该值大于等于0.0且小于1.0。
使用该函数生成[30,60]之间的随机整数的语句是doublenum=(double)(n*Math.random)。
二、选择题1. 以下代码的执行结果是( a )。
(选择一项)boolean m = false;if(m = false){System.out.println("false");}else{System.out.println("true");}A. falseB. trueC. 编译错误D. 无结果2. 分析如下Java代码,编译运行的输出结果是( d )。
(选择一项)publicstaticvoid main(String[ ] args) {boolean a=true;boolean b=false;if (!(a&&b)) {System.out.print("!(a&&b)");}elseif (!(a||b)) {System.out.println("!(a||b)");}else {System.out.println("ab");}}A !(a&&b)B. !(a||b)C. abD. !(a||b)ab3. 下列选项中关于变量x的定义,( d )可使以下switch语句编译通过。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
default: days=31; //其它月份为31天
}
System.out.println(month+"月份为【"+days+"】天");
}
}
if(c>max) max=c;
System.out.println("Max="+max);
min=a<b ? a : b;
min=c<min ? c : min;
System.out.println("Min="+min);
}
}
2、给出一个分数,按不同的分数段将其评定为A、B、C、D和E五个档次之一。
//应用
public class App4_2
{
public static void main(String[] args)
{
int testScore=86;
char grade;
if(testScore>=90){
grade='A';
} else if (testScore>=80) {
1、找出三个整数中的最大值和最小值。
//filename:App4_1.java if语句的应用
public class App4_1
{
public static void main(String[] args)
{
int a=1,b=2,c=3,max,min;
if(a>b)
max=a;
else
max=b;
System.out.print("请输入月份:");
month=reader.nextInt();
switch (month)
{
case 2: days=28; //2月份是28天
break;
case 4:
case 6:
case 9:
case 11:days=30; //4、6、9、11月份的天数为30
grade='B';
} else if (testScore>=70) {
grade='C';
} else if (testScore>=60) {
grade='D';
} else {
grade='E';
}
System.out.println("评定成绩为:"+ grade);
}
}
4、从键盘上输入一个月份,然后判断该月份的天数。
//filename:App4_4.java switch语句的应用
import java.util.*;
public class App4_4
{
public static void main (String[] args)
{
int month,days;
Scanner reader =new Scanner(System.in);