java多分支结构代码的简单介绍-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

java多分支结构代码的简单介绍

编写java程序源多分支选择结构实现如下功能,从键盘输1输出春季输入2输出夏季

运用map把1,2,3分别映射成春,夏,秋即可

大峪网站建设公司成都创新互联,大峪网站设计制作,有大型网站制作公司丰富经验。已为大峪千余家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的大峪做网站的公司定做!

MapInteger,String map = new HashMap();

map.put(1,"春季");

map.put(2,"夏季");

map.put(3,"秋季");

Scanner scanner = new Scanner(System.in);

while (scanner.hasNext())

{

System.out.println(map.get(scanner.nextInt()));

}

效果如下

java,if else和if else if else区别?

1、if-else是双分支结构

if-else语句表示"如果条件正确则执行一个操作,否则执行另一个操作"。当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。

代码示例:

inta=5;

intb=6;

if(ab){

returna;

}else{

returnb;

}

2、if-elseif-else是多分支选择结构

if-elseif-else用法为:

if(布尔表达式1)

{

语句块1;

}

elseif(布尔表达式2)

{

语句块2;

}

???

elseif(布尔表达式n)

{

语句块n;

}

else

{

语句块n+1;

}

使用if-elseif-else语句时,依次判断表达式的值,当某个分支的条件表达式的值为true时,则执行该分支对应的语句块,然后跳到整个if语句之外继续执行程序。如果所有的表达式均为false,则执行语句块n+1,然后继续执行后续程序。

逐条if语句进行判断条件匹配,进入语句体,否则对if语句继续匹配。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点;Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

参考资料来源:百度百科-JAVA

1.用JAVA 多分支结构 输一个成绩‘优良中差’ if else 语句 不能用case 急

switch与if..else的执行的效率问题今天读一前辈的程序,发现其在串口中断里面为了分析协议的报文类型,在中断函数里面使用if..else语句。因为报文类型在现在看来只有两种,以后有可能还会增加,不确定。本人以为这样用有些不妥,为什么不用switch语句呢?猜想是不是因为效率方面的考虑呢,毕竟我们应该尽量是中断的处理代码更加简洁,时间效率更高才好。所以本人就查找相关资料,资料显示switch语句反而比ifelse的执行效率要高。下面来详细描述switch与ifelse的区别。switchcase与ifelse的根本区别在于,switchcase会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的。从而,switchcase不用像ifelse那样遍历条件分支直到命中条件,而只需访问对应索引号的表项从而到达定位分支的目的。具体地说,switchcase会生成一份大小(表项数)为最大case常量+1的跳表,程序首先判断switch变量是否大于最大case常量,若大于,则跳到default分支处理;否则取得索引号为switch变量大小的跳表项的地址(即跳表的起始地址+表项大小*索引号),程序接着跳到此地址执行,到此完成了分支的跳转。//intmain(){unsignedinti,j;i=3;switch(i){case0:j=0;break;case1:j=1;break;case2:j=2;break;case3:j=3;break;case4:j=4;break;default:j=10;break;}}用gcc编译器,生成汇编代码(不开编译器优化).file"shiyan.c".text.globlmain.typemain,@functionmain:leal4(%esp),%ecxandl$-16,%esppushl-4(%ecx)pushl%ebpmovl%esp,%ebppushl%ecxsubl$20,%espmovl$3,-8(%ebp)cmpl$4,-8(%ebp)ja.L2movl-8(%ebp),%eaxsall$2,%eaxmovl.L8(%eax),%eaxjmp*%eax.section.rodata.align4.align4.L8:.long.L3.long.L4.long.L5.long.L6.long.L7.text.L3:movl$0,-12(%ebp)jmp.L11.L4:movl$1,-12(%ebp)jmp.L11.L5:movl$2,-12(%ebp)jmp.L11.L6:movl$3,-12(%ebp)jmp.L11.L7:movl$4,-12(%ebp)jmp.L11.L2:movl$10,-12(%ebp).L11:addl$20,%esppopl%ecxpopl%ebpleal-4(%ecx),%espret.sizemain,.-main.ident"GCC:(Ubuntu4.3.3-5ubuntu4)4.3.3".section.note.GNU-stack,"",@progbits由此看来,switch有点以空间换时间的意思,而事实上也的确如此。1.当分支较多时,当时用switch的效率是很高的。因为switch是随机访问的,就是确定了选择值之后直接跳转到那个特定的分支,但是if。。else是遍历所以得可能值,知道找到符合条件的分支。如此看来,switch的效率确实比ifelse要高的多。2.由上面的汇编代码可知道,switchcase占用较多的代码空间,因为它要生成跳表,特别是当case常量分布范围很大但实际有效值又比较少的情况,switchcase的空间利用率将变得很低。3.switchcase只能处理case为常量的情况,对非常量的情况是无能为力的。例如if(a1a100),是无法使用switchcase来处理的。所以,switch只能是在常量选择分支时比ifelse效率高,但是ifelse能应用于的场合,ifelse比较灵活。由此看来,上面前辈的中断处理程序中用switch是比较合适的,即节省了时间,而且对于以后程序的扩展也是很方便。因为报文类型这个值基本上都是用整形常量来表示的。


分享文章:java多分支结构代码的简单介绍
网站地址:http://kswsj.cn/article/dopceoe.html

其他资讯