# 一、转义字符
概念:讲一个字符的原始含义进行转换,使用 ""
常见:
1、 , 一个制表符
2、 , 一个换行符,表示换行
# 二、 数据类型
分类:
1、基本数据类型
2、引用数据类型
## 2.1 基本数据类型
四类八型 这八型都是关键字
### 2.1.1 整数类型(整形)
byte:
数据类型是8位、占1个字节,有符号的,以二进制补码表示的整数;
最小值是-128(-2^7);
最大值是127(2^7-1);
默认值是0;
byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有1个字节;
例子:byte a = 100,byte b = -50。
short:
数据类型是16位、有符号的以二进制补码表示的整数
最小值是-32768(-2^15);
最大值是32767(2^15 - 1);
Short数据类型也可以像byte那样节省空间。一个short变量占的空间是2个 字节;
默认值是0;
例子:short s = 1000,short r = -20000。
int:
数据类型是32位、有符号的以二进制补码表示的整数;
最小值是-2,147,483,648(-2^31);
最大值是2,147,485,647(2^31 - 1);
一般地整型变量默认为int类型,占4个字节;
默认值是0;
例子:int a = 100000, int b = -200000。
long:
数据类型是64位、有符号的以二进制补码表示的整数;
最小值是-9,223,372,036,854,775,808(-2^63);
最大值是9,223,372,036,854,775,807(2^63 -1);
这种类型主要使用在需要比较大整数的系统上,占8个字节;
默认值是0L;
例子: long a = 100000L,int b = -200000L。
### 2.1.2 浮点类型(浮点型)
float:
数据类型是单精度、32位、占用4个字节,符合IEEE 754标准的浮点数;
float在储存大型浮点数组的时候可节省内存空间;
默认值是0.0f;
浮点数不能用来表示精确的值,如货币;
例子:float f1 = 234.5f。
double:
数据类型是双精度、64位、占用8个字节,符合IEEE 754标准的浮点数;
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
默认值是0.0f;
例子:double d1 = 123.4。
### 2.1.3 布尔类型(布尔型)
boolean:
数据类型表示一位的信息;
只有两个取值:true和false;
这种类型只作为一种标志来记录true/false情况;
默认值是false;
例子:boolean one = true。
### 2.1.4 字符类型(字符型)
char:
类型是一个单一的16位Unicode字符,占2个字节,不能为空;
最小值是’u0000’(即为0);
最大值是’uffff’(即为65,535);
char数据类型可以储存任何字符;
例子:char letter = ‘A’,char s = '陆'
注意点:
1、String字符串不是基本数据类型
2、数据范围大小关系: byte-> short-> int-> long-> float-> double,变量赋值只能是范围大的往小的赋值
3、浮点数表示一个近似值
4、float类型接收小数,结尾必须写上“f”或者“F”
5、long类型数据 如果数据较大,要在结尾加上“L”
# 三、变量
概念:在合理范围内能够不断变化的数据
## 3.1 定义格式
1、 定义的同时赋值
数据类型 变量名 = 值
int i = 4;
变化:数据类型 变量名1 = 值1,变量名2 = 值2。。。。
int i = 3,j = 4,g = 5;
2、 先定义,后赋值
数据类型 变量名;
变量名 = 值;
int j;
j = 4;
注:
1、同一个代码段中,不能重复定义变量
2、变量不赋值不能使用(局部变量)
# 四、运算符
## 4.1 算数运算
+、-、*、/、%
除法:整数之间的除法可能会有精度流失
取余:取余运算结果的正负由被除数决定
-5 % 3 = -2
5 % -3 = 2
加法:
1、求和
2、字符串的拼接: 字符串数据与任何数据类型用+连接,都是进行拼接操作,结果仍然是一个字符串
3、字符类型和整数的相加: 会将字符类型有限转换成对应的十进制整数再与整数相加
ASCLL表:
0~9: 48~57
A~Z: 65~90
a~z: 97~122
++、--、就是在自身的基础上加一或者减一
注:-------------------------------------------------------------------------
1、++、--的位置,在自身单独操作时没有任何影响
2、进行复合操作时:前置:先自增(减),再执行其他操作
后置:先执别的操作再自增(减)
-------------------------------------------------------------------------------------
## 4.2 赋值运算
=、+=、-=、*=、/=、%=
=:赋值,将=右边的表达式运算完毕,赋值给等号左边的变量
+=:等于原始的值加上右边的值:i += 3等价于 i = i + 3
-=,*=,/=,%= 类似于+=的运算方式
注:常量不能被赋值
## 4.3 比较运算
比较运算的结果是布尔值
>,<,>=,<=,==,!=
==: 判断两数是否相等
!=:判断两数是否不等
## 4.4 逻辑运算
逻辑运算的结果也是布尔值
&:与,表达式的两边只要有false,结果就是false
|:或,表达式的两边只要有true,结果就是true
!:非,取反
^:异或,表达式两边,相同为假,不同为真
&&:与(双与),当表达式的左边为假时,结果为假,右边则不运行
||:或(双或),当表达式左边为真时,结果为真,右边不运行,当左边为假时才运行右边的表达式
## 4.5 三元运算
格式: 表达式1 ? 表达式2:表达式3
逻辑:表达式1为真时执行表达式2,否则执行表达式3
注:三元运算表达式的结果必须能够得到一个确切的值
---------------------------------------------
int i = 1;
int f = 2;
int h = 3;
int max = i>f?i:f;
int result = max>h?max:h;
System.out.println(result); |
---------------------------------------------
## 4.6 位运算
运算逻辑:
把左右表达式换成二进制数的每一位进行与、或、异或 运算
## 4.7 移位运算
逻辑:a<<b 就等于a乘以2的b次方
例如:3<<4=3*2^4=3*16=48