运算符号
/*
public 意为公共的,整个项目可以访问,最大的限定词
限定词有public、protected、default、private
protected 意为受保护的,第二大的限定词,范围在同包下和别的包的子类
default 意为缺省,第三大的限定词,范围在同包下
private 意为私有的,最小的限定词,范围在类下
class 类的关键字
OperationTest 类名,意为运算测试
*/
public class OperationTest{
/*
public 意为公共的,最大的限定词
static 意为静态的,为关键字,可以修饰类的内部结构,其中包括方法、属性、代码块、内部类
由于被static修饰的会随类的加载而加载,类又只加载一次,所以被static修饰的可以用 类.static修饰的名字 来访问
静态方法中只能调用静态方法
非静态方法中可以调用静态方法也可以调用非静态方法
静态方法中不可以使用this、super关键字
static修饰的是共享的,大家都可以用
this 指的是当前对象,只是替代词
super 指的是父类,只是替代词
void 无返回值的关键字
main 主方法方法名,主方法是java程序的入口,方法的标志()
String[] 字符串数组,数组的标志[]
args 参数
*/
public static void main(String[] args){
/*
运算符有算数运算符、赋值运算符、逻辑运算符、比较运算符、位运算符、三元运算符
*/
/*
算数运算符 +(加) 、 -(减) 、*(乘) 、\(除) 、%(取余)、++前(自增)、后++(自增)、--前(自减)、后--(自减)
int 整数类型,4个字节
变量的格式 类型 名字 = 值;也可以分开 类型 名字;名字 = 值;
System.out.println(); 转行打印语句,固定的,println(转行)->print(不转行)
为什么a+b要加括号? 因为""是字符串,字符串只有连接运算,所以要先等算数运算完在连接,所以就加了()
*/
int a = 10;
int b = 8;
System.out.println("a+b = "+(a+b));//18
System.out.println("a-b = "+(a-b));//2
System.out.println("a*b = "+(a*b));//80
//由于是int类型也就是整数类型,不带小数点的,所以值也不带小数位
System.out.println("a/b = "+(a/b));//1
//%的值就是余数
System.out.println("a%b = "+(a%b));//2
/*
a++ -----> a,a+1
++a -----> a+1,a
a-- -----> a,a-1
--a -----> a-1,a
第一个打印为 10 是因为a还没加 1
第二个打印为 12 是因为上一条加了 1 ,自己这一条又加 1
*/
System.out.println("a++ ="+(a++));//10
System.out.println("++a ="+(++a));//12
System.out.println("a-- ="+(a--));//12
System.out.println("--a ="+(--a));//10
/*
赋值运算符 =(赋值)、+=(加原来的值再赋值)、-=(减原来的值再赋值)、
*=(乘原来的值再赋值)、/=(除原来的值再赋值)、%=(取原来的值的余再赋值)
a+=b -------> a=a+b
a-=b -------> a=a-b
a*=b -------> a=a*b
a/=b -------> a=a/b
a%=b -------> a=a%b
*/
System.out.println("a += " + (a += b));
System.out.println("a -= " + (a -= b));
System.out.println("a *= " + (a *= b));
System.out.println("a /= " + (a /= b));
System.out.println("a %= " + (a %= b));
/*
逻辑运算符 &(逻辑与)、|(逻辑或)、!(逻辑非)、^(逻辑异或)
&&(短路与)、||(短路或)
结果都是boolean类型
c==1&d==2和c==1&&d==2效果一样的,但是当&&判断第一个已经成立时,就不会判断第二个了,所以叫短路,&会全都判断
| 和 || 是跟 & 和 && 一样的
== 相等的意思,比较的是对象的内存地址
! 是相反的意思,一个值
^ 全ture和全false为false,其余为ture,多个值
*/
int c = 2;
int d = 3;
if(c == 1 & d == 2){
System.out.println("成立");
}else{
System.out.println("不成立");
}
if(c == 1 && d == 2){
System.out.println("成立");
}else{
System.out.println("不成立");
}
if(c == 2 | d == 2){
System.out.println("成立");
}else{
System.out.println("不成立");
}
if(c == 2 || d == 2){
System.out.println("成立");
}else{
System.out.println("不成立");
}
if(!(c == 2)){
System.out.println("成立");
}else{
System.out.println("不成立");
}
if(c == 2 ^ d == 3){
System.out.println("成立");
}else{
System.out.println("不成立");
}
/*
比较运算符 ==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)
结果都是boolean类型
*/
System.out.println(c == 3);
System.out.println(c != 3);
System.out.println(c > 3);
System.out.println(c < 3);
System.out.println(c >= 3);
System.out.println(c <= 3);
/*
位运算符 <<(进一位)、>>(退一位)、>>>(无符号右移) 、&(与)、|(或)、~(非)、^(异或)
<< 乘以2
>> 除以2
>>> 二进制右移动,左边0来补,右移动几位补几个0
& 全1为1
| 全0为0
~ 取反
^ 相同为0,不同为1
*/
/*
三元运算符 格式 条件?成立:不成立
*/
}
}