「java逻辑运算源码」java编程源码
今天给各位分享java逻辑运算源码的知识,其中也会对java编程源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
JAVA中的逻辑运算符!
三、逻辑运算符:
(与)
|(或)
!(反)
:当两边同时为真时,结果为真,否则为假
|
:当两边有一边为真时,结果为真,否则为假
!
:真值变假值,假值变真值
学JAVA也有不短的时间了,现在开发也有1年多了,不过你说的那些基础知识我也记不得。我一开始也一样害怕,学了就忘记了
不过告诉你,JAVA不是背出来的,是逻辑。
记忆方面,你只需要知道到哪里去查阅。
这就是为什么有那么多API
reference等的原因啊,因为大家都记不得。
java 正则表达式怎样用 逻辑运算符啊 ! && ||
今天使用正则表达式是遇到一个问题, 磨了半天, 发现犯了个低级错误, 因此记录下来加深印象
问题描述:
我需要把 ^drawable(-[a-zA-Z0-9]+)*$ 和 ^mipmap(-[a-zA-Z0-9]+)*$ 这两个正则表达式用或的关系连接起来
我尝试了一下方法都未成功!!
Pattern.compile("^drawable(-[a-zA-Z0-9]+)*$ | ^mipmap(-[a-zA-Z0-9]+)*$")
Pattern.compile("(^drawable(-[a-zA-Z0-9]+)*$) | (^mipmap(-[a-zA-Z0-9]+)*$)")
Pattern.compile("^drawable(-[a-zA-Z0-9]+)* | mipmap(-[a-zA-Z0-9]+)*$")
Pattern.compile("^(drawable | mipmap)(-[a-zA-Z0-9]+)*$")
源码如下:
import java.util.regex.Pattern;
public class MyClass {
public static Pattern VALID_FOLDER_PATTERN = Pattern.compile("^drawable(-[a-zA-Z0-9]+)*$ | ^mipmap(-[a-zA-Z0-9]+)*$");
//public static Pattern VALID_FOLDER_PATTERN = Pattern.compile("(^drawable(-[a-zA-Z0-9]+)*$) | (^mipmap(-[a-zA-Z0-9]+)*$)");
//public static Pattern VALID_FOLDER_PATTERN = Pattern.compile("^drawable(-[a-zA-Z0-9]+)* | mipmap(-[a-zA-Z0-9]+)*$");
//public static Pattern VALID_FOLDER_PATTERN = Pattern.compile("^(drawable | mipmap)(-[a-zA-Z0-9]+)*$");
public static void main(String[] args) {
if(VALID_FOLDER_PATTERN.matcher("drawable-xhdpi").matches()) {
System.out.println("match");
} else {
System.out.println("no match");
}
if(VALID_FOLDER_PATTERN.matcher("mipmap-xhdpi").matches()) {
System.out.println("match");
} else {
System.out.println("no match");
}
}
}
纠结了半天发现自己画蛇添足地把逻辑符号或(|) 的左右添加了一个空格(可能是写代码习惯了-_-!!)
去掉作用两边的空格, 其实上面四个正则表达式都是正确的
总结: 在用逻辑符或连接正则表达式时, 千万不要为了好看而在左右添加空格!! (其他符号也是一样! 如^、$、*、.........不一而足...)
JAVA逻辑运算问题
for (int n1 = 1; n1 20; n1++) {
for (int n2 = 1; n2 20; n2++) {
for (int n3 = 1; n3 20; n3++) {
for (int n4 = 1; n4 20; n4++) {
if((n1 + n2 + n3)!=22)
continue;
if((n2 + n3 + n4)!=24)
continue;
if((n3 + n4 + n1)!=27)
continue;
if((n4 + n1 + n2)!=20)
continue;
System.out.println(n1 + " " + n2 + " " + n3 + " " + n4);
}
}
}
}
怎么来理解 java 逻辑运算 !
你想问什么呢? 比如你的中年人是40岁到60岁之间的,你完全可以写成if(age40age60) 干嘛要非呢;青年人的if三个条件分别为大于20,不大于60,小于等于40或者大于等于60,三个条件合起来就是20岁到40岁之间,那就直接写if(age20age=40)就好了,写得这么复杂干什么
java 逻辑运算
在Java中,逻辑运算有And、Or、Not三种,其中And、Or又分为普通逻辑运算和短路逻辑运算两种。其中普通逻辑运算And用“”表示,“|”表示或者关系。短路逻辑运算的时候,“”表示短路与,“||”表示短路或。
1、一般逻辑运算需要在逻辑运算符两侧的逻辑表达式,都参与逻辑运算,其表达式的值进行比较,依次计算出最后的值。
2、短路逻辑运算符需要首先计算最左边的表达式,如果最左边的表达式成立,则不再进行整个表达式的判断,直接取最左边的表达式为整个表达式的值。
下面的例子虽然输出的值一样,但是运算的方式不一样:
private void testAnd(boolean on ,boolean
tw){
System.out.println("truefalse = "+
(truefalse));
System.out.println("falsefalse = "+
(falsefalse));
System.out.println("falsetrue = "+
(falsetrue));
System.out.println("truetrue = "+
(truetrue));
System.out.println(" ");
System.out.println("truefalse = "+ (truefalse));
System.out.println("falsefalse = "+
(falsefalse));
System.out.println("falsetrue = "+ (falsetrue));
System.out.println("truetrue = "+ (truetrue));
System.out.println(" ");
System.out.println("true||false = "+ (true||false));
System.out.println("false||false = "+
(false||false));
System.out.println("false||true = "+ (false||true));
System.out.println("true||true = "+
(true||true));
System.out.println(" ");
System.out.println("true|false = "+ (true|false));
System.out.println("false|false = "+
(false|false));
System.out.println("false|true = "+ (false|true));
System.out.println("true|true = "+
(true|true));
}
输出结果为:
短路或“”只有在左边的表达式值为true时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;
truefalse = false
falsefalse = false
falsetrue = false
truetrue =
true
//全部计算表达式两面的值,然后取值运算;
truefalse = false
falsefalse = false
falsetrue = false
truetrue =
true
短路或“||”只有在左边的表达式值为false时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;
true||false =
true
false||false = false
false||true = true
true||true = true
普通或"|"全部计算表达式两面的值,然后得出结果
true|false = true
false|false = false
false|true = true
true|true = true
适用短路运算的条件
1)、表达式前后的逻辑条件有明显的顺序关联关系,顺序条件早的在表达式的左边;
2)、逻辑运算符比较少,不会有嵌套或者短路与非短路逻辑混合的情况;
3)、使用短路运算,必须清楚的明白所要判断的逻辑值的具体细节;
4)、如果""和"||"混用,则不考虑使用短路运算;
java逻辑运算源码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java编程源码、java逻辑运算源码的信息别忘了在本站进行查找喔。