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. 变量的命名规则
驼峰命名法
大驼峰
小驼峰
连字符命名法
变量的命名规则如下: (1)变量名只d1字母、数字和下划线组成,其中不能有小数点和空格。(2)变量名不能与VB的保留字相同,也不要与过程名和符号常星名相同。.(3)变量名必须以字母开头,其字符个数不得超过255个。 (4)变量名不区分大小写。
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
小驼峰法变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
常用于函数名。
大驼峰法相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,属性,命名空间等。譬如
public class DataBaseUser;
7运算符表格
算术运算符:
8. =和==的区别
“=”是赋值运算符
表示让左边的值变成右边的,譬如x=3,就是让x的值为3。
“ == ”是等于运算符
表示判断左右是否相等,譬如if(x==3)x=4;意思是如果x的值等于3,那么就让x等于4。
9. i++和++i的区别
i++和++i命令的区别有:赋值顺序不同. ++ i 是先加后赋值;i ++ 是先赋值后加
10. +运算符操作数值, 字符, 字符串的区别是什么
运算符+可以表示两种不同的含义,即字符串串联或数字加法。 根据定义 ,这是一个运算符重载。
+运算符对于数值来说就是正常的相加减,如下图所示
+运算符在用于字符的时候是把他们对应的编号加在一起,如下图所示
而对与字符串而言,+是把他们拼接到一起,如下图所示
11. &和&&的区别
& 和 && 主要区别如下:
-
& 叫做按位与,& 直接操作整数基本类型,而 && 不行。按位与运算符 “&” 是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位都为 1 时,结果位才为 1。参与运算的两个数均以补码出现。
例如, 0x31 & 0x0f 的结果为 0x01
-
&& 叫做短路与,&& 有短路效应,即:当第一个布尔运算为 false,第二个布尔运算不执行。而 & 运算符没有。
例如,对于 if (str != null && !str.equals (“”)) 表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException
如果将 && 改为 &,则会抛出 NullPointerException 异常。 If (x==33 & ++y>0) y 会增长, If (x==33 && ++y>0) 不会增长
12. |和||的区别
- | 当遇到类型为true的表达式时,程序还会继续向后走, 最后结果为true。
- || 当遇到类型为true的表达式时,程序不会向下走,但是最终结果还是true。
13. &可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么
&既是位运算符也是逻辑运算符,&的两侧可以是int,也可以是布尔,当&表达式是int时,要求先把运算符两侧的数转化为二进制,例如 12&5
将12转化为二进制为00001100,5转化为二进制是00000101,则按位与运算之后的结果为00000100(4)
另外,负数按补码形式参与按位或运算
14. |可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么
java中|可以作为逻辑运算符或,它与||最大的不同在于,|两侧的布尔表达式,程序先执行第一个表达式,但是无论第一个表达式是否为真,程序都会去执行第二个表达式。
15. 什么是原码、反码、补码
原码 :最高位符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。
反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。
补码:正数的补码与原码一致,负数的补码是该数的反码加1。
可以说,反码是原码要转换成补码的一个 过度。
16. 图解3&5的运算过程和结果
3
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
5
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
3&5=1
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
17. 图解3|5的运算过程和结果
3
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
5
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
3|5=7
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
18. 图解~5的运算过程和结果
5正数, 原码,反码,补码是一样的
原码:00000101
反码:00000101
补码:00000101
按位非运算 ~5=11111010
11111001
10000110
19. 图解3^5的运算过程和结果
20. 图解8<<2的运算过程和结果
21. 图解8>>2的运算过程和结果
22. 图解~5和~-5的运算过程和结果
22. >>和>>>的区别是什么
如何最快速计算 8 * 4
如何最快速计算 8 / 4
>> 有符号右移,正数高位补0,负数高位补1
>>>无符号右移,无论正负,高位补0
如何快速运算8*4 和8/4
把8先转成二进制数,进行左移即可计算8*4,进行右移可计算8/4
23. 说说运算符的优先级, 以及如何改变优先级
添加括号可改变优先级
24. 什么是单目(一元), 双目(二元), 三目(三元)运算符
单目: 运算符只对一个操作数进行运算
~5 按位非
i++ 自增
!a 逻辑取反
双目: 运算符对两个操作数进行运算
3 + 4
5-2
6*7
8/2
10%3
a > b...........
三目: 运算符对三个操作数进行运算
?:
操作数1?操作数2:操作数3
操作数1必须是boolean类型,或者是一个表达式,运算结果是你、boolean类型结果即可
操作数2和操作数3的类型必须一样
操作数1位true,则操作数2是整个表达式的运算结果
操作数1位false,则操作数3是整个表达式的运算结果
25. 说说第二行代码中有几个运算符和运算顺序
int a = 10
char b = a++ > 10 ? 'A': 'B'
打印a
打印b
有四个运算符,分别是: 赋值运算符:= ;算术运算符:++;比较运算符:> ;三目运算符:?:
先后顺序是:1.> 2.++ 3.?:4.= ,即比较运算符,到算术运算符,到三目运算符,最后到赋值运算符。



