Java学习日记 2022.6.22

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

文章目录

  • 前言
  • 运算符
    • 1. float a = 3.5; int b = a; 打印b的结果是什么
    • 2. int a = 5; float b = a; 打印b的结果是什么
    • 3. char a = 'A'; int b = a; 打印b的结果是什么
    • 4. int a = 68; char b = a; 打印b的结果是什么
    • 5. 画出基本数据类型的兼容关系图
    • 6. 变量的命名规则
    • 7. 分别用表格整理算术运算符, 赋值运算符,比较运算符,逻辑运算符,位运算符,单目运算符,三目运算符
    • 8. =和==的区别
    • 9. i++和++i的区别
    • 10. +运算符操作数值, 字符, 字符串的区别是什么
    • 11. &和&&的区别
    • 12. |和||的区别
    • 13. &可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么
    • 14. |可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么
    • 15. 什么是原码、反码、补码
    • 16. 图解3&5的运算过程和结果
    • 17. 图解3|5的运算过程和结果
    • 18. 图解~5的运算过程和结果
    • 19. 图解3^5的运算过程和结果
    • 20. 图解8<<2的运算过程和结果
    • 21. 图解8>>2的运算过程和结果
    • 22. 图解~5和~-5的运算过程和结果
    • 22. >>和>>>的区别是什么
    • 23. 说说运算符的优先级, 以及如何改变优先级
    • 24. 什么是单目(一元), 双目(二元), 三目(三元)运算符
    • 25. 说说第二行代码中有几个运算符和运算顺序
  • 预习和复习


前言

运算符的基本知识


运算符

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. 画出基本数据类型的兼容关系图

Java学习日记 2022.6.22_第1张图片

6. 变量的命名规则

驼峰命名法
Java学习日记 2022.6.22_第2张图片
小驼峰:变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如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的运算过程和结果

Java学习日记 2022.6.22_第3张图片

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. 说说运算符的优先级, 以及如何改变优先级

Java学习日记 2022.6.22_第4张图片
可以通过使用()来改变运算符的优先级

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 自动迭代访问每个元素…
}

你可能感兴趣的:(学习日记,java,学习)