Java学习日记 2022.6.22

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

运算符的基本知识


运算符

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

无法输出,类型不兼容,float向int是无法自动转换的。

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

5.0,int转为float类型时,不会发生溢出,但是有可能发生舍入。

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

65,计算机中的字符是以二进制保存的,在ASCII码表中A的值是65。

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

无法输出,类型不兼容,int向char是无法自动转换的。

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

数据类型的兼容关系图

6. 变量的命名规则

驼峰命名法
驼峰命名
小驼峰:变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如int studentCount=0;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
大驼峰:相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。常用于类名,函数名,属性,命名空间。譬如public class StudentInfomation;
在JAVA中:类名的标识符一般用大驼峰式书写格式,方法和变量的标识符则多用小驼峰式书写格式。

连字符命名法:也叫作Snake case(蛇形命名)所有空格用下划线代替的命名方式。
例如:USER_NAME。

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

算术运算符赋值运算符比较运算符逻辑运算符位运算符单目运算符三目运算符
+=>&&&~?:
-+=>=&I++
*-=<II~
/*=<=I^!
%/===!<<-
++%=!=^>>
&=>>>
-l=
^=
<<=
>>=
>>>=

8. =和==的区别

=是赋值运算符
==是比较运算符

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

i++是先赋值,然后再自增;++i是先自增,后赋值。
例如:

若 a = i++; 则等价于 a=i;i=i+1;
而 a = ++i; 则等价于 i=i+1;a=i;

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

        System.out.println(3 + 5);
        System.out.println('3' + '5');
        System.out.println("3" + "5");

结果分别是8,104,35
+除可以作为数学的加法运算符之外,还可以作为字符串的连接运算符。

11. &和&&的区别

&会计算前后两个操作树,而&&先计算左边的操作数,如果左边的操作为false,那么将直接返回false,不计算右边的操作数。

12. |和||的区别

|会计算前后两个操作数,而||先计算左边的操作数,如果左边的操作为true,那么将直接返回true,不计算右边的操作数

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

&作为逻辑运算符时,两边的操作数必须是Boolean类型的;&作为位运算符时,两边的操作数必须是数值类型的。

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

和&运算符类似,|作为逻辑运算符时,两边的操作数必须是Boolean类型的;|作为位运算符时,两边的操作数必须是数值类型的。

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

原码:将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。

反码:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反,则得到这个数字的反码表示形式。

补码:如果是正数,则表示方法和原码一样;如果是负数,则将数字的反码加上1(相当于将原码数值位取反然后在最低位加1)。
8bit的整数,它的可表示范围包括-128到127,总共256个整数。
0的反码,补码都为0。

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

8*4
<-------
高位舍弃-低位以0填充
在这里插入图片描述

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

8/4 有符号右移,正数最高位补0,负数最高位补1
----->
高位以0填充-低位舍弃
在这里插入图片描述

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

5正数原码反码补码都一样
原码00000101
反码00000101
补码00000101	-->	按位取反~5=11111010		补码
						 =11111001  	反码
						 =10000110	    原码

-5
原码10000101
反码11111010	反码=原码取反(除符号位)
补码11111011	补码=反码+1		-->	按位取反~-5=00000100	补码	
										  =00000100	反码
										  =00000100	补码

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

>>:右移运算符		有符号右移,正数最高位补0,负数最高位补1
>>>:无符号右移运算符	无符号右移,无论正数或负数,高位都是补0
如何最快速计算 8 * 4
如何最快速计算 8 / 4

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

在这里插入图片描述
可以通过使用()来改变运算符的优先级

24. 什么是单目(一元), 双目(二元), 三目(三元)运算符

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

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

int a = 10
char b = a++ > 10 ? 'A': 'B'
打印a:11
打印b :B
1、先执行a >10 为 false
2、执行a++ 此时 a = 11
3、执行 false?'A':'B'
4、执行赋值语句 b = ‘B’

预习和复习

三大结构:顺序、循环、选择。
控制循环结构:break、continue、return。
foreach循环
for(type variableName : array | collection)
{
//variableName 自动迭代访问每个元素…
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值