Java基础(四)

    技术2022-07-10  128

    Java基础(四)

    自增和自减

    运算符很多,但是绝大部分是很简单的,这里挑几个容易让新手混淆的讲一下

    int a = 3; int b = a++; //a = a + 1;(a++这里是相当于在此语句后面执行了a=a+1) System.out.println(a);//4 //a = a + 1;(++a这里相当于在执行此语句之前执行了a=a+1) int c = ++a; System.out.println(a);//5 System.out.println(b);//3 System.out.println(c);//5

    自减和上面一样

    下面介绍一个常用的特殊运算

    幂运算:

    ​ 经常我们会算到2^3=8这类型的吧,但是java中没有这种表示方式啊,那么很多人肯定想到可以表示为

    ​ 2* 2 * 2 = 8

    ​ 其实这样幂指数很小还可以,一旦大起来,就很难受了啊,这里介绍一个工具类Math里面的pow()方法

    Math.pow(2,3);//8,表示2的三次方

    逻辑运算符

    与(&&) 或(||) 非(!)

    这三个很简单,我就说一下与吧,这里涉及一个短路运算,很多人容易出错

    public class operator { public static void main(String[] args) { int a = 1; boolean b = (a>2) && (a++>4); System.out.println(b);//false System.out.println(a);//1 } }

    在上述中a++ 并没执行,与运算前面为false后面就不会算了,这就是短路运算

    位运算符

    与 & 或 | 非 ~ 异或 ^ 左移<< 右移>>

    /* A = 0101 B = 0011 A & B = 0001 A | B = 0111 A ^ B = 1001 ~B = 1100 */

    这里说一道常见的面试题目:

    ​ 怎么样让2*8最快算出来?

    ​ 2 * 2 * 2 * 2=2<<3

    将2左移三位

    总结:<< 左移相当于*

    ​ >>右移相当于 /

    字符串连接符 +

    下面是常见的一道面试题

    public class operator { public static void main(String[] args) { int a = 10; int b = 20; System.out.println(a + b);//30 System.out.println(""+a+b);//1020 System.out.println(a+b+"");30 } }

    在左边加上“”,就会转成字符串拼接起来,但是在右边却不会

    三元运算符

    三元运算符其实在实际开发中经常用到,虽然可以用if来代替,但是这种一行它不香吗?

    举个例子:

    String m = BAT面试成功?"走向人生巅峰":"咸鱼一枚";//这个幽默一下哈

    上面表示的是面试如果成功,m=“走向人生巅峰”,否则,m=“咸鱼一枚”

    Processed: 0.013, SQL: 9