Java语言基础(day02)
程序员文章站
2022-05-03 20:04:15
...
01_Java语言基础(注释的基本用法)(掌握)
- 定义:在程序中用来解释说明程序的文字。
- 格式:
- 单行注释
- // 注释文字
- 多行注释
- /* 注释文字 */
- 文档注释
- /** 注释文字 */—文档注释中的文字可以利用工具或者命令进行提取。
- javadoc 要提取的Java源文件—注意,一个类如果能够被提取,必须是公共类。
- 注释作用:解释程序;便于阅读、维护;排错。
02_Java语言基础(数据类型)(掌握)
-
Java的数据类型(两类)
-
基本类型(8种)
- byte 1字节 取值范围 -128到127,-2^7 到 2^7-1
- short 2字节 取值范围-2^15 到2^15-1
- int 4字节 取值范围-2^31 到 2^31-1
- long 8字节 取值范围-2^63 到 2^63-1
- float 4字节 单精度
- double 8字节 双精度
- char 2字节 取值范围 0到65535
- boolean 1字节
- 真 true 00000001
- 假 false 00000000
-
注意 :
- byte 字节型 1个字节 8位 取值范围:-2^7~ 2^7-1 (-128 ~ 127)
- byte b =128;
- short 短整型 2字节 16 -2^15~ 2^15-1 (-32768 ~ 32767)
- int 整型 4个字节 32位 -2^31~ 2^31-1。
- Java程序中默认的整数类型是int
- long 长整型 8个字节 64位 -2^63 ~ 2^63-1.
- 在数据利用L(l)来标识长整型的数据。
- long l =100L;
- 浮点型:
- float 单精度 4字节 32位
- float不是小数的默认的数据类型。
- double 双精度 8字节 64位
- double类型是小数默认的类型
- byte 字节型 1个字节 8位 取值范围:-2^7~ 2^7-1 (-128 ~ 127)
-
总结 :四类八种
- 布尔型:boolean 字节不确定,具体的占用 与 jdk 操作系统有关
- 整型:byte short int long
- 浮点型:float double
- 字符型:char
-
引用类型
- 类class
- 接口–interface
- 数组[ ]
- 所有引用类型的默认值都是null
03_Java语言基础(计算机的存储单位)
- bit 1个电位
- byte 字节,8个bit
- Kb 1024 byte
- Mb 1024 Kb
- Gb 1024 Mb
- Tb 1024 Gb
- Pb 1024 Tb
04_Java语言基础(二进制)(掌握)
略略略,????
05_Java语言基础(字符编码 )(了解 )
- char 2字节 16位
- 阿斯科码表 ASCII码表 0-127 表示的英文字母及特殊字符。
- 西欧码表 256 1字节(iso-8895-1)兼容的ASCII码表 GB2312, 2字节 简体中文,big-5,常用的码表是 gbk.
- Unicode编码体系 2字节 ,在Unicode之下,衍生了出来新的码表–utf-8, 占用3个字节(万国码表) 收录了常用的语言常用的字符。
06_Java语言基础(数据类型转换)(掌握)
- 1.隐式转换(自动转换)
- 定义 :小的数据类型可以自动转换为大的数据类型
- float f =3.2f;
- double d= f;
- float—>double
- char<–>int 在ASCII码表范围之内。
- int–float
- long --float
- 所有的整型都是可以赋值给浮点型的。
- byte short -->char类型需要注意:
- byte b1 =‘a’;
- char c1 = b1;
- 结果不正确。Java分开编译,b1=’a’已经确定了b1的类型,当需要把b1给c1的时候,jvm不能确定其范围,所以报错。
- 总结 :小 --> 大
- 自动转换
- 整数转浮点数,可能会不精确
- 在计算机中,绝大数多数小数是不能够精确的存储的。
- 2.显示转换(强制转换)
- 定义 :大的数据类型转换为小的数据类,这个过程称为强制转换
- 浮点类型转换整型,需要强转。舍弃小数部分,不是不是四舍五入。在这个过程中出现精度损失。
- double–>int 可能会有精度损失。
- 总结:大 ----> 小
- 必须要强制转型
- 会有数据损失
- 浮点数转成整数,直接舍弃小数位
07_Java语言基础(转义字符)(掌握)
- 制表符: \t ‘\t’
- 回车:\r
- 换行:\n
- 单引号:\’
- 双引号:\”
08_Java语言基础(运算符)(掌握)
-
+ - * /
- 数学运算,字符串连接运算
-
%
- 取余,求模
- 判断a能否被4整除,看a%4 余数是否是0
-
==
- 是否相等
-
!=
- 是否不相等
-
> >= < <=
-
&&
- 逻辑与 : 左边是真,并且右边是真,结果才是真
- 短路与 : 左边是假,右边被忽略不执行
-
||
- 逻辑或 : 左边是真,或者右边是真,结果都是真
- 短路或 : 左边是真,右边被忽略不执行
-
!
- 非 : 非真是假,非假是真
- 用来做相反的条件判断
- //如果"非a"是真,即a是假
- if(!a) {
}
- 非 : 非真是假,非假是真
-
&
- 位与 : 上边是1并且下边是1,结果是1
-
|
- 位或 : 上边是1,或者下边是1,结果都是1
-
^
- 异或 : 不同是1 ; 对同一个值异或两次,得到原值
-
~
- 求反 : 1变0 , 0变1
-
>>
- 带符号右移位
- 符号位是1,左边补1
- 右移1位相当于除2
-
>>>
- 不带符号右移位
- 符号位是1,左边补0
-
<<
- 左移位
- 左移1位相当于乘2
-
++
- 自增
- a = 5;
- print(a++);//先取值再自增
-
- 先取原值5,等待打印
-
- a自增变成6
-
- 打印原值5
a = 5;
print(++a); // a先自增再取值- 先自增变成6
- 取新值6,等待打印
- 打印新值6
-
- -
- 自减
09_Java语言基础(总结 )
-
基本类型
-
byte 1,short 2,int 4,long 8
-
float 4,double 8
-
char 2
-
boolean 1
-
字面值规则(5条)
-
A. 整数字面值是int类型
- 4565 int
-
B. byte,short,char三种比int小的整数,允许用范围内的值,直接赋值
- byte a = 127 ; //右侧是byte类型
- byte a = 128 ; //右侧是int类型
-
C. 浮点数字面值是 double
- double d = 3.14;
- float f = 3.14 ; // 错误 ,右侧是double类型
-
D. 字面值的后缀
- L - long
long a = 9999999999L;
- F - float
flaot f = 3.14F;
- D - double
double a = 3.0 ;
double a = 3D; -
E . 进制前缀
-
0x ---->16进制
0xff 255
-
0 ----> 8进制
0377 255
-
\u ----> char类型16进制
必须完整表示char类型的两个字节值
‘\u0061’ 97 ‘a’
‘\u4e2d’ 20013 ‘中’
-
-
运算规则(5条)
-
A. 运算结果的类型,与最大的类型一致
3/2 得1
3d/2 得1.5
-
-
B. byte,short,char三个比int小的整数,运算时,会先自动转成 int
byte a = 3;
byte b = 4;
//错,右侧是int+int,结果是int
byte c = a+b;
- C. 整数运算溢出
类似时钟,从最小加到最大,再加,回到最小
Integer.MAX_VALUE + 1 负数最小值
300000000*60*60*24*365 错
300000000L*60*60*24*365
-
D. 浮点数运算不精确
2-1.9
得 0.10000000000000094.35*100
得 434.9999999999999994- 根据 IEEE754规范,做某些浮点数运算时,会产生不精确结果
- Java提供了精确运算的方法,后面会讲
-
E . 浮点数的特殊值
- Infinity
无穷大
3.14/0- NaN
- Not a Number
Math.sqrt(-4)