
文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
运算符的基本知识
无法输出,类型不兼容,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。
| 算术运算符 | 赋值运算符 | 比较运算符 | 逻辑运算符 | 位运算符 | 单目运算符 | 三目运算符 |
|---|---|---|---|---|---|---|
| + | = | > | && | & | ~ | ?: |
| - | += | >= | & | I | ++ | |
| * | -= | < | II | ~ | – | |
| / | *= | <= | I | ^ | ! | |
| % | /= | == | ! | << | - | |
| ++ | %= | != | ^ | >> | ||
| – | &= | >>> | ||||
| - | l= | |||||
| ^= | ||||||
| <<= | ||||||
| >>= | ||||||
| >>>= |
=是赋值运算符
==是比较运算符
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
+除可以作为数学的加法运算符之外,还可以作为字符串的连接运算符。
&会计算前后两个操作树,而&&先计算左边的操作数,如果左边的操作为false,那么将直接返回false,不计算右边的操作数。
12. |和||的区别|会计算前后两个操作数,而||先计算左边的操作数,如果左边的操作为true,那么将直接返回true,不计算右边的操作数
13. &可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么&作为逻辑运算符时,两边的操作数必须是Boolean类型的;&作为位运算符时,两边的操作数必须是数值类型的。
14. |可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么和&运算符类似,|作为逻辑运算符时,两边的操作数必须是Boolean类型的;|作为位运算符时,两边的操作数必须是数值类型的。
15. 什么是原码、反码、补码原码:将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。
反码:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反,则得到这个数字的反码表示形式。
补码:如果是正数,则表示方法和原码一样;如果是负数,则将数字的反码加上1(相当于将原码数值位取反然后在最低位加1)。
8bit的整数,它的可表示范围包括-128到127,总共256个整数。
0的反码,补码都为0。
8*4
<-------
高位舍弃-低位以0填充
8/4 有符号右移,正数最高位补0,负数最高位补1
----->
高位以0填充-低位舍弃
5正数原码反码补码都一样 原码00000101 反码00000101 补码00000101 --> 按位取反~5=11111010 补码 =11111001 反码 =10000110 原码 -5 原码10000101 反码11111010 反码=原码取反(除符号位) 补码11111011 补码=反码+1 --> 按位取反~-5=00000100 补码 =00000100 反码 =00000100 补码22. >>和>>>的区别是什么
>>:右移运算符 有符号右移,正数最高位补0,负数最高位补1 >>>:无符号右移运算符 无符号右移,无论正数或负数,高位都是补0 如何最快速计算 8 * 4 如何最快速计算 8 / 423. 说说运算符的优先级, 以及如何改变优先级
可以通过使用()来改变运算符的优先级
单目: 运算符只对一个操作数进行运算
~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 自动迭代访问每个元素…
}