JavaSE-Java基本语法

章节练习题及面试题
简答题
标识符的命名规则需要注意哪几点?

  1. 由26个英文字母大小写,0-9 ,_或 $ 组成
  2. 数字不可以开头。
  3. 不可以使用关键字和保留字,但能包含关键字和保留字。
  4. Java中严格区分大小写,长度无限制。
  5. 标识符不能包含空格。
    基本数据类型有哪几类?包含String吗?
    基本数据类型
    数值型
    整数类型(byte1、short2、int4、long8)
    浮点类型(float4、double8)
    字符型(char2)
    布尔型(boolean编译之后用int定义,所以应该是4个字节)
    引用数据类型
    类(class)
    接口(interface)
    数组(【】)
    float表示的数据范围为什么比long的范围要大
    float类型数字在计算机中用4个字节存储。遵循IEEE-754格式标准: 一个浮点数有2部分组成:底数m和指数e

底数部分:使用二进制数来表示此浮点数的实际值
指数部分:占用8bit的二进制数,可表示数值范围为0-255

但是指数可正可负,所以,IEEE规定,此处算出的次方必须减去127才是真正的指数。所以,float类型的指数可从-126到128。

底数部分实际是占用24bit的一个值,但是最高位始终为1,所以,最高位省去不存储,在存储中占23bit 科学计数法。

格式:
SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
S表示浮点数正负
E指数加上127后的值得二进制数据 M底数
写出基本数据类型自动转化的流程图

自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容 量大小排序为:

(char byte short) < int < long < float < double
当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类 型的值将自动转化为字符串(String)类型。
整型默认的是什么类型,浮点型(实数型)默认的是什么类型?
整数int,浮点型float
对于包名,类名接口名,变量名和函数名,常量名我们习惯如何格式来命名?
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
定义一个变量需要注意什么?
Java中每个变量必须先声明,后使用
使用变量名来访问这块区域的数据
变量的作用域:其定义所在的一对{ }内
变量只有在其作用域内才有效
同一个作用域内,不能定义重名的变量

switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答案一:switch可以作用在byte上,不能作用在long上,JDK1.7之后可以作用在String上。
答案二:switch支持的类型byte,short,int,char,JDK1.5之后支持枚举,JDK1.7之后支持String类型。

强制类型转化可能出现的问题
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使 用时要加上强制转换符:(),但可能造成精度降低或溢出,格外要注意。
通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可 以实现把字符串转换成基本类型。
char型变量中能不能存贮一个中文汉字?为什么?
答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,
所以放一个中文是没问题的

定义float f=3.4;是否正确?
答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4

根据位运算符的功能,我们把位运算符分成哪几类?
运算符 运算 范例
<< 左移 3 << 2 = 12 --> 322=12

右移 3 >> 1 = 1 --> 3/2=1

无符号右移 3 >>> 1 = 1 --> 3/2=1
& 与运算 6 & 3 = 2
| 或运算 6 | 3 = 7
^ 异或运算 6 ^ 3 = 5
~ 取反运算 ~6 = -7
Java有没有goto
答:java中的保留字,现在没有在java中使用

用最有效的的方法算出2称以8等于几
答案:2<<3

char型变量中是否可以存储一个汉字?
能,因为Java一个字符是2个字节,每一个字符使用Unicode编码表示

float f=3.4;是否正确,表达式15/2*2的值是多少
答案:不正确,float f = 3.4F;
答案:14

以下代码的执行结果
public static void main(String[] args) {
int a = 8, b = 3;
System.out.println(a>>>b);
System.out.println(a>>>b | 2);
}
答案:
1
3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值