什么是异或?
异或就是,符号相同为真,符号不同为假
| 符号1 | 符号2 | 结果 |
|---|---|---|
| T | T | F |
| T | F | T |
| F | T | T |
| F | F | F |
那么有啥用呢?
假设有代码:
val str="123"
var flag1 = false
var flag2 = false
if(str.contains("1")) { //这里面是1
flag1 = true
}
if(!str.contains("2")){ //这里面是2 与上面的1 不相同
flag2 = true
}
println(flag1) // 程序结果显示为true
println(flag2) // 程序结果显示 false
这两行代码看着差不多,如何将这两行代码统一起来?与(&)或(|)非(!)好像都不能解决我们的问题(反正我没有解决,期望看到这篇文章的大佬能够在下面评论处给出解答,我想学习一下,谢谢)
下面就是我封装的方法,好像并没有想象中的那么666的样子,但是效果也是达到了
def myContains(matchStr:String,searchStr:String,boolean: Boolean): Boolean ={
var flag:Boolean=false
if(!boolean^searchStr.contains(searchStr)) {
flag=true
}
flag
}
def main(args: Array[String]): Unit = {
val str="123"
println(myContains(str, "1", true)) // 打印结果为true
println(myContains(str, "2", false)) //打印结果为false
}
总结一下:
这篇文章主要是用异或^符号实现编程语言当中的!符号。可以实现我的需求,因为一个判断条件的正负两面的传入条件不是一致的,所以单纯的if在这里没有办法使用。再次提一嘴,如果有什么更好的的方法,或者推荐的书籍,请各位艺术家们在下面留言。谢谢。小白需要你们的帮助才能成长。
本文深入探讨了异或运算在编程中的应用,通过具体代码示例展示了如何利用异或符号实现逻辑判断,解决了传统if语句在处理条件正负两面时的局限性。
43

被折叠的 条评论
为什么被折叠?



