目录
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的结果是什么
7. 分别用表格整理算术运算符, 赋值运算符,比较运算符,逻辑运算符,位运算符,单目运算符,三目运算符
13. &可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么
14. |可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么
24. 什么是单目(一元), 双目(二元), 三目(三元)运算符
1. float a = 3.5; int b = a; 打印b的结果是什么
语句错误,把float转为int类型,需要做强制类型转换,加上(int)
正确语句应该是,float a = 3.5F,int b = (int)a; 此时打印b的结果为3.
2. int a = 5; float b = a; 打印b的结果是什么
打印b的结果为5.0
3. char a = 'A'; int b = a; 打印b的结果是什么
打印的结果为65
4. int a = 68; char b = a; 打印b的结果是什么
语句错误,int转为为char类型需要做强制类型转换,要加(char)
正确的语句应该为int a = 68;char b = (char)a;此时打印b的结果为D
5. 画出基本数据类型的兼容关系图
6. 变量的命名规则
驼峰命名法:骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。
大驼峰:命名规则:首字母大写,后面每个单词首字母也大写。例:DataBaseUser;
小驼峰:命名规则:首字母小写,后面每个单词首字母大写。例:userName,passWord.
连字符命名法:
下划线命名法:函数名或变量中的每一个逻辑断点都有一个下划线来标记。例:my_name,test_name
7. 分别用表格整理算术运算符, 赋值运算符,比较运算符,逻辑运算符,位运算符,单目运算符,三目运算符
(1)算数运算符
算数运算符 | ||||||
+ | - | * | / | % | ++ | -- |
加 | 减 | 乘 | 除 | 取余 | 自增,在原来的基础上加1 | 自减,在原来的基础上减1 |
(2)赋值运算符
赋值运算符 | |||||
= | += | -= | *= | /= | %= |
赋值 | 加等于 | 减等于 | 乘等于 | 除等于 | 模等于 |
(3)比较运算符
比较运算符 | ||||
> | < | >= | <= | != |
大于 | 小于 | 大于等于 | 小于等于 | 不等于 |
== | 等于 | 比较数值是否相同,会产生隐式转换 | ||
=== | 全等于 | 比较数值与类型 | ||
!== | 不全等于 | 特殊比较:undefined!==null |
(4)逻辑运算符
逻辑运算符 | ||
&& | 逻辑与 | 关联的两个条件都是true,结果是true |
|| | 逻辑或 | 关联的两个条件有一个是true,结果是true |
! | 逻辑非 | 取反 |
(5)位运算符
十进制: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
二进制: | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 |
2进制转为10进制:1100→0*20+0*21+1*22+1*23=0+0+4+8=12 10进制转为2进制:20→ 20-24=22 →10100 |
& | 按位与 | 上下两位比较,都是1结果是1,否则是0 |
| | 按位或 | 上下两位比较,含有1结果是1,否则是0 |
^ | 按位异或 | 上下两位比较,不同是1,否则是0 |
>> | 按位右移 | 按位右移,删除最后的位数;每移动1位除以2,如果是小数取整 |
<< | 按位左移 | 按位左移,在末尾补0;每移动1位,在原来基础上乘以2 |
(6)单目运算符
单目运算符 | ||
~5 | 1++ | !a |
按位非 | 自增 | 逻辑取反 |
(7)三目运算符
三目运算符 | 由两个运算符连接了三个表达式 | 条件表达式 ? 表达式1 : 表达式2 |
8. =和==的区别
=是赋值运算,==判断值是否相等
例如:
a=b 就是把b的值赋予给a;
a==b 就是判断a等于b
9. i++和++i的区别
如果有表达式 a = i++ 它等价于 a = i ; i = i + 1;
如果有表达式 a = ++i 它等价于 i = i + 1; a = i;
两者的区别是:前者是先赋值,然后再自增;后者是先自增,后赋值
10. +运算符操作数值, 字符, 字符串的区别是什么
操作数值作加法算术运算
操作字符和字符串作连接作用
11.&和&&的区别
相同点:&和&&都可以用作逻辑与的运算符,表示逻辑与(and)。
不同点:
(1)&&具有短路的功能,而&不具备短路功能。
(2)当&运算符两边的表达式的结果都为true时,整个运算结果才为true。而&&运算符第一个表达式为false时,则结果为false,不再计算第二个表达式。
(3)&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如:0x31 & 0x0f的结果为0x01。
12.|和||的区别
单 | 时,左边无论真假,右边都进行运算;
双 || 时,如果左边为假,右边参与运算,如果左边为真,那么右边不参与运算
13. &可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么
逻辑运算符&:当&两侧的值都为真时,结果才为真,
例如:
int i = 2,j = 4;则(++i=2)&(j++=4)的结果为false:
先判断++i=2是否成立,结果不成立(false),程序会继续判断下一个表达式是否成立,j++=4,该表达式成立。但是&逻辑运算符要求两侧的值都为真时,结果才为真。
位运算符&(按位与):如果相对应位都是1,则结果为1,否则为0;
例如:假设整数变量A的值为60和变量B的值为13。即A = 0011 1100
B = 0000 1101。
则(A&B),得到12,即0000 1100。
14. |可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么
|(逻辑或):左边的表达式为true的时候,程序还是会执行右边的表达式,再得出true结果。
|(按位或):一真全真,同假为假。(0&0=0;0&1=1; 1&0=1;1&1=1)
15. 什么是原码、反码、补码
原码:将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。
反码:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反,则得到这个数字的反码表示形式。
补码:如果是正数,则表示方法和原码一样;如果是负数,则将数字的反码加上1(相当于将原码数值位取反然后在最低位加1)。
正数原码反码补码是一样的
5
原码:00000101
反码:00000101
补码:00000101
-5
原码:10000101
反码:11111010 反码=原码取反(除符号位)
补码:11111011 补码=反码+1
16. 图解3&5的运算过程和结果
00000011
00000101
00000001
3&5=1
17.图解3|5的运算过程和结果
00000011
00000101
00000111
3|5=7
18. 图解~5的运算过程和结果
按位取反00000101
~5 = 11111010 补码
11111001 反码
10000110 原码
~5=-6
19.图解3^5的运算过程和结果
00000011
00000101
00000110
3^5=6
20.图解8<<2的运算过程和结果
8*4
高位舍弃 -- 低位以0填充
00001000
00100000
8<<2=32
21.图解8>>2的运算过程和结果
8/4
有符号右移,正数最高位补0,负数最高位补1
高位以0填充 -- 低位舍弃
00001000
00000010
8>>2=2
22.图解~5和~-5的运算过程和结果
5:00000101
~5=-6
-5
原码:10000101
反码:11111010 反码=原码取反(除符号位)
补码:11111011 补码=反码+1
按位非运算 ~-5
00000100 补码
00000100 反码
00000100 原码
~-5=4
23. 说说运算符的优先级, 以及如何改变优先级
各种运算符间的优先级如下:数值运算符、字符串运算符、关系运算符、逻辑运算符逻辑运算符逻辑运算符。可以用括号改变优先级顺序,使得括号内的运算优先于括号外的运算。
24. 什么是单目(一元), 双目(二元), 三目(三元)运算符
单目: 运算符只对一个操作数进行运算
~5 按位非
i++ 自增
!a 逻辑取反
双目: 运算符对两个操作数进行运算
3 + 4
5-2
6*7
8/2
10%3
a > b...........
三目: 运算符对三个操作数进行运算
?:
int a = 10
char b = a++ > 10 ? 'A': 'B'
打印a
打印b
有四个运算符
运算顺序:1.> 2.a++ 3.? 4.=
打印a=11,打印b=B