Java-day02

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

        b=3     (Java默认浮点类型的double型,想要使用float型浮点数,需在整数后加f或F)

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

        5.0


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

        65(a是字符型,在给b赋值时转换成ACII码,A对应为65)


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

        D(int类型的a转换成char类型的b需要强制转换)


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

        

自动类型转换:byte->short(char)->int->long->float->double

强制类型转换:double->float->long->int->short(char)->byte


6. 变量的命名规则


    驼峰命名法


        大驼峰

                大驼峰命名法特点是第一个字母大写,后面每个单词第一个字母也大写。常用于类名、函数名、属性、命名空间。


        小驼峰

                小驼峰命名法特点是第一个单词首字母小写,后面其他单词首字母大写。

                        类名的标识符一般用大驼峰书写,方法和变量的标识符一般用小驼峰书写。

                
    连字符命名法

                由于驼峰式的书写不方便,引入了大小写的复杂度,可读性无优势,因此引入了连字符命名法

                       用-连接:solution-title

                       用下划线连接:solution_title


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

算数运算符+-*/%++--
含义加法减法乘法除法求余自加自减
用法a+ba-ba*ba/ba%ba++、++aa--、--a
赋值运算符=
含义赋值
用法a=b
比较运算符(所有的运算结果都是布尔型)><>=<===
含义大于小于大于等于小于等于等于
用法a>ba<ba>=ba<=ba==b
逻辑运算符&&&|||!^
含义短路与不短路与短路或不短路或异或
用法当第一个操作数为false,后面的操作数不运行当第一个操作数为false时,后面的操作数也运行当第一个操作数为true时,后面不运行当第一个操作数为false后,继续运行后一个操作数给当前值所得的判断(true或者false)       取反当两个操作数不同时才返回true,相同时返回false
位运算符&|~^<<>>>>>
含义按位与按位或按位非按位异或左移运算符右移运算符无符号右移运算符
用法1&1=1、1&0=0、0&0=01|1=1、1|0=1、0|0=0~5=-6、~-5=41^1=0、1^0=1、0^0=08<<2=328>>2=28>>>2、-8>>>2=1073741822
单目运算符
含义只有一个操作数的运算符
三目运算符a?b:c

含义、

用法

通过a操作数的判断,a为true,选择操作数b;a为false,选择操作数c


8. =和==的区别

        =是赋值,比如a=b,是将b的值赋给a;==是进行比较运算,所得结果是true或者false两个中的一个。


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

        i++是先执行别的运算符的运算,在后面才执行自加运算;

        ++i是先执行自加运算,再执行其他运算。


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

                 例如:c=a+b;

                                数值时,是直接进行加法运算

                            c='a'+'b';

                                字符时是用字符a和b对应的ACII码进行运算

                            c="a"+"b"

                                这里是字符串a和b连接,得出ab


11. &和&&的区别

        &:代表不短路与,当两个操作数中,第一个操作数为false时,第一个操作数还运行;

        &&:代表短路与,当两个操作数中,第一个操作数为false时,后面的操作数不运行


12. |和||的区别

        |:代表不短路或,当两个操作数中,第一个操作数为true时,后面的操作数还运行;

        ||:代表短路或,当两个操作数中,第一个操作数为true时,后面的操作数不运行


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

        &作为逻辑运算符使用时,是不短路与,在第一个操作数为false时,后面的操作数还运行;

        &作为位运算符使用时,是按位与,将两个操作数的二进制中相同位置的两个整数进行比较,同为1才返回1。


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

        |作为逻辑运算符使用时,是不短路或,在第一个操作数为true时,后面的操作数还运行;

        |作为位运算符使用时,是按位或,将两个操作符的二进制中相同位置的两个整数进行比较,只要一个为1就可返回1.

15、原码、反码、补码

原码由整数转换成二进制而来,

正数的原码、反码、补码:正数原码、反码、补码一样;

负数的原码、反码、补码:原码由符号位(负数符号位为1)+整数部分的二进制,反码为原码除符号位外全部取反得来,补码为反码+1得。

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

        

300000011
500000101
&00000001

                3&5=1

                3&5的过程用二进制观看和运算,&是与运算,,只有同为1才能返回1,并且3和5都是正数,补码就是原码。


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

300000011
500000101
|00000111

                3|5=7

                3|5的过程用二进制观看和运算,|是或运算,只要有一个1就返回1,并且3和5都是正数,补码就是原码。


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

原码500000101
反码00000101
补码00000101
补码取反~511111010
反码11111001
原码-610000110

                ~5=-6

                ~5是机器码即补码,在进行二进制转换后,需要将其转换为反码,再转换为原码,结果为-6


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

300000011
500000101
^00000110

                3^5=6

                3^5的结果为6,^为异或,相同为0,不同为1,并且3和5都是正数,补码即原码。

                


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

800001000
<<00100000

                8<<2=32

                8<<2的结果为32,因为二进制需左移两位,并在低位补两个0


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

800001000
>>00000010

                8>>2=2

                结果为2,因为二进制需要右移两个,最高位补两个0。

                


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

原码500000101
反码00000101
补码00000101
补码取反~511111010
反码11111001
原码-610000110

原码-510000101
反码11111010
补码11111011
补码取反~-500000100
反码00000100
原码400000100

23、>>和>>>的区别

例:8>>2,8>>>2

8>>2相当于8/4(有符号右移,正数高位补0,负数高位补1)

8>>>2(无符号右移,无论正数或负数,高位都是补0)

    如何最快速计算 8 * 4

                8<<2


    如何最快速计算 8 / 4

                8>>2

24、说说运算符的优先级,以及如何改变优先级?

25、什么是单目(一元)、双目(二元)、三目(三元)运算符

单目:运算符只对一个操作数进行运算

~5 按位非

i++自增

!a逻辑取反

双目:运算符对两个操作数进行运算

三目:运算符对三个操作数进行运算

26. 说说第二行代码中有几个运算符和运算顺序

                int a = 10
                char b = a++ > 10 ? 'A': 'B'

                        四个运算符顺序:①>②?:③++④=
                打印a

                        a=11
                打印b 

                        b=B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值