JAVASE 数据类型与运算符

数据类型
JAVASE 数据类型与运算符_第1张图片
具体说一下基本数据类型
整数型开始说
byte b=10;-------->byte1个字节
short s=10;-------->short2个字节
int i=10;----------->int4个字节
long a=10L;------->long8个字节
然后说浮点型
float f=12.5f;------>float4个字节
double a=1.1;----->double8个字节
字符型
char ch='a';------->char2个字节
布尔型
boolean flg=true;
boolean flg=false;
这里用int来举例看如何算类型的范围:
4个字节的范围--->    -2^31--->2^31-1(4*8=32,32-1=31,1是符号位)
其他整数型都以此类推
浮点型: float与double的范围和精度 - Brad Miller - 博客园
基本数据类型都有包装类:
int-->Integer
char-->Character
其余基本数据类型是首字母大写
说完基本数据类型,浅说一下 引用类型
字符串类型
String str="hello";
其他类型和字符串进行"+"拼接,结果是一个字符串~

变量域
(注意 变量的命名:数字/字母/下划线/美元符号组成的,不能以数字开头)
1.成员变量
(1)普通成员变量
(2)静态成员变量
JAVASE 数据类型与运算符_第2张图片
2.局部变量(要初始化!!)
变量是在程序运行的时候才能知道里面的值是几
常量
1.字面值常量
2.final修饰的变量
常量是在程序编译的时候就已经知道里面的值是几

类型转换
1.不同数字类型的变量之间赋值,范围小的可转化为范围大的
比如:int-->long
       int--->double
但是!! int和boolean类型不能互相赋值
2.如需把范围大的类型赋值给范围小的,需强制转换,但可能精度丢失
3.字节<4的类型运算时,会自动提升为int类型
比如:byte a=1;
        byte b=2;
        byte c=a+b;//这是会报错,因为byte运算时被提升为int了,int比byte大,放不进去
可以改为byte c=(byte)(a+b);
4.不同类型进行运算时,会把小类型提升为大类型,再和大类型进行运算
比如:int a=10;
        long b=20;
        int p=a+b;//这时候会报错,因为a的int上升为long类型了,但是p还是int类型,long放不进int中
5.int类型和String类型进行互换
JAVASE 数据类型与运算符_第3张图片

运算符
算术运算符  +,-,*,/,%
1.0不能作为除数
2.%不仅可以对int求模,也可对double求模
增量赋值运算符 +=,-=,*=,/=,%=
增量赋值运算符进行运算时,会自动进行强制类型转换
比如:short s=10;
        s+=9;
自增自减运算符 ++,--
关系运算符 ==,!=,<,>,<=,>=
使用关系运算符的结果是一个布尔值
逻辑运算符 &&(逻辑与),||(逻辑或),!(逻辑非)
JAVASE 数据类型与运算符_第4张图片
位运算符 &,|,~,^
按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0
按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1
注意: 当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑运算.
按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1,0异或任何数字为数字自身
移位运算符 <<(左移),>>(右移),>>>(无符号右移)
JAVASE 数据类型与运算符_第5张图片
条件运算符   布尔表达式1?表达式2:表达式3
表达式1为真,返回表达式2;为假,返回表达式3

转义字符
JAVASE 数据类型与运算符_第6张图片

你可能感兴趣的:(JAVASE,linq,gnu,蓝桥杯)