Java学习-Java语言基础
1.Java符号集
1.1Java标识符
定义标识符的规则:由字母、数字、下划线和$符号组成,数字不能开头。
命名规则:
1. 包名:全部小写。eg:xxxyyyzzz
2. 类名、接口名:首字母大写。eg:XxxYyyZzz
3. 变量名、函数名:首个单词首字母小写,后续单词首字母大写。eg:xxxYyyZzz
4. 常量名:全部大写,单词之间用下划线连接。eg:XXX_YYY_ZZZ
1.2关键字
1.3分割符和注释
分隔符:{}、()、[]、;、,、空格符
注释:
//单行注释
/* * /多行注释
/** */文档注释
2.java 数据类型
2.1整型
类型 | 占用字节数 |
---|---|
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
2.1.1整型常量
1. 十进制数,123,-321
2. 八进制数,以0开头,(012)8=(10)10
3. 十六进制,以0x或者0X开头(此处是零,不是字母o),(0x12)=(18)10
2.1.2整型变量
1. Java允许随时定义变量,不用集中在代码前面定义。
2. Java可以同时定义多个相同的数据类型,用逗号隔开。
2.2字符型
类型 | 占用字节数 |
---|---|
char | 2 |
Java中的char占用两个字节可以存储汉字,‘我’…
c++中的char只占用一个字节。
字符串常量,常用String进行操作。
2.3布尔型
类型 | 占用字节数 |
---|---|
boolean | 1 |
boolean为基础数据类型,Boolean为封装类。
2.4浮点型
类型 | 占用字节数 |
---|---|
float | 4 |
double | 8 |
Java中默认小数位double型,定义float的时候应注意:float a = 1.7F(float a = 1.7f)。
2.5数值类型不同的数据转换
简单说明精度从低到高排列:
2.5.1隐式转换(低精度–>高精度)
例如:double a = 1;
此时我们输出a的话,就会发现输出的结果为1.0,代表着这个数已经被转换为double型的1.0了,而不是整型1了。
2.5.2显式转换(高精度–>低精度)
显示转换也称之为强制转换,也就是要进行强制转换这个操作。
举个简单的例子:int a = (int)1.7;输出的结果就是整型的1。
在这个过程中我们可以看到数值改变了,这也就是显示转换的缺点:丢失精度了
同时我也在此处抛出一个问题:关于short s1 = 10;
这行代码在编译过程中是没有报错的,但在我们常识中,10默认为int整型,现在将整型转换为short不是应该进行强制转换吗?
为什么编译器没有报错呢?看看那个大牛能够catch到这个问题!
2.5.3字符串类型数据和整型数据之间的转换
前面的都是基本数据类型之间的交换,而这个却是基本数据类型和引用数据类型的交换。
我觉得这就是引进Integer包装类和Double包装类的原因。只有数据类型大体上保持一致才能进行交换。
1. String–>int:int a = Integer.parseInt(“2”);
2. String–>double:double a = Double.parseDouble(“2”);
2. 数值类型–>String:字符串+数值类型
3.表达式和语句
- 算术运算符–>算术表达式
- 赋值运算符–>赋值表达式
- 关系运算法–>关系表达式
- 逻辑运算符–>逻辑表达式
- 位运算符–>位表达式