Day04

Day04

自增自减运算符

++ 与-- 注意a++与++a的区别

package base;

public class Demo10 {
   public static void main(String[] args) {
       // ++   --     自增 ,自减   一元运算 符
       int a=3;

       int b=a++;       // 此时b=3,
        //执行完这行代码后,先给b赋值,再自增
       //即:b=3,然后a=a+1
       System.out.println(a);       //a=a+1=4



       int c=++a;                //执行完这行 代码前,先自增,再给c赋值

       System.out.println(b);
       System.out.println(c);

       //幂运算   2*2*2=8
       //很多运算会使用 一些工具类 来进行运算 eg:Math类
       double piw=Math.pow(3,2);
       System.out.println(piw);

  }
}
逻辑运算符

与运算:两个为真则运算结果为真 +(a&&b) 或运算:两个中的一个为真,则计算结果为真 +(a||b) 非运算:如果为真,则为假,如果为假则为真 +!(a&&b)

package base;

public class Demo11 {
//逻辑运算符   与     或       非(取反)
   public static void main(String[] args) {
       boolean a=true;
       boolean b=false;

       System.out.println("a && b:"+(a&&b));
       //逻辑运算:两个变量都为真 ,结果才为真     在计算a&&b的时候,若a为假,则直接结束运算
       //不会进行下一步的运算
       //详情见下方的短路运算

       System.out.println("a || b:"+(a||b));
       //或运算: 两个变量又一个为真,则运算结果为真


       System.out.println("!a && b:"+!(a&&b));
       //非运算,如果是真,则为假,如果是假,则为真

注意短路运算: 在计算a&&b的时候,若a为假,则直接结束运算不会进行下一步的运算

 //短路运算
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);      //输出c的结果为5
/*
因为c<4为false,所以就终止了下一步(c++<4)的计算
所以输出的c结果为5,如果计算了 (c++<4),则输出结果应该为 6
以上为短路运算
*/

位运算

A&B:如果两个都为1,则为1 A|B:如果对位有一个1,则为1(如果对应位都是0,则为0,否则为1) A^B:(异或)如果对应位相同则为0,否则为1 ~B:(取反)与对应位完全相反

举例如下:

/*
A=0011 1100
B=0000 1101

则:
A&B=0000 1100
A|B=0011 1101
A^B=0011 0001
~B=1111 0010

*/

位运算效率高,是直接与二进制打交道 左移<< :*2 右移>> : /2 如下图:(涉及计算机的组成)

位运算符:
左移,<<    *2
右移,>>     /2
2*8=16     2*2*2*2=2<<3
如下:
0000 0000     0
0000 0001     1
0000 0010     2
0000 0100     4
0000 1000     8
0001 0000     16

条件运算符:重点(疑问)

Day04

三元运算符

?和:

// x ? y : z // 如果x==true,则结果为y,否则结果为z

public class Demo14 {
   //条件运算符:?和:
   public static void main(String[] args) {
       //     x ? y : z
       // 如果x==true,则结果为y,否则结果为z
       int score=80;
       String type=score <60 ?"不及格":"及格";
       //if语句
       System.out.println(type);
}
}

 

优先级:(),

 

 

 

上一篇:Hibernate_day04笔记


下一篇:day04-1列表