关于方法体中return的返回机制

程序1:

img

程序2:

img

问题:请问为什么程序1和程序2,只是方法体中If语句用的代码不一样。A03方法执行的结果一直都是-1呢

这个问题在于字符串的对比,基本数据用==和equals没啥区别,但是字符串使用就有区别了,==比较两个变量本身的值,即两个对象在内存中的首地址,而equals()比较字符串中所包含的内容是否相同。所以你的方法A03中判断全是false,当然输出-1

你这问题 不叫 方法体中return的返回机制;是 equals 与 == 的区别