Java语言基础
Posted Sleepinglion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java语言基础相关的知识,希望对你有一定的参考价值。
Java语言基础
1. 注释、标识符、关键字
1.1 注释
1.1.1 单行注释
//
1.1.2 多行注释
/* ... */
1.1.3 文档注释
/**
*
*/
1.2 标识符
1.2.1 定义
在Java编程语言中,为了标识区分程序中的类、方法、变量、参数、包等源程序组成元素,在源程序中会给这些组成元素取合适的名字,我们称这些名字为标识符
1.2.2 命名规则:
- 标识符是由字母、下划线(_)、数字和美元符号($)组成
- 不能以数字开头
- 不能是关键字
- 不能是true、false、null
- 严格区分大小写。
- 类名、接口名、数组名:首字母大写,后面每个单词的首字母大写,遵循大驼峰命名规则。
- 变量名、方法名:首字母小写,后面每个单词的首字符大写,遵循小驼峰命名规则。
- 常量名:字母全部大写,单词之间用下划线(_)隔开。 final double PI = 3.14;MAX_VALUE
1.3 关键字
注意:若true、false和null为小写,IDE一般也对其高亮显示,但是严格地讲,它们不是关键字,而是字面常量,就像字面值100一样。
2. 基本数据类型
Java的八大基本数据类型
类型名/关键字 | 存储空间 | 取值范围 | 默认值 |
---|---|---|---|
byte | 1字节 | -128 ~ 127 | 0 |
short | 2字节 | -32768 ~ 32767 | 0 |
int | 4字节 | -2^31 ~ 2^31 - 1 | 0 |
long | 8字节 | -2^63 ~ 2^63 -1 | 0L |
float | 4字节 | - 3.4028235E ~ 3.4028235E + 38 | 0.0f |
double | 8字节 | ...... | 0.0 |
char | 2字节 | \'\\u0000 ~ \\uFFFF\' | \'\\u0000\' |
boolean | 1字节/1位 | true 或者 false | false |
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示。
1B(byte,字节) = 8bit(位)
字符:是指计算机中使用的字母、数字、字和符号。
1bit表示1位,
1Byte表示一个字节 1B = 8bit
1024B = 1KB
1024KB = 1M
1024M = 1G
电脑中的32位和64位有什么区别呢?
计算机32位、64位表示字长,就是运算器一次运算二进制数的位数,是计算机的重要性能指标。
2.1 整数类型:
- 二进制 以0b开头;
- 八进制 以0开头;
- 十六进制 以0x开头
2.2 字符型:
常用字符的编码值
字符 | 十进制ASCII码值 | Unicode值 |
---|---|---|
\'0\' ~ \'9\' | 48 ~ 57 | \\u0030 ~ \\u0039 |
\'A\' ~ \'Z\' | 65 ~ 90 | \\u0041 ~ \\u005A |
\'a\' ~ \'z\' | 97 ~122 | \\u0061 ~ \\u007A |
Unicode编码值范围:\'\\u0000\'到\'\\uFFFF\'。
2.3 常见的转义字符
转义字符 | 名称 | Unicode码 | 十进制值 |
---|---|---|---|
\\b | 退格 | \\u0008 | 8 |
\\t | 制表符 | \\u0009 | 9 |
\\n | 换行符 | \\u000A | 10 |
\\f | 换页符 | \\u000C | 12 |
\\r | 回车符 | \\u000D | 13 |
\\\\ | 反斜杠 | \\u005C | 92 |
\\\' | 引号 | \\u0022 | 34 |
3. 类型转换
精度:低 ---------------------------------------------------------> 高
byte --> short、char --> int --> long --> float --> double
-
自动类型转换:从低精度类型向高精度类型转换,系统会自动进行。(低到高)
-
强制类型转换:需要加强制类型转换符,会损失精度。(高到低)
语法格式:低精度类型变量 = (低精度类型关键字)高精度类型数据;
-
运算中,不同类型的数据先转化为同一类型,然后进行运算。
注意点:
①不能对布尔值进行转换
②不能把对象类型转换为不相干的类型
③在把高容量转换到低容量的时候,强制转换
④转换的时候可能存在内存溢出,或者精度问题!
4. 变量、常量
4.1 变量
4.1.1 定义
在程序的执行过程中,其值能被改变的量称为变量。
4.1.2 变量的声明与初始化
变量声明语法:数据类型 变量名 = 表达式;
Java是一种强类型语言,变量需要先声明,后使用。
4.1.3 变量的作用域
4.2 常量
4.2.1 定义
在程序运行过程中,一直不会改变的量称为常量。
常量的语法:final 数据类型 常量名称 = 值;
For example:
final double PI = 3.1415926;
final int MAX_VALUE = 120;
5. 运算符
5.1 算术运算符
i ++; 先赋值,再自加1
++i; 先自加1,再赋值
5.2 关系运算符
instance of :判断其左边对象是否为其右边类的实例,返回boolean类型的数据。
可以用来判断继承中的子类的实例是否为父类的实现。
5.3 逻辑运算符
a && b : 同真则真
a || b : 一真则真
!a : 真假假真
5.4 位运算符
&、| 类似电路开关,1表示:关;0表示:开。
& :串联电路,都是1(关),小灯泡1(亮);
| :并联电路,有一个是1(关),小灯泡1(亮)
- ^ : 相同为0,不同为1;
- : 按位取反。
<< 左移 : * 2;将运算符右侧操作数的二进制形式向左移动指定位数
>> 右移 : /2;将运算符左侧操作数的二进制形式向右移动指定位数,被移出的位直接抛弃;
如果原始操作数的最高位(即符号位)是0,左侧空出来的位就全部补0;
如果原始操作数的最高位是1,左侧空出来的位就全部补1.
>>> 无符号右移动 :不管原始操作数最高位是0还是1,将操作数右移指定位数,左侧空出来的位全部补0.
5.5 条件运算符
表达式1 ? 表达式2 : 表达式3
如果表达式1的值为true,则整个表达式取表达式2的值,否则取表达式3的值。
5.6 扩展运算符
s+=m; //s=s+m;
5.7 运算符的优先级
运算符的优先级是指在表达式运算过程中,运算符与操作数结合运算的先后顺序。如果在运算过程中恰有两个运算符的优先级相同,则按先左后右的顺序结合。
常见运算符优先级关系表
优先级 | 分类描述 | 运算符 |
---|---|---|
1 | 括号 | ( ) |
2 | 正负号 | +、- |
3 | 单目运算 | ++、--、! |
4 | 乘除 | *、/、% |
5 | 加减 | +、- |
6 | 移位运算 | >>、>>>、<< |
7 | 比较大小 | >、<、>=、<= |
8 | 比较是否相等 | ==、!= |
9 | 按位与运算 | & |
10 | 按位异或运算 | ^ |
11 | 按位或运算 | | |
12 | 逻辑与运算 | && |
13 | 逻辑或运算 | || |
14 | 三目运算符 | ? : |
15 | 赋值运算符 | = |
在实际开发过程中,如果不能确定优先级次序,可以用括号来限定优先级次序,以免产生错误的运算顺序。
6. 包机制、JavaDoc
以上是关于Java语言基础的主要内容,如果未能解决你的问题,请参考以下文章