-
数据类型分为基本数据类型、引用数据类型。
1.1基本数据类型分为数值型、字符型和布尔型。
数值型分为 整形byte\short\int\long 默认值为0
浮点型float\double 默认值为0.0
字符型char占用内存空间两字节 默认值"\u000"占位符。
布尔类型 boolean只有两个值true和false,默认值为false
1.2引用数据类型
引用数据类型:数组、类、接口
int 类型和String类型互转
int—>String
//第一种字符串拼接
int num = 10;
String str = "" + 10;
//第二种使用String类的valueOf方法
String str1 = String.valueOf(num);
String —>int
//使用int的包装类Integer的parseInt()方法;
String str = "123";
int b = Integer.parseInt(str);
//String-->转化为int,字符串中只能为数字.
---
2.基本数据类型之间的互相转换:转换规则
2.1八种数据类型中除了boolean类型其他数据都可以互相转
2.1小容量向大容量转化,称为自动型转化,容量从小到大:
byte<short<int<long<float<double
char<
浮点型不管占多少字节都比整型容量大。
char和short可表示的种类数量相同,但char可以取更大的正整数
2.3大容量 转化为小容量,叫做强制类型转化,需要加强制类型转化符,程序才能编译通过,但是在运行阶段可能会损失精度。
2.4当整数数据没有超过byte,short,cahr,的取值范围,可以直接赋值给byte,short,char类型的变量。
2.5byte,short,char,混合运算时,各自数值转换为int型再进行运算。
2.6多种数据类型混合运算,先转化为最大的数据类型在做混合运算。
3.运算符
赋值运算符 " = "
将右边操作数的值赋给左边操作数的值。
int a = 100;
算术运算符
" + " 和 " - "还可以用作数据的正负符号;
增减运算符"++","—"
"++",自增,"—"自减;
int a = 10;
a++;
//输出11
a--;
//输出10
int b =0;
b += a;//b += a 等于 b = b + a;
b -= a;//等于 b = b - a;
b = a++;//等于 b = a;a++;
b = ++a;//等于 a++; b = a;
比较运算符
逻辑运算符
&&||短路与和短路或
a >b && b> c;
当a>b不成立时直接结束,不管后面的b是否大于c.同理用于||;
位运算符
按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.
按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0.
按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为1.
移位运算
左移 <<: 最左侧位不要了, 最右侧补 0.
右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)
无符号右移 >>>: 最右侧位不要了, 最左侧补 0.
- 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
- 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
- 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
- 移动负数位或者移位位数过大都没有意义.
三元运算符
条件式 ? 值1 : 值2 ,为true时取值1,为false时取值2