十进制、二进制、八进制、十六进制
2. 如何将10进制转换为2进制数据
除2取余,逆序排列
这个自然不用多说。本人日常口算习惯:32 16 8 4 21 比如55=32+16+4+2+1,则(11 0111)
3. 位、字节、字符的概念及其计数范围?
位:计算机存储信息的基本单位,代表一个二进制数位,
计数范围:0或1
字节:8个连续的二进制位为一个字节,可以存放1个西文字符的编码
计数范围:-128~127
字符:单引号用来表示字符常量,例如 ‘A’,‘张’
计算范围:0-65535之间的编码
4. 标识符的作用是什么?
java标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的
5. 这个标识符合法吗? int aaa@bbb = 33;
不合法
1>标识符由大小写字母, 下划线, 数字, $符号组成.
2>开头可以是大小写字母, 下划线,和$符号.(数字不能开头)
3>标识符长度没有限制
4>标识符不能是关键字和保留字
标识符的命名最好能反映出其作用 ,java语言对字母的大小写有严格的要求.所有自定义标识符需全部遵循标识符的命名规范.
6. 标识符能不能使用汉字开头?为什么?
可以,字母的含义包括:英文、汉字等(不建议大家使用汉字来定义标识符)
标识符所指的字母:是广义的字母,Unicode字符集,所以用中文也不会报错
7. Java中有没有goto语句?有没有goto关键字?
java中没有goto语句,有goto关键字
goto这个词是C语言中的,goto语句通常与条件语句配合使用,可用来实现条件转移, 构成循环,跳出循环体等功能。而在结构化程序语言中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。但是在java语言中,goto这个词只是作为了保留字,还没有使用。那是因为java语言讲究简单,方便。
8. byte,short,int,long类型,分别占用几个字节?表数范围多大?
byte:1个字节 -128~127
short:2个字节 -215~215-1【-32768`32767】
int:4个字节 -231~231-1【-3.423E38~3.423E38】
long:8个字节 -263~263-1【-1.798E308~1.798E308】
9. 整型常数默认是什么类型?
int类型
10. float,double分别占用几个字节?
float:4个字节
double:8个字节
11. 如何用科学计数法表示3.14?
314E-2
12. 浮点常量默认是什么类型?
double类型
13. 如下写法哪些是不对的:
a. byte b = 30;
b. byte c = 500;
c. long d = 2343223;
d. float f = 3.14;
b:不对,超出了byte的范围
d:不对,缺少f,应该写为3.14f或3.14F
14. 浮点数能用于比较吗?下面可能打印什么结果:
float d1 = 423432423f; float d2 = d1+1; if(d1==d2 ){ System.out.println("d1==d2"); }else{ System.out.println("d1!=d2"); } |
打印结果为: d1 == d2
float类型的数据在内存中的存储形式为科学计数法, 且有效位数为7位, 则d1为4.2343242E8, d2用科学计数法表示同样为4.2343242E8, 因此d1 == d2
(float类型最大值为4.23432416E8)
15. 字符型变量几个字节? 这种写法对不? char c = "d";
字符型变量占2个字节
写法不对,应该为char c=‘d’;
16. 布尔型变量占用空间是一位还是一个字节?
布尔型变量占一位(默认值为false)
17. 这种写法好不好? if(b==true)
不好,应写为if(b)
18. 常量的声明使用哪个关键字?
常量的声明使用的关键字是final
19. 常量的命名规范是?
全部由大写字母组成,单词间通过下划线来界定
20. 解释一下,驼峰原则?
当变量或函数名称需要多个英文单词组成时,首字母以小写开头,每个单词首字母大写(第一个单词除外)
是变量以及函数的命名原则,比如变量username要写作userName。当变量或函数名称需要由多个英文单词组成时,每个英文单词的首字母要大写,但第一个单词的首字母可大写,也可以不大写。这样一个变量或函数名看起来就像驼峰一样起起伏伏,可以提高代码的可读性
21. 使用Scanner接收键盘输入,是否一定要加import Java.util.*; ?
需要导包
也可以写为import java.util.Scanner;
22. 类名的命名规则是? 方法名、变量名的命名规则是否一致? 常量的命名规则是?
类的命名规则:每个英文单词的首字母都大写
方法名、变量名的命名规则:第一个单词首字母小写,从第二个单词后,每个单词的首字母大写
常量的命名规则:字母全部大写
23. 引用类型是占用几个字节?
引用数据类型占4个字节,用于存储对象的引用
24. 算术运算符中类型提升是怎么回事? a+b返回什么类型? int a=3; long b=3;
类型提升指的是自动类型转换
a+b返回的是long类型
类型转换:(1)赋值:
自动转换:byteb=10;
Int n=b;
强制转换:intn=10;
Byte b=(byte)n;
(2)算术运算:数据类型提升;
25. i++和++i的异同之处
i++;
相同:都是变量i自增1
i++与++i作为一条单独语句使用时, 没有区别
不同:i++是先使用i的值进行其他运算,然后再自增1
++i是先自增1,然后再使用i的值进行其他运算
Y=3+i++;
不能,
应该写为a>1&&a<3
27. 逻辑运算符|、&、!、^的含义及其运算规则?
| 或: 只要有一个为true,则直接返回true
& 与: 只要有一个为false,则直接返回false
! 非: 如果为true,则返回false,如果为false,则返回true
^ 异或: 如果两个操作数相同,则返回false,如果两个操作数不同,则返回true
28. 运算符||和|的异同之处
&& &
相同:
|| 与 | 都是逻辑运算符, 运算规则都为只要有一个为true,则直接返回true
不同:
|| 短路或 : 从左到右计算,如果符号左边的操作数为true,则不会继续计算,直接返回 true; 如果符号左边的操作数为false,则需要继续计算
| 逻辑或:操作数左右两边的操作数都需要计算,不会发生短路
|| 只是逻辑运算符
| 还可以是位运算符中的按位或符号
29. 5*4最快的运算方式是?
位运算5<<2
30. 这两个表达式分别返回什么结果? ((1<3)?"a":"b")+3+4, x=-2; x > 0 ? 1 : (x == 0? 0 : -1)
“a”+3+4=”a34”;
‘a’+3+4=104;
((1<3)?"a":"b")+3+4 返回结果为a34
x=-2; x> 0 ? 1 : (x == 0 ? 0 : -1) 返回结果为-1
x>0?1:-1
31. 什么情况下,加号会变成字符串连接符?
“+”号左右一个为String类型时,则变成字符连接符
32. 4&5,4|5的结果分别是多少? 4&&5这个操作可行吗?为什么?
4&5的结果为4
4|5的结果为5
4&&5这个操作不可行,因为&&左右要求为boolean类型表达式
4&5
True&false:根据左右操作数的不同
4&&5:不能,
33. int能否自动转换成byte,short,char? 是否有一定条件才能转换?
不能
需要强制类型转换
34. long能自动转换成int吗?long能自动转换成float吗?
Long不能自动转成int
long可以自动转成float
float:4 long:8:float的表数范围比long大;
35. 自动类型转换中,容量小和容量大指的是什么意思?
容量大小指的是不同数据类型的存储数据的范围
36. 强制类型转换中,是否可能发生数据丢失?
可能发生数据丢失
Int n=10;
Byte b=(byte)n;
37. 布尔类型能否自动转换为int? 如果不能,简述理由。
不能
因为类型不匹配
38. 下面两种写法,哪个较好:
a.70L*60*24*365*70*20
b.70*60*24*365*70*20L
第一种写法好;
第二种表达式的前半部分70*60*24*365*70的乘积有可能会超过int的取值范围, 导致精度损失