1.基本数据类型 Java语言内置的类型(8种)
布尔型:boolean true/false
这个类型的变量名字通常会以is或者has开头
字符型:统一采用Unicode编码保存 16个位 2个字节
char
char c1 = 'a';
char c2 = '中'; 字面值
char c3 = 97; ASCII
char c4 = '\u4e2d'; Unicode
char c5 = '\t'; 特殊转义字符
*:native2ascii
整数型:符号位1+数值位(n-1)
byte 8
short 16
int 32 *
long 64 L
int num1 = 23; //10 DEC
int num2 = 023; //8 OCT
int num3 = 0x23; //16 HEX
int num4 = 0b1011; //2 BIN
浮点型:符号位+幂指位+数值位
float 1+8+23 F/f
double 1+11+52 D/d *
*: float num = -5.75F;
double num = -5.75;
double num = 2.5E3;
2.引用类型 自定义类型 (无数种)
public class Rect{
}
jar cvf 00544.jar Rect.class
将Jar包的完整路径设置到环境变量CLASSPATH当中
而且务必保证.;开头
Java当中的运算符
+ - * / %
[+ 当加法遇见字符串的时候 不是要进行算数加法 而是要追加连接]
[* 当心数据边界 如果结果可能超过21亿 那么结尾必须加L 防止溢出]
[/ 整数除以整数结果一定为整数 0.0 Inifinity NaN]
[% 最终结果的符号位取决于参与运算的第一个数字]
+= -= *= /= %=
[自动保持运算符左侧数据类型不发生任何变化!]
++ --
[a.运算 b.取值 i++=>ba ++i=>ab]
> < >= <= == != =
[==判断左右两端是否相等 返回true或false]
[=赋值运算符 要将右侧的值交给左侧变量保存]
&& || & |
[逻辑运算符]
[&& || 逻辑短路运算符 ]
[& | 逻辑非短路运算符]
& | ^ ~ [这组运算符很能体现程序员的价值]
[& 在某些情况下 &可以代替%来求余数 而且更高效]
[x%y y是2的n次方数 那么将直接可以使用 x&(y-1)]
[& 在哈希表这种数据结构当中也有极为重要的作用]
[更高效的得出散列到哪个小组]
[Java当中的各个修饰符 也要利用&来实现]
[按位运算符在权限控制模块当中的应用 & | ~]
[^ 能够在不使用第三块空间的情况下 交换两个变量的值]
int x = 35;
int y = 97;
x = x ^ y;
y = x ^ y;
x = x ^ y;
*:这是一个年糕 后面要用的!学数组冒泡排序的时候 能让大家出彩!
>> << >>> 位移运算符
[<<相当于* >>相当于/ 移动多少位 相当于*或者/2的多少次方]
[*2 *4 *8 /2 /4 /8]
[<<1 <<2 <<3 >>1 >>2 >>3]
>>> 无符号右移
101111111111111110100111110111100000 >>1
111101111111111111110100111110111100
那得看用的是>>还是>>>
如果使用的是>> 有符号右移 言外之意 移动之后空缺的高位
无论多少个高位 都参照原本的符号位 符号位是几写几
如果使用的是>>> 无符号右移 移动之后空缺的高位 不加判断 全部写0
布尔型:boolean true/false
这个类型的变量名字通常会以is或者has开头
字符型:统一采用Unicode编码保存 16个位 2个字节
char
char c1 = 'a';
char c2 = '中'; 字面值
char c3 = 97; ASCII
char c4 = '\u4e2d'; Unicode
char c5 = '\t'; 特殊转义字符
*:native2ascii
整数型:符号位1+数值位(n-1)
byte 8
short 16
int 32 *
long 64 L
int num1 = 23; //10 DEC
int num2 = 023; //8 OCT
int num3 = 0x23; //16 HEX
int num4 = 0b1011; //2 BIN
浮点型:符号位+幂指位+数值位
float 1+8+23 F/f
double 1+11+52 D/d *
*: float num = -5.75F;
double num = -5.75;
double num = 2.5E3;
2.引用类型 自定义类型 (无数种)
public class Rect{
}
jar cvf 00544.jar Rect.class
将Jar包的完整路径设置到环境变量CLASSPATH当中
而且务必保证.;开头
Java当中的运算符
+ - * / %
[+ 当加法遇见字符串的时候 不是要进行算数加法 而是要追加连接]
[* 当心数据边界 如果结果可能超过21亿 那么结尾必须加L 防止溢出]
[/ 整数除以整数结果一定为整数 0.0 Inifinity NaN]
[% 最终结果的符号位取决于参与运算的第一个数字]
+= -= *= /= %=
[自动保持运算符左侧数据类型不发生任何变化!]
++ --
[a.运算 b.取值 i++=>ba ++i=>ab]
> < >= <= == != =
[==判断左右两端是否相等 返回true或false]
[=赋值运算符 要将右侧的值交给左侧变量保存]
&& || & |
[逻辑运算符]
[&& || 逻辑短路运算符 ]
[& | 逻辑非短路运算符]
& | ^ ~ [这组运算符很能体现程序员的价值]
[& 在某些情况下 &可以代替%来求余数 而且更高效]
[x%y y是2的n次方数 那么将直接可以使用 x&(y-1)]
[& 在哈希表这种数据结构当中也有极为重要的作用]
[更高效的得出散列到哪个小组]
[Java当中的各个修饰符 也要利用&来实现]
[按位运算符在权限控制模块当中的应用 & | ~]
[^ 能够在不使用第三块空间的情况下 交换两个变量的值]
int x = 35;
int y = 97;
x = x ^ y;
y = x ^ y;
x = x ^ y;
*:这是一个年糕 后面要用的!学数组冒泡排序的时候 能让大家出彩!
>> << >>> 位移运算符
[<<相当于* >>相当于/ 移动多少位 相当于*或者/2的多少次方]
[*2 *4 *8 /2 /4 /8]
[<<1 <<2 <<3 >>1 >>2 >>3]
>>> 无符号右移
101111111111111110100111110111100000 >>1
111101111111111111110100111110111100
那得看用的是>>还是>>>
如果使用的是>> 有符号右移 言外之意 移动之后空缺的高位
无论多少个高位 都参照原本的符号位 符号位是几写几
如果使用的是>>> 无符号右移 移动之后空缺的高位 不加判断 全部写0