标签:long 按位取反 运算 java语言 权重 字符编码 i++ 完成 不同
1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小?
Java语言中有8中基本类型,分别是代表整形的byte、short、int和long,代表浮点型的float和double,代表字符的char已经代表布尔型的boolean。
byte: 8位二进制,−27~27−1。
short: 16位二进制,−215~215−1。
int: 32位二进制,−231~231−1。
long: 64位二进制,−263~263−1。
float: 32位二进制,−3.4*1038~3.4*1038。
double: 64位二进制,−1.7*10308~1.7*10308。
char: 16位二进制,0~65535。
boolean: boolean类型比较特殊,因为只表示true和false,所以理论上只需要1个字节使用0和1即可表示。
2.什么是变量?
当需要在程序中记录单个数据内容时,使用一个变量来记录即可,而变量的本质就是在内存中申请一块存储区域,并且该区域中的数据内容可以发生改变,因此得名为变量。由于存储的数据内容不同导致所需的内存空间大小不同,在Java语言中使用数据类型的概念加以描述,并指定该区域一个变量名的概念来记录地址信息。
3.标识符(变量名)的命名规则?
Java中标识符由字母、数字、下划线以及美元符号组成,其中的数字不能开头,因为Java中可以使用数字字面量,如果使用数字开头编译器会误以为这是数字字面量而不是标识符。
Java中标识符不能与Java中的关键字相同,JavaSE 8包含了50个关键字,关键字就是Java语言中用于表示特殊含义的单词。
Java中标识符严格区分大小写。
Java中标识符的长度没有限制,但是不推荐使用过长的标识符。
Java中标识符支持中文,但是强烈不推荐使用中文。
4.单个字节(8位二进制)表示的十进制整数范围?
在计算机中单个字节占用8个二进制位,最高为代表符号为,表示正负数。
正整数的单个字节表示的二进制范围是:0000 0000~0111 1111。
使用加权法,让二进制的每个数字乘以当前位的权重,再将所有乘机累加在一起得到十进制数。
0000 0000 => 0
0111 1111 => 0*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20
=> 64 + 32 + 16 + 8 + 4 + 2 + 1
=> 127
负整数的单个字节表示的二进制范围是:1000 0000 ~ 1111 1111。
负二进制转十进制先将二进制数减1再按位取反,然后采用加权法合并为十进制整数,最后添加负号。
1000 0000 => 减1:0111 1111
=> 按位取反:1000 0000
=> 转换十进制:128
=> 添加负号:-128
1111 1111 => 减1:1111 1110
=> 按位取反:0000 0001
=> 转换十进制:1
=> 添加负号:−1
所以单个字节表示的十进制整数范围是:−128~127。
5.在Java语言中如何表示一个字符?在Java语言中如何表示一个中文字符?
在Java语言中,使用char类型表示一个字符,Java语言规范中,char占两个字节16个二进制位。char其实是一个无符号的整数类型,范围是0~65535,不过Java底层使用Unicode字符集支持世界上所有的字符,所以在Java中char类型被专门用来表示Unicode字符编码而不是整数。Unicode中包含了中文字符,所以在Java中也可以使用char表示一个中文字符。
6.什么是数据类型转换?数据类型转换有几种方式?
数据类型转换就是一种类型的数据转换成另一种类型的数据。在Java中数据类型之间的转换分为两类:
自动类型转换:自动类型转换是指数据从小范围到大范围之间的转换,不需要人为干涉便自动完成转换。
强制类型转换:强制类型转换是指数据从大范围到小范围之间的转换,需要在变量名前使用“(数据类型)”的方式进行强制类型转换。强制类型转换可能会造成数据的丢失。
7.前++/--和后++/--有什么区别?
+表示加法运算符,++表示自增运算符,++会让变量本身的值加1然后再赋值给该变量。++i/i++就等于i = i+1。
-表示减法运算符,--表示自减运算符,--会让变量本身的值减1然后再赋值给该变量。--i/i--就等于i = i-1。
前++/--或后++/--如果在表达式中出现,那么前++/--是先将变量值加1/减1然后再使用该变量,后++/--是先使用该变量,然后使该变量值加1/减1。如果单独使用前++/--或后++/--,它们使没有区别的。
&和&&在逻辑运算符中都表示逻辑与的意思,相当于“并且”,只有运算符两边的结果都为真,最终的结果才为真,如果其中有一个表达式的结果为假,那么整个表达式的结果就为假。使用&会计算两侧表达式的值,而使用&&时,如果左侧表达式的值已经可以决定整个表达式的值时(左侧表达式的结果为假时,那整个表达式的值就一定为假),就不会计算第二个表达式的值。
标签:long 按位取反 运算 java语言 权重 字符编码 i++ 完成 不同
原文地址:https://www.cnblogs.com/itxdl/p/11261968.html