继续着java的学习内容,已经一个星期,学习的过程中发现对C语言的认识又有了一个提高,应该是学习java se的一个惊喜吧。好了废话不多说了,继续记录笔记了!
1.关系运算符:主要有以下几种:
- 大于 >
- 小于 <
- 等于 == 连续两个等号表示数学意义上的相等
- 不等于 !=
- 大于等于 >=
- 小于等于 <=
- 关系运算的结果是个布尔值。
2.逻辑运算符:重点学习两个!逻辑运算符本身也返回一个布尔值。
1).逻辑与:使用&&
逻辑与是个双目运算符(即有两个操作数的运算符)
只有当两个操作数都为真的时候,结果才为真;其余情况结果全部为假;
程序例子:
public class muxiaofei
{
public static void main(String[] args)
{
int a=1;
int b=2;
int c=3;
int d=4;
boolean e=(a>b)&&(c<d);
System.out.println(e);
}
}
结果为false;
2).逻辑或,使用||表示,也是双目运算符。
只有当两个操作数结果都为假的时候,结果才为假,其他情况结果均为真。
public class muxiaofei
{
public static void main(String[] args)
{
int a=1;
int b=2;
int c=3;
int d=4;
//boolean e=(a>b)&&(c<d);
//System.out.println(e);
boolean e=(a>b)||(c>d);
System.out.println(e);
}
}
结果为true
3.关于逻辑运算符的短路特性:经常考到。
1).先看下面这个程序:
public class muxiaofei
{
public static void main(String[] args)
{
int a=1;
int b=2;
int c=3;
int d=4;
int f=5;
boolean e=(a>b)&&((f=c)<d);
System.out.println(e);
System.out.println(f);
}
}
此时输出为
true
5
这儿一定要注意;
逻辑与:如果第一个操作数为false,那么结果肯定就是false,所以在这种情况下,将不会执行逻辑与后面的运算了。即发生了短路。
2).逻辑或:
同样看一个程序:
public class muxiaofei
{
public static void main(String[] args)
{
int a=1;
int b=2;
int c=3;
int d=4;
int f=5;
boolean e=(a<b)||((f=c)<d);
System.out.println(e);
System.out.println(f);
}
}
此时输出为
true
5
这里,如果第一个操作数为true,那么结果肯定是true,所以在这种情况下,将不会执行逻辑与后面的运算了,即同样发生了短路。
4.关于变量的自增与自减运算:
eg:a=a+1;此时=号表示将a+1计算的值赋值给左边;
a+=1;等价于a=a+1;
a++;
++a;
也就是说自增1有4种表达,但是自增2呢就不可以这样了!
eg:
int a=3;int b=a++;
先把a取出来复制给b,然后再执行a++
int a=3;int b=++a;
先执行++a,然后再赋值给b;
总结:如果不把a++赋值的话,a++和++a都是一样的结果;
同理,a– 和 –a
int a=3;int b=a–;
int a=3;int b=–a; 结果是不一样的