常量:
* C:字面值常量的分类
* 字符串常量 用双引号括起来的内容
* 整数常量 所有整数
* 小数常量 所有小数
* 字符常量 用单引号括起来的内容,里面只能放单个 数字,单个字母或单个符号
* 布尔常量 较为特殊,只有true和false
* 空常量 null(数组部分讲解)
不同进制的表现形式:
二进制:0b开头
八进制:0开头
十六进制:0x开头
转换:
转十进制:* 结果:把系数*基数的权次幂相加即可。
转其他进制:* 除积倒取余
* 面向对象部分讲解
* C:基本数据类型分类(4类8种)
* 整数型
* byte 占一个字节 -128到127
* short 占两个字 -2^15~2^15-1
* int 占四个字节 -2^31~2^31-1
* long 占八个字节 -2^63~2^63-1
* 浮点型
* float 占四个字节 -3.403E38~3.403E38 单精度
* double 占八个字节-1.798E308~1.798E308 双精度
* 字符型
* char 占两个字节 0~65535
* 布尔型
* boolean
* boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小 定义float 和 long时要在后面加f 或 l
强制转换的格式:
byte x = (byte)(int+int)
算数运算符有
* +,-,*,/,%,++,--
赋值运算符:
+=,-=,*=,/=,%=
关系运算符有
* ==,!=,>,>=,<,<=
面试题:
面试题1
* byte b = 10;
* b++;
* b = b + 1;
* 问哪句会报错,为什么
因为1是int类型,和b相加b会自动提升为int类型,结果就是int类型
不能赋值给byte类型的b
面试题2:
* 请自己实现两个整数变量的交换(不用第三方变量)
第一种:
x = x + y;
y = x - y;
x = x - y
第二种:
x = x ^ y;
y = x ^ y;
x = x ^ y;
第三种:
int z = x;
x = y;
y = z; |
|