学习Java02

1. float a = 3.5; int b = a; 打印b的结果是什么

float a =3.5不兼容的类型: 从double转换到float可能会有损失

int= b =a 不兼容的类型: 从float转换到int可能会有损失


2. int a = 5; float b = a; 打印b的结果是什么

打印b的结果=5.0


3. char a = 'A'; int b = a; 打印b的结果是什么

b的结果为65


4. int a = 68; char b = a; 打印b的结果是什么

不兼容的类型: 从int转换到char可能会有损失


5. 画出基本数据类型的兼容关系图


6. 变量的命名规则
    驼峰命名法
        大驼峰

大驼峰命名规则又称骆驼式命名法(Camel-Case),是电脑程式编写时的一套命名规则(惯例)。是指混合使用大小写字母来构成变量和函数的名字


        小驼峰

变量  一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。
例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名.


    连字符命名法


7. 分别用表格整理算术运算符, 赋值运算符,比较运算符,逻辑运算符,位运算符,单目运算符,三目运算符


8. =和==的区别

  • Java中=是赋值运算
  • ==判断值是否相等


9. i++和++i的区别

i++:是先把i拿出来使用,然后再+1;

++i :是先把i+1,然后再拿出来使用;


10. +运算符操作数值, 字符, 字符串的区别是什么

字符串与+号后面连接的数字变量在一起,默认将后面的数字看成是字符串,将其连接起来形成另一个字符串。如果数字变量前面没有字符串则单独表示数字。


11. &和&&的区别

&&在java中叫做逻辑运算符与,也叫做短路与

&&和&都是表示与,区别是&&只要第一个条件不满足,后面条件就不再判断。而&要对所有的条件都进行判断


12. |和||的区别

||和|都是表示“或”,区别是||在java中被称为逻辑或,又叫短路或只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。


13. &可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么

&既是位运算符也是逻辑运算符,&的两侧可以是int,也可以是布尔,当&表达式是int时,要求先把运算符两侧的数转化为二进制,例如 12&5
将12转化为二进制为00001100,5转化为二进制是00000101,则按位与运算之后的结果为00000100(4)
另外,负数按补码形式参与按位或运算


14. |可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么

java中|可以作为逻辑运算符或,它与||最大的不同在于,|两侧的布尔表达式,程序先执行第一个表达式,但是无论第一个表达式是否为真,程序都会去执行第二个表达式。


15. 什么是原码、反码、补码

计算机里都是以补码的形式存储数据,电脑只能识别二进制的0和1,

一个字节(8位)为例

原码 :最高位符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。

反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。  

补码:正数的补码与原码一致,负数的补码是该数的反码加1。

可以说,反码是原码要转换成补码的一个  过度。

例如:

                        5              -5

原码:  00000101          10000101

反码:  00000101          11111010

补码:  00000101          11111011
 


16. 图解3&5的运算过程和结果

                   


17. 图解3|5的运算过程和结果

 


18. 图解~5的运算过程和结果


19. 图解3^5的运算过程和结果


20. 图解8<<2的运算过程和结果

图解8<<2  8*4=32

高位舍弃--低位以0填充

00001000

00100000


21. 图解8>>2的运算过程和结果

图解8>>2 8\4   有符号右移,正数高位补0,负数高位补1

高位舍弃--低位以0填充

00001000

00000010


22. 图解~5和~-5的运算过程和结果

5正数原码反码都是一样

原码00000101

反码00000101

补码00000101 -->按位非运算~5=11111010  补码

                                                     11111001   反码

                                                     10000110   原码

-5

原码:10000101

反码:11111010   反码=原码取反(除符号位)

补码:11111011   补码=反码加1 --> 按位非运算  ~-5=00000100正反补都一样


22. >>和>>>的区别是什么

>> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1;

>>> 表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0


    如何最快速计算 8 * 4

左移8<<2   8*4


    如何最快速计算 8 / 4

右移8>>2  8/4


23. 说说运算符的优先级, 以及如何改变优先级

​ 运算符是一种特殊的函数,它们具有一个或多个操作数并返回相应的值。操作数是被运算符用作输入的值,通常是字面值、变量或表达式。运算符可以是一元、二元或三元的,一元运算符有1个操作数,二元运算符有2个操作数,三元运算符有3个操作数。


24. 什么是单目(一元), 双目(二元), 三目(三元)运算符
      单目: 运算符只对一个操作数进行运算
           ~5 按位非
           i++ 自增
           !a  逻辑取反
      双目: 运算符对两个操作数进行运算
              3 + 4
              5-2
              6*7
              8/2
              10%3
              a > b...........
      三目: 运算符对三个操作数进行运算
            ?:

     //操作数1?操作数2:操作数3

        //操作数1必须是boolean类型,或者是一个表达式,运算结果是boolean类型即可

        //操作数2和操作数3类型必须一样

        //操作1为true,则操作数2是整个表达式的运算结果

        //操作数1为false,则操作数3是整个表达式的运算结果

25. 说说第二行代码中有几个运算符和运算顺序
int a = 10
char b = a++ > 10 ? 'A': 'B'
打印a
打印b 

第一运算>

第二  ?

第三  a++

第四赋值 =

打印结果为

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值