Java-运算符-学习笔记
运算符
idea创建包,放置学习代码
快捷键:ctrl+D复制当前行到下一行
算数运算
注意使用除法存在小数时,需要将运算的其中一个变量转化一下,结果才可以输出小数。
publicclassoperator1{publicstaticvoidmain(String[]args){//二元运算符//ctrl +D复制当前行到下一行inta=10;intb=20;intc=25;intd=25;System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println(a/(double)b);}}输出结果
赋值运算符
publicclassoperator2{publicstaticvoidmain(String[]args){longa=12345655511L;intb=123;shortc=10;byted=8;System.out.println(a+b+c+d);System.out.println(b+c+d);System.out.println(c+d);}}输出结果
关系运算符
%取余–模运算
publicclassoperator3{publicstaticvoidmain(String[]args){//关系运算符返回的结果:正确,错误 布尔值//ifinta=10;intb=20;intc=21;System.out.println(c%a);//%取余数表示c除以a的余数 21/10=2......1,应当输出结果1System.out.println(a>b);System.out.println(a<b);System.out.println(a==b);System.out.println(a!=b);//!=表示不等于}}输出结果
自增自减运算符
publicclassoperator4{publicstaticvoidmain(String[]args){// ++ -- 自增,自减 一元运算符inta=3;intb=a++;//执行完这行代码后,先给b赋值,再对a自增//a++ : a=a+1//先后顺序:使b=a=3后,再a=a+1=4System.out.println(a);intc=++a;//执行这行代码前,先给a自增,再给c赋值System.out.println(a);System.out.println(b);System.out.println(c);}}输出结果
math有很多数学函数可以使用,以下是幂运算的示例
逻辑运算符
publicclassoperator5{publicstaticvoidmain(String[]args){//与and,或or,非(取反)booleana=true;booleanb=false;System.out.println("a&&b:"+(b&&a));//逻辑运算:两个变量都为真,结果才为true;System.out.println("a||b:"+(b||a));//逻辑运算:两个有一个变量为真,结果为true;System.out.println("!a&&b:"+!(b&&a));//逻辑运算:如果为真,则变为假;如果为假,则变为真;//短路运算intc=5;booleand=(c<4)&&(c++<4);//这里c<4为false,已经短路;则不再执行c++操作,因此输出c仍然是5System.out.println(d);System.out.println(c);}}位运算符
以下计算规律:
A&B:AB值都为1,才取1
A|B:AB有一个值为1,就取1
A^B:AB中只有一个值为1,才取1,如果两个都为1,取0
m<<n代表m乘以n个2,例如以下;m>>n则代表m除以n个2;
publicclassoperator6{publicstaticvoidmain(String[]args){System.out.println(2<<3);//输出结果为16}}条件运算符
publicclassoperator6{publicstaticvoidmain(String[]args){inta=10;intb=20;a+=b;//a=a+ba-=b;//a=a-bSystem.out.println(a);}}输出结果为10
字符串链接符
当字符串在前时,会以字符串的形式将ab的值连接起来,输出1020;字符串在后的时候则正常计算结果
三元运算符
十分常见,必须掌握
publicclassoperator7{publicstaticvoidmain(String[]args){//x?y:z//如果x==true,则结果为y,否则为zintscore=60;Stringtype=score<60?"不及格":"及格";System.out.println(type);}}此处输出结果为及格,如果将score改成50则输出不及格;
