Java代码可运行但提示dead code黄色下划线,求问题原因
Java代码出现"dead code"黄色下划线的原因及解决
什么是Dead Code(死代码)
简单说就是要么永远不会被执行,要么编译阶段就能直接算出结果、无需等到运行时再计算的代码片段,IDE用黄色下划线标记它,是在提示你这段代码在程序运行阶段没有实际执行意义。
你的代码触发提示的原因
你代码里的逻辑运算都是直接用true/false这类字面量计算,比如true&&false、false||false,这些表达式的结果是固定不变的,编译器在编译时就能直接算出最终值(比如true&&false必然是false),到程序运行时根本不会执行这些运算步骤,直接用提前编译好的常量结果就行。所以IDE会把这些运算部分标记为dead code。
消除提示的方法
如果只是用来学习逻辑运算符的规则,这个提示不影响代码运行,完全可以忽略;要是看着不舒服,改成用变量来做运算,让逻辑判断在运行时动态执行即可:
public class OperEx03 { //逻辑运算符 public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println("true && false : " + (a && b)); //只有都为true时才返回true System.out.println("false && false : " + (!a && !a)); System.out.println("true && true : " + (a && a)); System.out.println("================================="); System.out.println("true || false : " + (a || b)); //只要有一个为true就返回true System.out.println("true || true : " + (a || a)); System.out.println("false || false : " + (!a || !a)); } }
改成变量运算后,IDE就不会再提示dead code了,因为运行时才会根据变量值完成计算,运算步骤具备实际执行意义。
内容的提问来源于stack exchange,提问作者choi.debugs
相关产品推荐
相关产品推荐

