Day7:基本运算符、表达式与Math类自增自减6.11

总目标:学会JAVA
本周目标:Java的入门知识(6.5——6.12)
今日目标:(6月11日)

  • 掌握各种运算符的用法
  • 掌握各种表达式的用法
  • 掌握表达式与运算符的关系
  • 掌握表达式中数据类型的转化技巧
  • 掌握递增与递减运算符的使用

运算符

Java语言支持如下运算符

  • 算数运算符

    符号名称作用
    +加号相加
    减号相减
    *乘号相乘
    /除号相除
    %取余
    ++递增变量值加1
    - -递减变量值减1
  • 赋值运算

    符号名称作用
    =赋值符赋值
  • 关系运算符

    符号名称作用
    >大于大于
    <小于小于
    ==等于等于
    !=不等于不等于
    instanceof测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型
  • 逻辑运算符

    符号名称作用
    &&A且B,AB串联
    ||A或者B,AB并联
    逻辑 非
  • 位运算符

  • 条件运算符

    ​ 条件运算符由”?:“组成,其基本形式是a?x:y,即如果a的值非0,则整个表达式的值为x,否则为y。

  • 扩展运算符

operator

算数运算符
package operator;      //operator运算符

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        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);//强转成double才行(a/(double)b);
        System.out.println(a%b);
    }
}

运行结果

30
-10
200
0
10

数据类型
package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a = 121212123123l;
        int b = 123;
        short c = 10;
        byte d = 8;

        System.out.println(a+b+c+d);//long
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int
        //cast 转换 
    }
}

运行结果

121212123264
141
18

关系运算符
package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关键运算符返回的结果:正确,错误  布尔值
        int a = 10;
        int b = 20;
        int c = 21;
    //取余——也叫模运算
        System.out.println(c%a);//取余 c/a 21/10=2……1

        System.out.println(a>b);//false
        System.out.println(a<b);//true
        System.out.println(a==b);//false
        System.out.println(a!=b);
    }
}

递增与递减运算符

递增与递减运算符意义
++递增,变量值加1
——递减,变量值减1
package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++自增  --自减   一元运算符
        int a = 3;
        //执行完这行代码后,先给b赋值,再自增
        int b = a++;//a++ =  a=a+1   先赋值再加一

        System.out.println(a);//4
        int c = ++a;//执行完这行代码前,先自增,再给b赋值

        System.out.println(a);//5
        System.out.println(b);//3
        System.out.println(b);//3
        System.out.println(c);//5
        System.out.println(c);//5
        
        //幂运算 2^3=2*2*2=8
        double pow = Math.pow(3,2);
        System.out.println(pow);//9.0
        
         System.out.print("a="+a);                //输出a
        System.out.println(",a++="+(a++)+",a="+a);//输出a++和a
        //a=5,a++=5,a=6
        System.out.print("b="+b);                 //输出b
        System.out.println(",++b="+(++b)+",b="+b);//输出++b和b
        //b=3,++b=4,b=4
    }
}

逻辑运算符

逻辑运算符意义
&&AND,与
||OR,或
!,非,取反
package operator;
//逻辑运算符
public class Demo06 {
    public static void main(String[] args) {
        //与(and)    或(or)    非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true
        System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,结果才为true
        System.out.println("!(a && b):"+!(a && b));//如果为真输出为假;如果为假输出为真

        //短路运算:b&&a因为b为假,与就不会再进行运算
        //验证短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);//若C++<4执行则c的输出结果就为6
        System.out.println(d);//false
        System.out.println(c);//5
    }
}

运算结果

a && b:false
a || b:true
!(a && b):true
false
5

位运算符

位运算符意义
&逻辑与
\逻辑或
^逻辑异或
~逻辑反
>>位右移
<<位左移

位运算

package operator;

public class Demo07 {
    public static void main(String[] args) {
        /**
         *   A = 0011 1100
         *   B = 0000 1101
         ——————————————————
         * A&B = 0000 1100
         * A|B = 0011 1101
         * A^B = 0011 0001异或相同为0不同为1
         * ~B  = 1111 0010
         * >>  右移  /2
         * <<  左移  *2
         *
         */
        System.out.println(2<<3);
        //      2 =0000 0010
        //2左移3位 =0001 0000 =16
    }
}

学习总结

运算符、表达式和语句是编程的主要部件,能够使系统直接对内存进行操作,进而提高程序的执行能力。今天学习算数运算符的使用,其可对变量和常量进行赋值、单目运算(变量)和算数运算;关系运算符,学习了判断语句和递增、递减的使用;逻辑运算符,加深对条件语句的使用和理解,并通过对运算符优先及的使用了解一些运算错误的产生;位运算符,是直接对内存使用,作用域二进制,可以进行更快速的运算。

  • 括号运算符用于处理表达式的优先级。

  • 算数表达式的结果是一个数值。

  • Java表达式类型转换的规则
    坚持“以不流失数据为前提”的大原则,即可进行不同类型转换,使不同类型的数据、表达式都能继续存储。
    1. 占用字节少的类型可转化成占用字节较多的类型。
    2. 字符型(char)会转换成int型
    3. int类型会转换成float类型
    4. 表达式中若某个操作数类型为double,另一个操作数也会转换成double类型
    5. 布尔类型(boolean)不能转换成其他类型

  • 计算表达式“((123456799)>(976543213))?true:false”的值。

public class conditiondemo6 {

    public static void main(String[] args) {
    
        boolean t = ((12345679*9)>(97654321*3))?true:false;
        
        System.out.println("(123456789*9)>(97654321*3):"+t);//false
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值