数据类型扩展及面试题讲解
1.数据类型扩展
1.1进制(整数扩展)
进制 | 字母表示 |
---|---|
二进制 | 0b |
十进制 | |
八进制 | 0 |
十六进制 | 0x |
例子:
int i2 = 010;//输出8
int i3 = 0x10;//输出16
1.2浮点数扩展
举例:银行业务怎么表示;
BigDecimal数学工具类,用于银行业务;
float 有限,离散,舍入误差 ,大约 接近但不等于
1.3字符扩展
在这里插入图片描述
2.变量;常量;作用域
2.1 变量
2.2 常量(constant)
- 初始化后值不能变动
- 常量名一般用大写字母
- 例子:final double PI = 3.14;
2.3 作用域
3.运算符
4、代码
package com.Macong.base;
public class Demo04 {
/*
变量
作用域
常量
*/
//===========================================================
//实例变量:从属于对象。比如学生类
//如果不自行初始化,这个类型默认为0
//布尔值默认为:false;
//除了基本类型其他都为null
String name;
int age;
char sex;
//==============================================================
//类变量 static
static double salary = 2500;
//常量一般用大小字母来表示
final double PI =3.14;
//main方法
public static void main(String[] args) {
//局部变量;必须声明和初始化
int i = 10;
Demo04 demo04 = new Demo04();
demo04.name = "聪";
System.out.println(demo04.age);
System.out.println(demo04.name);
System.out.println("局部变量i:"+i);
System.out.println("salary:"+salary);
}
//其他方法
public void add()
{
}
}
5、运算符与位运算
package com.Macong.operator;
/*
1.逻辑运算
2.位运算
*/
public class Demo04 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a&&b-----:" + (a && b));//逻辑与运算,都为true,结果为true
System.out.println("a||b-----:" + (a || b));//逻辑或运算,一个为true,结果为true
System.out.println("!(a&&b)----:" + !(a && b));//进行取反操作
//短路试验
int c = 5;
boolean d = (c > 4) && (c++ >= 5);//这里的c++ >=5 ,是用c>=5,然后再执行c=c+1;
System.out.println(d);
System.out.println(c);
//位运算
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0010 相同位0,不同为1,亦或运算
~A 取反运算
2*8=16 2*2*2*2
左移动3位。
<< 左移;相当于*2
>> 右移;相当于/2
0000 0000 ---0
0000 0001 ---1
0000 0010 ---2
0000 0011 ---3
0000 0100 ---4
0000 1000 ---8
0001 0000 ---16
*/
System.out.println(2>>1);
}
}
6、/* 1.+= 2.字符串连接符 +,string 3.三元运算符 */
package com.Macong.operator; /* 1.+= 2.字符串连接符 +,string 3.三元运算符 */
public class Demo05 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a -= b;/*a = a + b*/
System.out.println(a);
a += b;/* a = a - b*/
System.out.println(a);
/* 字符串连接符 +,string*/
System.out.println("" + a + b);/*输出1020,前面字符串后面接的东西连接在一起*/
System.out.println(a + b + "");//输出30
// 三元运算符
//x?y:z
//如果x==true,则结果为y,否则结果为z
int s1 = 80;
String s3 = "Pass";
String s2 = "reject";
System.out.println((s1 >= 60) ? s3 : s2);
}
}
7、包机制
8、Doc
package com.Macong.base;
/**
* @author ma
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
/**
* @author ma
* @param name
* @return
*/
public String test(String name) {
return name;
}
}