JAVA基础--运算符的使用

简介: JAVA基础--运算符的使用

JAVA中的运算符


运算符的分类


➤算术运算符:+,-,*,/,%,++,--

➤赋值运算符:=

➤扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=

➤位运算符:&,|,~,^,<<,>>,>>>

➤比较运算符:>,>=,<,<=,==

➤逻辑运算符:&&,&,||,|,!,^

➤三目运算符:?


算术运算符所要注意的点(主要在除运算和模运算)


浮点数下的除运算和模运算


public class text02 {
    public static void main(String[] args) {
        float a = 15.0F;
        float b = 0.0F;
        System.out.println(a/b);  //输出结果为 Infinity (无限性的意思)
        System.out.println(a%b);  //输出结果为 NaN (非数字的意思)
    }
}

整型的除运算结果出现小数的现象


public class text02 {
    public static void main(String[] args) {
        int a=1;
        int b= 2;
        System.out.println(a/b); //结果为0;
        System.out.println(a/(double)b); //结果为0.5;
        // double c = a/b;  //结果为0.0;
        //double  c = a/(double)b;  //结果为0.5;
        //分析: 第一个double 是将a/b的整型 int 部分赋值给 double c;
        //分析: 第二个double 是先将a/b转换成 double 浮点的运算,再将浮点的运算结果赋值给 double c;
    }
}

整型间数据类型输出值的类型

public class text02 {
    public static void main(String[] args) {
        long a = 1222222222222L;
        int b = 123;
        short c = 10;
        byte d = 8;
        //ctrl + D 快捷复制上一行到下一行;
        System.out.println(a+b+c+d);        //Long  有Long最后数值为Long型 结果为1222222222363
        System.out.println(b+c+d);          //Int   没有Long剩下的结果默认Int型  结果为141
        System.out.println(c+d);            //Int   下行代码实现将默认的Int代码转成其他类型  结果为18
        System.out.println((double)(c+d));  //(c+d)整体转成double型  结果为18.0
    }
}

比较运算符


比较运算符用于判断两个常量或变量的大小,比较结果是是一个布尔值(true或false)。

比较运算符有:>(大于),>=(大于等于),<(小于),<=(小于等于),==(等于)。

代码示例如下:


System.out.println(7>3); //输出true
System.out.println(7<=3); //输出false

自增自减运算符


注意 自增自减 与 语句 间的顺序


int a = 1;
        int b = a++;        //先执行b=a=1; 再执行a=a+1;
        int c = ++a;        //先执行a=a+1; 再执行c=a;
        System.out.println(a);  //3
        System.out.println(b);  //1
        System.out.println(c);  //3

调用Math数学库


Math 为编译器自带的可用类&库


//调用数学库
        Math.abs(-10);
        System.out.println(Math.pow(3, 2));

短路运算


//短路运算
        int d=2;
        boolean e = (d>4)&&(d++>10);  //d>4&& 判断为假,所以不运行(d++>10)
        System.out.println(e);  //假
        System.out.println(d);  //d=2
        //短路运算的实验
        int x = 4;
        boolean y = (x++>10)&&(++x>100);
        System.out.println(y);  //false
        System.out.println(x); //x=5 (x++>10)&&判断为假后只执行x++, 不再执行(++x>100)

位运算(基于计算机的底层为二进制)


原理为: 基于计算机的底层二进制的运算

具有 运算效率高的性质


位运算
            2*8 = 16   2*2*2*2
            <<      *2
            >>      /2
            0000 0001       1
            0000 0010       2
            0000 0100       4
            0000 1000       8
            类似于幂函数
            1--->2--->4--->8 乘二 对应二进制编码 1 的位移
A = 0011 1100
        B = 0000 1101
        ---------------------------
        A&B = 0000 1100     与
        A|B = 0011 1101     或
        A^B = 0011 0001     异或
        ~b  = 1111 0010     非

字符串的连接


public class text01 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //字符串的连接
        System.out.println(""+a+b); //1020      执行”“将 a 与 b 作字符连接
        System.out.println(a+b+""); //30        先执行a+b的加法运算
    }
}

三目运算符


public class Demo02 {
    public static void main(String[] args) {
        //三目运算符
        // x ? y: z
        //如果 x 为真, 则结果为y;  否则结果为z;
        int score = 80;
        String type = score>60 ? "及格": "不及格";
        System.out.println(type);     //输出结果为 及格 
    }
}

运算符的优先级


aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9PQm1DTDVTMlJBRXJiN25mN0xCbVNhWkhlckg4WHNkOTlRTzZteVR1Q1ZjbzZza2liY3RkdFpPZjJHcWlhRmg5Q0U4ZmZCMTVscU11dGppYU9pY0tOdmczV1EvNjQwP3d4X2ZtdD1wbmc.png

相关文章
|
28天前
|
Java 测试技术 数据处理
Java零基础教学(17):Java运算符详解
【8月更文挑战第17天】Java零基础教学篇,手把手实践教学!
39 4
|
6天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
18天前
|
Java 测试技术 程序员
Java零基础(23) - Java赋值运算符,了解一下!
【9月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
38 11
|
1月前
|
Java 测试技术 计算机视觉
Java零基础(18) - Java运算符,了解一下!
【8月更文挑战第18天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
27 5
|
30天前
|
Java
【Java 第三篇章】注释、数据类型、运算符
【8月更文挑战第2天】 Java支持三种注释:单行(`//`)、多行(`/*...*/`)及文档注释(`/**...*/`)。它定义了八种基本数据类型,包括四种整数类型(`byte`、`short`、`int`、`long`),两种浮点类型(`float`、`double`),一种字符类型(`char`)和一种布尔类型(`boolean`)。数据类型之间可以自动转换或通过强制转换改变,但后者可能导致精度损失。Java中的运算符涵盖算术(如`+`、`-`)、赋值(如`=`)、比较(如`==`)、逻辑(如`&&`)和三目运算符等。例如,算术运算可用于执行基本数学计算,而逻辑运算符用于组合条件判断。
12 1
|
17天前
|
Java 测试技术 开发者
Java零基础(24) - Java条件运算符,了解一下!
【9月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
8 0
|
1月前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
20 5
|
1月前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(上)
02 Java基础语法(变量+数据类型+运算符)
41 4
|
2月前
|
安全 Java 测试技术
day16:Java零基础-instanceof 运算符
【7月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
38 8
|
2月前
|
Java 测试技术
day14:Java零基础-条件运算符
【7月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
31 3