day02
常量
指在程序运行过程中,其值不会发生改变的量
A:字符串常量 "hello"
B:整数常量 12,23
C:小数常量 12.345
D:字符常量 'a','A','0'
E:布尔常量 true,false
F:空常量 null
进制
在计算机中的所有数据无论是存储或者计算都是以二进制补码的形式进行的
A:二进制 由0,1组成。以0b开头。
B:八进制 由0,1,...7组成。以0开头。
C:十进制 由0,1,...9组成。整数默认是十进制。
D:十六进制 由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头
进制的转换
(1)其他进制到十进制
系数:就是每一个位上的数值
基数:x进制的基数就是x
权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
结果:系数*基数^权次幂之和。
例如:0252*8^1+5*8^0=21
(2)十进制到其他进制
除基取余,直到商为0,余数反转。
(3)进制转换的快速转换法
A:十进制和二进制间的转换
8421码。
B:二进制到八进制,十六进制的转换
变量
(1)在程序的执行过程中,其值在某个范围内可以发生改变的量
(2)变量的定义格式:
A:数据类型 变量名 = 初始化值;
Int x=0;
B:数据类型 变量名;
变量名 = 初始化值;
Int x;
X=0;
数据类型
Java语言是强类型的语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
数据类型分为基本数据类型和引用数据类型
基本数据类型分为
整数 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
引用数据类型分为
类 class
接口 interface
数组 arr[]
注意事项:整数默认的数据类型是int,小数默认的数据类型是double
数据类型的值从小到大:
Byte,short,charintlongfloatdouble
注意事项:long是8个字节,float是4个字节,long是整数型,float是浮点型,整数和浮点数存储规则不一样,float的范围大于long
自动类型转换(隐式转换)(值从小到大,不会出现丢失精度)
例如:byte b=5;
int x=1+b;
System.out.println(x);
强制类型转换(值从大到小,有可能会丢失精度)
例如:int x=5;
byte b=(byte)(x+1);
面试题
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
b=b1+b2会报错。虽然b1和b2是byte类型,但在b1+b2过程中提成为int类型,byte类型的b无法接收int类型
b=3+4不会报错。3和4都是常量,所以java在编译时期会检查该常量的和是否超出byte类型的范围。如果没有可以赋值
条件运算符(三目运算符)
格式:
条件表达式?表达式1:表达式2
执行流程:
根据条件表达式返回的是true还是false,决定结果是什么。
如果是true,就把表达式1作为结果。
如果是false,就把表达式2作为结果。
举例:
int a = 100;
int b = a > 50 ? 200 : 100;
请问b的值?200
面试题
(1)请用最有效率的代码写出2乘以8
2<<3
(2)请交换两个变量。
int a = 10;
int b = 20;
开发:临时变量
int temp = a;
a = b;
b = temp;
面试:位^运算符
a = a ^ b;
b = a ^ b;
a = a ^ b;
一个数据对同一个数据^两次,结果还是数据本身
|