A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 凰城雅 初级黑马   /  2019-4-3 14:04  /  613 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

面试题        &&:和&运算的结果是一样的,运算过程中有点儿区别,
                   &无论左边的运算结果是什么右边都参与运算
                   &&当左边为false的时候,右边不参加运算
                ||:和| 运算的结果是一样的,运算过程中有点儿区别,
                      | 无论左边的运算结果是什么右边都参与运算
                   || 当左边为true的时候,右边不参加运算
        位运算符  用于二进制位运算的符号
                  二进制位 0为false 1为true   & | 运算都是运算二进制 &用来取某个二进制中的某一段  1&0 = 0  ; 1&1 = 1   0^0=0  1^1=0  1^0=1
                  |运算是保留二进制中的有效位  1为有效位
                  一个数异或一个数两次,结果还是这个数。  可用于加密 加密是异或一次  解密时再异或一次
        位移运算符 { 3<<2 -- 3*2(2)=12 }<<:左移几位其实就是该数乘以2的几次方 <<:可以完                                成2的次幂运算
                >>:右移几位就是该数据在除以2的几次幂 java的运算自动取整 舍弃小数位及6/4=1
                在右移的时候对于高位出现的空位,原来最高位是什么就用什么(0或者1)补位
                >>>:无符号右移:与右移的运算方式相同,只是数据在进行右移的时候,高位出现的空位,无论高位是什么,空位都用0补充。
                位移运算符都是基于2的倍数的预算       
                对两个整数的变量进行互换  
                 1.使用第三方变量  (开发时用的方式)
                int a = 3; int b = 5; int c ; c = a; a = b; b = c;
                 2.不使用第三方变量 (不建议使用的方式,如果两个数的数值过大,会超出int范围,会出现强制转换,数据就会发生变化)
                a = a + b; // a = 3 + 5;a = 8;
                b = a - b; // 3 + 5 - 5 = 3; b = 3;
                a = a - b; // 8 - 3 = 5; a = 5;
                 3.异或运算法   (不建议使用,阅读性较差,适用于面试)
                   一个数异或一个数两次,结果还是这个数。
                a = a ^ b; // a = 3 ^ 5
                b = a ^ b; // b = (3 ^ 5)^5  结果 b = 3
                a = a ^ b; // a = (3 ^ 5)^3  结果 a = 3

        三元运算符 三个元素参与运算的符号
                ? :
                格式  (条件表达式)?表达式1:表达式2 ;  条件表达式的运算结果为true 或者 false
                       如果运行结果为true 运行表达式1
                       如果运行结果为false运行表达式2
                       int x = 3 , y = 4 , z ;//获取两个整数中的较大的整数。
                       z = (x>y)?x:y //z变量存储的就是两个数的最大数。输出结果为 z=4
                       
                        int o , p , q ; //获取三个整数中的较大的整数。
                        int temp = o > p?o : p;
                        int max = temp > q ? temp : q;

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马