全站数据
8 4 2 0 5 8 1

分支指令转移的条件

金不换财务 | 简单学习,快乐成才!         
问题更新日期:2024-10-16 07:23:43

问题描述

分支指令转移的条件,在线求解答
精选答案
最佳答案

多条件分支跳转指令是专为switch-case语句设计的,主要有tableswitch和lookupswitch两种。

tableswitch和lookupswitch的区别在于,tableswitch要求多个条件的分支值是连续的,查找效率更高(不需要搜索全部的case值,可以通过简单的计算直接定位);lookupswitch要求多个条件的分支的值不是连续的,查找效率更低(每次查找都需要搜索全部的case值)。

tableswitch例子:

lookupswitch例子:

JDK7支持string类型的switch语句:

需要注意的是,在将传入的参数与case值进行比较的时候,先比较的是两者的hash值是不是相等的,如果相等后面还会调用字符串的equals方法进行比较,如果不相等,则与lookupswitch中的下一个hash值进行比较。

1