package 运算符;
public class Demo3 {//运算符
/**
* 算术运算符:+,-,*,/,%(模运算),++,--
* 赋值运算符:=(a = 10; 把10赋值给a)
* 关系运算符:>,<,>=,<=,==,!=(不等于)
* 逻辑运算符:&&(与),||(或),!(非) 与或非
* 位运算符:&,|,^,~,>>,<<,>>>
*/
public static void main(String[] args) {
//二元运算符(Ctrl+D复制当前行到下一行)
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);//0.5四舍五入要强制转换
System.out.println(a/(double)b);
System.out.println("-------------------------------------");
long e = 12123123412345L;
int f = 123;
short g = 10;
byte h = 8;
System.out.println(e+f+g+h);//long 有一个数为long结果为long
System.out.println(f+g+h);//int 如果没Long结果都为int无论有没有int
System.out.println(g+h);//int
long z =10000;
int y = 1000000;
System.out.println(z+y);//Long
System.out.println("-------------------------------------");
/**关系运算符
* >大于
* >=大于等于
* <小于
* <=小于等于
* ==等于
* !=不等于
* =赋值运算符
* ==关系运算符
* 关系运算符的运算结果一定是布尔类型:true/false
*
*/
int i = 10;
int j = 20;
int r = 22;
System.out.println(r%i);//c除a 22除10=2余2
System.out.println(i>j);//false
System.out.println(j>i);//true
System.out.println(i==j);//false
// 注意 "="赋值运算符 "=="等于
//变量a中的值是否等于变量b中的值
//变量中保存的值之间的大小比较
System.out.println(i!=j);//true
//false错 true对
/**
* 逻辑运算符:
* & 逻辑与【并且】(两边的算子都是true,结果才是true)
* | 逻辑或【或者】(两边的算子只要有一个是true,结果就是true)
* ! 逻辑非(取反,!false就是true,!true就是false,这就是一个单目运算符)
* ^ 逻辑异或 (两边的算子只要不一样,结果就是true)
* && 短路与
* || 短路或
*特点:
* 1.逻辑运算符要求两边的算子都是布尔类型,
* 并且逻辑运算符最终的运算结果也是布尔类型。
* 2.短路与和逻辑与最终的运算结果是相同的,
* 只不过短路与存在短路现象。
* 3.短路或和逻辑或最终的运算结果是相同的,
* 只不过短路或存在短路现象。
*/
//运算符优先级不确定加小括号
System.out.println("----");
System.out.println(5 > 3 & 5 > 2);//true
System.out.println(5 > 3 | 5 > 6);//true
System.out.println(true & true );//true
System.out.println(true & false );//false
System.out.println(false & false );//false
System.out.println(true | false);//true
System.out.println(false | false);//false
System.out.println(true ^ false);//true
System.out.println(false ^ false);//false
System.out.println(true ^ true);//false
}
}
package 运算符;
public class Demo4 {
public static void main(String[] args) {
//赋值运算符
/**
* ++自增 --自减 一元运算符
*/
//下面以++为例
//关于++运算符【自加1】
int k =10;
//++运算符可以出现在变量后面
k++;
System.out.println(k);//11
int y = 10;
//++运算符可以出现在变量前面
++y;
System.out.println(y);//11
/**
* //++运算符可以出现在变量钱,也可以出现在变量后,无论是变量前还是变量后,
* 只要++运算结束,该变量中的值一定会自加1
*/
//++出现在变量后
//规则:先做赋值运算,在对变量中保存的值在自增1
int a = 100;
int b = a++;
System.out.println(a);//a=101
System.out.println(b);//100
System.out.println("-------------");
//举例
int e = 100;
int r = e++;//e=101 r=100
//先赋值 r = e =100 ;再自增 e++ e+1=101
System.out.println(e);
System.out.println(r);
System.out.println("-------------");
//++出现在在变量前
//规则:先进行自加1运算,然后在进行赋值
int m = 20;
int n = ++m;
System.out.println(m);//21
System.out.println(n);//21
System.out.println("-------------");
//举例
int o = 57;
int p = ++o;
System.out.println(o);
System.out.println(p);//o=58 p=58
//p=++o o先自加1 ++o 57+1=58 在赋值 p=o=58
}
}
原文:https://www.cnblogs.com/ZJH3098264508/p/14876758.html