Day6---学习Java第二弹

2021-07-16

运算符和表达式

一、算术运算符和算术表达式

1、单目算术运算符

%---取余     ++---自加     -- ---自减   - ---取反

 

public class zijia {

    public static void main(String[] args) {
        int i =4,j;
        j=(i++)+(i++);
        System.out.println("j="+j+"i="+i);
        i=3;
        j=(++i)+(++i);
        System.out.println("j="+j+"i="+i);

    }

}

 

Day6---学习Java第二弹

 

 需要注意的是:自加和自减运算只应用于变量,且位于变量不同侧有不同的效果

 

int a1=2,a2=2;
int b=(++a1)*2;
int c=(a2++)*2;

 

执行后b的值为6,c的值为4,当++在变量前面时,先对变量进行+1,然后代入整个运算,当++在变量后面时,先进行运算,再对变量进行+1

 

2、双目算术运算符

需要两个操作数,写在运算符的左右两边

比如 5/2=2

注意:两个整数类型的数据做除法时,结果只保留整数部分,如 2/3=0

      取模运算符的两端的操作数不只可以用于整型数,也可以应用于浮点数。

 

3、算术运算符的优先级

放个图 ヾ(๑╹◡╹)ノ"

Day6---学习Java第二弹

 

 

 

 

4、算术表达式

注意点: 可使用括号改变优先级的次序

         过长的表达式可以分为几个表达式来写

         一个表达式里面不要连续使用两个运算符,可以用括号或者空格进行分隔

 

 1 public class suanshuyunsuanfu {
 2 
 3     public static void main(String[] args) {
 4         int x,y,z,a,b;
 5         a=11;
 6         b=3;
 7         x=a%b;
 8         y=3+ --a;
 9         z=7+(++b);
10         System.out.print("\tx="+x);
11         System.out.print("\ty="+y);
12         System.out.println("z="+z);
13     }
14 
15 }

 

Day6---学习Java第二弹

 

 

 

二、赋值运算符和赋值表达式

 

eg: double s=6.5+45;  //将表达式6.5+45 的值赋给变量s

 

再放个图٩(๑❛ᴗ❛๑)۶

Day6---学习Java第二弹

 

 

 

 

 

 

 1 public class fuzhiyunsuanfu {
 2 
 3     public static void main(String[] args) {
 4         int x,y,z;
 5         x=1;
 6         y=2;
 7         z=3;
 8         x-=y;
 9         y/=x;
10         z%=x;
11         System.out.print("x="+x+"\ty="+y+"\tz="+z);
12     }
13 
14 }

 

Day6---学习Java第二弹

 

 

 

三、关系运算符和关系表达式

比较两个表达式大小关系的运算,结果为真true或者假false

 

再来一个图ヾ(✿゚▽゚)ノ

Day6---学习Java第二弹

 

 

 1 public class guanxiyunsuanfu {
 2 
 3     public static void main(String[] args) {
 4         int i=1000;
 5         int j=100;
 6         boolean k;
 7         k= i<j;
 8         System.out.print("i<j is "+k);
 9     }
10 
11 }

Day6---学习Java第二弹

 

 

四、逻辑运算符和逻辑表达式

 

逻辑运算符用于对布尔型变量进行运算,结果也是布尔型。

 

还有一个图ヾ(◍°∇°◍)ノ゙

Day6---学习Java第二弹

 

 

 注意:从上图可以看出来&与&&,|与||的结果是一样的

所以我搜了一下&、|与&&和||的区别

&和|执行操作时,运算符左右两边的表达式首先被运算,然后对两边的结果进行与、或运算

&&与||执行操作时,从左到右,如果能从左边的表达式得到操作数并且能确定结果,则不再对右边的表达式进行运算。

分析比较而言,&&和||的运算速度更快。

 

 1 public class luojiyunsuan {
 2 
 3     public static void main(String[] args) {
 4         int i=3,j=4;
 5         boolean k1,k2;
 6         k1=(i<j) && (++i<j);
 7         k2=(i<j) || (i<j);
 8         System.out.print("k1="+k1+"k2="+k2);
 9     }
10 
11 }
 1 public class luojiyunsuan {
 2 
 3     public static void main(String[] args) {
 4         int i=3,j=4;
 5         boolean k1,k2;
 6         k1=(i<j) && (++i<j);
 7         k2=(i<j) || (i<j);
 8         System.out.print("k1="+k1+"k2="+k2);
 9     }
10 
11 }
public class luojiyunsuan {

    public static void main(String[] args) {
        int i=3,j=4;
        boolean k1,k2;
        k1=(i<j) && (++i<j);
        k2=(i<j) || (i<j);
        System.out.print("k1="+k1+"k2="+k2);
    }

}

 

上一篇:学习Java Day6


下一篇:Java学习day6