一、算术运算符
1. 算术运算符
用在数学表达式中,它的作用和在数学中的运用一样,一下列举了所以算术运算符的描述及用法:
运算符 | 描述 | 用法 |
---|---|---|
+ | 加法或者连接符,实现运算符两侧的相加 | a+b |
- | 减法,运算符左侧减去右侧 | a-b |
* | 乘法,实现两个变量的相乘 | a*b |
/ | 除法左侧变量除以右侧变量 | a/b |
% | 取余,左侧变量除以右侧变量剩余的余数 | 3%2余数为1 |
++ | 自增,实现变量的值的自我增加1 | a++或者++a,详细介绍在下文中 |
– | 自减,实现变量的值的自我减少1 | a- -或者- -a,详细介绍在下文中 |
2. 实例分析
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int i = 3;//声明3个变量并为其初始化值
System.out.println("a + b = " + (a + b) );//实现变量a和b的相加,中间的+号表示连接符,在其他运算符里面详细介绍
System.out.println("b - a = " + (b - a) );//实现b-a
System.out.println("a * b = " + (a * b) );//实现a*b
System.out.println("b / a = " + (b / a) );//实现b/a
System.out.println("b % a = " + (b % a) );//实现b/a的余数
/*i++表示先使用后对自身加1,这里的i仍然是3,只不过下次使用的i才变成4
*++i表示先对自身加1后使用,由于上条语句使用到了i++,这里i等于4,
*然后又遇到++i,当场就对自己加1然后自己使用就变成了5
*i--,--i与自增同理
*下面看运行结果
*/
System.out.println("i++="+(i++));
System.out.println("++i="+(++i));
}
}
3.运行结果
二、赋值运算符
1. 赋值运算符主要实现变量之间的赋值关系
运算符 | 描述 | 用法 |
---|---|---|
= | 将右边的值赋给左边的变量 | a=3 |
+= | 加和赋值的并用,先加后赋值 | a+=3等价于a=a+3 |
-= | 减和赋值的并用,先减后赋值 | a-=3等价于a=a-3 |
*= | 乘和赋值的并用,先乘后赋值 | a*=3等价于a=a*3 |
/= | 除和赋值的并用,先除后赋值 | a/=3等价于a=a/3 |
(%)= | 求余和赋值的并用,先求余再赋值 | c%=a等价于c=c%a |
2. 实例分析 |
public class Test {
public static void main(String[] args) {
int a = 6;//将3赋值给a
int b = 6;
a+=3;
int c=b+3;//此式用于说明a+=3等价于a=a+3
System.out.println(a);
System.out.println(c);
int d=5,e=5,h=5;double f=15;
d-=3;
e*=3;
f/=3;
h%=3;
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(h);
}
}
3.运行结果
三、逻辑运算符
1. 常用逻辑运算符
运算符 | 表达式 | 用法 |
---|---|---|
&& | 条件1&&条件2 | 当且仅当条件1和条件2同时为真,结果才为真 |
II | 条件1II条件2 | 只要条件1或条件2有一个为真,结果为真 |
! | !条件 | 条件为真时,结果为假,条件为假时,结果为真 |
2. 案列分析
public class Test {
public static void main(String[] args) {
int a=3,b=5;
/*
* if语句,括号里面为真,则执行之后的语句,否则执行else之后的语句
*/
if(a*b==15&&a*b!=15){ //一真一假,运行结果为假,!=表示不等于,==表示等于
System.out.println("结果为真");
}else{
System.out.println("结果为假");
}
if(a*b==15&&a*b==15){ //同时为真,运行结果为真
System.out.println("结果为真");
}else{
System.out.println("结果为假");
}
}
}
3.运行结果
四、关系运算符
运算符 | 表达式 | 说明 |
---|---|---|
== | a==3 | a的值等于3,若a等于3,结果为真,否则为假 |
!= | a!=3 | a的值不等于3,若a不等于3,结果为真,否则为假 |
> | A>B | 成立为真,否则为假 |
< | A<B | 成立为真,否则为假 |
>= | A>=B | 成立为真,否则为假 |
<= | A<=B | 成立为真,否则为假 |
实例分析
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
//真在Java里面用true表示,假用false表示
}
}
运行结果
五、位运算符
1. 描述
Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;它们的二进制格式表示将如下:A = 0011 1100,B = 0000 1101
操作符 | 描述 | 用法 |
---|---|---|
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
I | 如果相对应位都是 0,则结果为 0,否则为 1 | (A I B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 | A>>>2得到15即0000 1111 |
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~A= 1100 0011
2. 案列分析
public class Test {
public static void main(String[] args) {
int a = 60; //60二进制为0011 1100
int b = 13; //30二进制位0000 1101
int c = 0;
c = a & b; //用c表示a&b,方便代码的整洁性,以下均用到
System.out.println("a & b = " + c );
c = a | b; // 61 = 0011 1101
System.out.println("a | b = " + c );
c = a ^ b; // 49 = 0011 0001
System.out.println("a ^ b = " + c );
c = ~a; //-61 = 1100 0011
System.out.println("~a = " + c );
c = a << 2; //240 = 1111 0000
System.out.println("a << 2 = " + c );
c = a >> 2; // 15 = 1111
System.out.println("a >> 2 = " + c );
c = a >>> 2; // 15 = 0000 1111
System.out.println("a >>> 2 = " + c );
}
}
运行结果
六、其他运算符
运算符 | 用法 |
---|---|
\t | 输出8个空格,就相当于一个制表位 |
\n | 换行专用,使用后换到下一行 |
// | 单行注释专用,注释后的内容Java虚拟机不会运行 |
/* */ | 多行注释 |
+ | 连接符 |
注:连接符+的使用方法: |
- 当两个时非数值类型时,如果他们相加则被看成一个连接符,例:“我爱”+“你”;则输出为我爱你
- 当一个是数值型,一个是非数值型时,他们相加被看成一个连接符,例:“平均分:”+avg,则输出为平均分:avg
- 当两个都是数值型时,如果他们相加被看成运算符中的+号,例:C=A+B
案列分析
public class Test {
public static void main(String[] args){
int a=1,b=2;
System.out.print(a+"\t"+a+"\t"+a+"\t"+a+"\t");//添加8个空格
System.out.println(a); //打印并换行
System.out.println(a+b); //两种数值型间使用连接符
System.out.println("我是"+a); //一种非数值型与数值型间使用连接符
System.out.println("我爱"+"你");//两种非数值型间使用连接符
/*
* 这里说明多行注释的使用
* 注释掉的内容不会运行
*/
}
}
运行结果
感 谢 阅读 学 习,希 望 以 上 知 识 对 你 在 学 习 中 有 所 帮 助 !