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

相关文章
|
2月前
|
Java
Java运算符
Java运算符
48 12
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
67 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
24天前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
31 7
|
25天前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
18 3
|
26天前
|
Java 测试技术 开发者
🌟Java零基础-Lambda运算符详解 🌟
【10月更文挑战第12天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
22 1
|
1月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
50 4
|
1月前
|
安全 Java 测试技术
🌟 Java 零基础 | 详解 instanceof 运算符
【10月更文挑战第1天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 1
|
1月前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
39 3
|
2月前
|
安全 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版)
|
2月前
|
Java 测试技术 程序员
Java零基础(23) - Java赋值运算符,了解一下!
【9月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
59 11