JAVA笔记2.0
一、变量与基础数据类型
变量
变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,因此得名为"变量"。
按所属的数据类型划分:
- 基本数据类型变量
- 引用数据类型变量
按被声明的位置划分:
- 局部变量:方法或语句块内部定义的变量
- 成员变量:方法外部、类的内部定义的变量
基本数据类型:
类型 | 占用内存 | 值范围(含边界值) | 默认值 |
---|---|---|---|
整数型(int) | 4 字节 | -2 147 483 648 ~ 2 147 483 647(稍大于 20 亿) | 0 |
短整数型(short) | 4 字节 | -32 768 ~ 32 767 | 0 |
长整数型(long) | 8 字节 | -9 223 372 036 854 775 808L ~ 9 223 372 036 854 775 807L | 0 |
字节型(byte) | 1 字节 | -128 ~ 127 | 0 |
浮点型(float) | 4 字节 | -3.40292347E+38-3.40292347E+38 | 0.0f |
双 精 度 型(double) | 8 字节 | -1.79769313486231570E+308-1.79769313486231570E+308 | 0.0d |
布尔型(boolean) | 1 字节 | true 或 false | false |
字符型(char) | 2 字节 | \u0000 - u\ffff | ‘\u0000 ’ |
基本数据类型部分变量定义注意事项:
1.float 定义
float a=10.2f;
2.long定义
long l=20000000000l;
3.字符型定义( 单引号赋值,只能有一个字。可以以转码形式进行运算: ++a,也可以强制转换)
char a='A';
基本数据类型转换注意事项:
1.自动转换:int(byte,short)->float->long->double
2.强制转换:int xxx1(变量名) =(byte) xxx2(变量名) ;
总结:
小类型转大类型,自动进行
大类型转小类型,注意精度丢失和数据溢出
二、运算符
算术运算符
操作符 | 描述 |
---|---|
+ | 加法 |
- | 减法 - 左操作数减去右操作数 |
* | 乘法 |
/ | 除法 - 左操作数除以右操作数 |
% | 取余 - 左操作数除以右操作数的余数 |
++ | 自增1,数值增加1 |
- - | 自减1,数值减少1 |
赋值运算符
操作符 | 描述 |
---|---|
= | 将右操作数的值 赋给 左侧 变量,例子:int a=1 |
+= | a+=1相当于a=a+1 |
-= | a-=1相当于a=a-1 |
*= | a*=1相当于a=a*1 |
/= | a/=2相当于a=a/2 |
%= | a%=3相当于a=a%3 |
比较运算符
运算符 | 描述 |
---|---|
== | 判断是否相等,相等则为true,否则为false |
!= | 判断是否 不相等,不相等则为true,否则为false |
> | 判断左侧的值 是否 大于 右侧的值,大于则为true,否则为false |
>= | 判断左侧的值 是否 大于等于 右侧的值,如果是则为true,否则为false |
< | 判断左侧的值 是否 小于 右侧的值,如果是则为true,否则为false |
<= | 判断左侧的值 是否 小于等于 右侧的值,如果是则为true,否则为false |
逻辑运算符
逻辑运算符用于对 boolean型结果的表达式进行运算,运算结果总是 boolean型。
操作符 | 描述 |
---|---|
& | 逻辑与,两侧都为true时,结果才为true;有一个为false,结果就为false |
| | 逻辑或,两侧有一个为true,结果就为true;两个都为false时,结果就为false |
^ | 异或,两侧不同为true,相同为false |
! | 逻辑非,取反,原本是true,取反就是false |
&& | 短路与,两侧都为true时,结果才为true;有一个为false,结果就为false |
|| | 短路或,两侧有一个为true,结果就为true;两个都为false时,结果就为false |
三目运算符
X ? Y : Z
X 为 boolean 类型表达式,先计算 x 的值,若为 true,整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
例:
int score = 75;
String type = score >=60 ? “及格”
字符串连接运算符
String s=“He” + “llo”; 结果"Hello"
"+“除了可用于字符串相连接,也能将字符串与其它的数据类型相连成一个新的字符串。
如:String s=“x” + 123; 结果"x123”
操作符优先级
在运行过程中,计算机的各类运算符有先后的顺序称为操作符优先级,详细内容见下表。
优先次序 | 运算符 |
---|---|
1 | . [] () |
2 | ++ – ! ~ instanceof |
3 | new (type) |
4 | * / % |
5 | + - 6 >> >>> << |
7 | > < >= <= |
8 | = = != |
9 | & |
10 | ^ |
11 | | |
12 | && |
13 | || |
14 | ?: |
15 | = += -= *= /= %= ^= |
16 | &= |= <<= |
三、转义字符
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能
显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了
转义字符 | 意义 | ASCll码值(十进制) |
---|---|---|
\n | 换行,将当前位置移到下一行开头 | 010 |
\r | 回车 ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\\ | 代表一个反斜线字符’’’ | 092 |
\’ | 代表一个单引号(撇号)字符 | 039 |
\" | 代表一个双引号字符 | 034 |
四、常用的编码规范
Java 对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。
规则如下:
- 由字母、数字、下划线(_)和美元符号($)组成。
- 不能以数字开头。
- 区分大小。
- 长度无限制。
- 不能是 Java 中的保留关键字。
命名规范:
类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
变量名规范:全部小写