按功能分为:
算术运算符
赋值运算符
关系运算符
逻辑运算符
位运算符
其他运算符
----------
逻辑运算符;
逻辑运算符:用来处理运算的逻辑关系,有三种(&&,||,!)逻辑运算符俩段的操作数必须是布尔类型的,想关介绍如表2-6
位 运算符:
位 运算符把字符,字节型,段整形转换成整形,然后在对其进行对应的二进制运算,按为运算只能在byte ,short,char ,int ,Long 之间使用,操作符包括
&按位与:俩个运算数都为1 则为1,否则为0
I按位或:俩个运算数都为0,则为0,否则为1
~(按位非):当贝运算的值为1时,运算结果为0;该操作不能用于布尔型(对正整数取反:--在原来的书上加1然后去负数,;对负整数取反:--在原来的数上加1,在取绝对值)
^(按位异或):只有当运算的俩位都不同时结果才为1,否则为0,可用布尔型
<<(左移):把运算符左边的操作数向左移动运算符右边的指定的位数。右边移动空出的位补0
>>(有符号右移):把运算符左边的操作数向右移动运算符右边的指定的位数。如果是整治,左侧移动空出的部分补0,;如果是负值,则左侧因移动而空出的部分补1
>>>(无符号移动):和>>移动的方式是一样的,不管正负,尹沂栋而空出的部分都补 0
----------演示比较运算符的应用:代码如下
public class Test {
public static void main(String args[]){//主方法,格式是固定的
int x=-9;
int y=2;
System.out.println("x等于y"+(x==y));
System.out.println("x不等于y"+(x!=y));
}
}
--结果
x等于yfalse
x不等于ytrue
-----------演示位运算符的应用,代码如下
public class Test {
public static void main(String args[]){//主方法,格式是固定的
boolean b=true,b1=false;
char c='a';//二进制位1100001,十进制为97
int i=96;//二进制为1100000
int x=-96;
System.out.println("c和i进行&运算:"+(c&i));
System.out.println("c和i进行|运算:"+(c|i));
System.out.println("i进行~运算:"+(~i));
System.out.println("x进行~运算:"+(~x));
System.out.println("i进行>>运算:"+(i>>2));
System.out.println("i进行<<运算:"+(i<<2));
System.out.println("x进行>>>运算:"+(x>>1));
}
}
--结果
c和i进行&运算:96
c和i进行|运算:97
i进行~运算:-97
x进行~运算:95
i进行>>运算:24
i进行<<运算:384
x进行>>>运算:-48
-------------
1.4三目运算:
但目运算实际上是一个表达式或操作数参与的运算
双目运算时2个表达式或操作数参与的运算
表达式一?表达式二:表达式三
表达式一:问号之前的表达式是关系或逻辑表达式,进行条件判断
表达式2和表达式3:可以是不表达式,变量,或常量
public class Test {
public static void main(String args[]){//主方法,格式是固定的
//声明变量i,首先判断8-5是否小于0,当结果小于0时,把8-5的结果付给i;当结果大于或等于0时,则把8+5值付给i.和兴代码如下
int i=(8-5<0)?8-5:8+5;//三目运算,为i赋值,结果是8+5
System.out.println("i="+i);
}
}
实例演练:使用三元运算符去2个数中的较大值
public class Test {
public static void main(String[] args){//主方法,格式是固定的
int a=97,b=67;
int i=(a>b)?a:b;
double b1=i*b;
System.out.println(b1);
}
}
演练2:4次幂乘法的表示
public class Test {
public static void main(String[] args){//主方法,格式是固定的
int i=1;
int k=i<<4;//计算2的4次乘幂,想党羽把1向左移4位,每次一1相当于乘以2
System.out.println(k);
}
}
结果是16
-----
如何计算2 的立方是最快的,实际是考察的就是运算符中的左移运算符,计算2的立方,使用的表达式是2<<2
注释文档
/** */
内部可以加标记@author
@author:用来对类进行说明,后面姐开发的这部分的代码的作者
@version:用来对类型记性说明个,知名该类的版本
@param:用来对方法说明,对方法中参数的说明
@return:对方法进行说明,对方方返回值进行说明
@expertion :用来对方法金星说民个,对方啊可能跑出的异常进行说明
、、以下账户是就是对垒的描述
/**
*该类对<<运算符的使用作出演示
*@author IBM
*@Time 2014-03-12 11.13.06
*/