JAVA基本数据类型面试题
整数方面题
1.JAVA都有哪几种进制, 他们的十分别怎么表示?
//基本数据类型的面试题
//1.都有哪几种进制, 他们的十分别怎么表示?
/**
* 答:2 8 10 16
* 8进制是0开头
* 16是0x开头
*/
int a = 010;//8进制
System.out.println("a = " + a); //a = 8
int a1 = 10;//十进制
System.out.println("a1 = " + a1);//a1 = 10
int a2 = 0x10;//十六进制
System.out.println("a2 = " + a2);//a2 = 16
- Java怎么用数字表示银行里面的钱?
/**
*浮点数和double进行数字运算, 会有精度丢失,因为小数多了,舍弃就会有精度差别
* 有一个BigDecimal类,专门用来计算数值, 原理是把数字变成字符串在运算
*/
float b = 0.1f;
double b1 = 1 / 10;//也等于0.1
//演示两个0.1 是否相等
System.out.println("b == b1嘛?>>>" + (b == b1));
//b == b1嘛?>>>false
//演示舍弃导致的精度丢失
float b3 = 123112312323f;
float b4 = b3 + 1;
System.out.println("b4 = b3 嘛?>>> " + (b3 == b4));
//b4 = b3 嘛?>>> true
字符方面题
所有字符的本质都是数字
有一张Unicode数字表, 每个数字都有对应的字符
字符的取值范围是多少? 大A小a对应的值是多少
/**
* 字符占2个字节 = 2*8=16位(bit)
*** 有一张Unicode数字表, 每个数字都有对应的字符**
* 如:97数字对应的字符=a
* 如:65数字对应的字符=A
*/
char aaa = 'a';
System.out.println("aaa = " + (int)aaa);
//aaa = 97
char bbb = 'A';
System.out.println("bbb = " + (int)bbb);
//bbb = 65
char ccc = '中';
System.out.println("ccc = " + (int)ccc);
//ccc = 20013
什么是转义符-拓展
就是让普通字符 附加特殊意义/作用的符号
public class test1 {
public static void main(String[] args) {
System.out.println("hello world");//hello world
//System.out.println("hello n world");
System.out.println("hello \n world");
System.out.println("hello \t world");
//n只是普通的n 加上\就是赋予了换行的作用
//字符t , 加上\就是赋值了 tab缩进的踪影
/**
* hello
* world
* hello world
*/
}
}
Boolean 的拓展
一眼就知道是不是新手
public class test1 {
public static void main(String[] args) {
boolean flag = true;
//新手写法
if (flag == true) { }
//熟手写法
if (flag){ }
}
}