1、 Java 基础
1、Java语言特性
1、面向对象;
2、具有健壮性;
3、跨平台性,依靠JVM(JDK中带有)实现,JVM相当于Java的虚拟机,可以实现一次编译,到处运行;
4、解释型语言(C/C++是编译型语言,编译型语言运行速度更快)。
2、Java文件执行过程
3、JDK
1、JDK是Java开发工具包;
2、JDK=JRE+java开发工具(java,javac,javadoc,javap等);
3、JRE是Java运行环境;
4、JRE=JVM+Java的核心类库;
运行开发完成的程序,只需要JRE即可。
4、Java编写规范(部分)
1、.java文件中的每一个类生成一个.class文件;
2、一个源文件中只能包含一个public类,文件名以类名命名,其他类不限个数;
3、非public类也可以写main()方法,运行相应类的.class文件就可以执行;
4、\r 表示回车,回到当前行,接下来的输入会覆盖当前行的文字,\r\n 可以换行输出。
2、Java 的数据类型
1、变量
1、变量有三要素:类型+名称+值;
2、变量是程序的基本组成单位;
3、" + ":如果加号两边是数,就做加法;如果有一边是字符串,就进行拼接;
2、Java 的数据类型
1、基本数据类型
1、数值型
数值型包括整数型和浮点型。整数型包括byte(1位)、short(2位)、int(4位)和long(8位),浮点类型包括floa(4位)和double(8位),默认浮点类型是double。
2、字符型
char类型,占2位。
2、引用数据类型
1、类(class)
2、接口(interface)
3、数组( [ ] )
3、整型
注意:long i = 2L;
4、浮点型
1、float j = 2.2 f;
2、浮点数=符号位+指数位+尾数位(尾数部分可能丢失,所以小数都是近似值);
3、零点几的浮点数,比如0.123,可以直接写成.123;
4、当我们对运算结果是小数的变量进行相等判断时,要小心。比如 8.1/3,应该是2.7,但是计算机中十进制和二进制的转换不完全,所以存在缺陷,只会得到一个十分近似于2.7的数,比如2.6999999998。所以进行相等判断时,应该将两数之差的绝对值在某个精度范围内进行判断。
5、字符类型
1、char c = 97;输出ASKII码中97代表的字符;
2、字符类型中允许使用转义字符 ’ | ';
3、Java中char本质是整数,输出为Unicode码对应的字符;
4、允许给char类型赋值整数;
5、char类型可以进行运算.
char n = 'c' + 1;
System.out.println(n);//输出b
System.out.println((int)n);//输出98
6、字符类型本质探讨
1、在计算机中存储a时:
'a’→码值97→二进制→存储
2、从计算机中读取a时:
二进制→码值97→’a’→显示到屏幕
3、ASCII码
一个字节表示一个字符,一共有128个字符。实际上一个字节可以表示256个字符,只用了128个(因为英文足够了)。
4、Unicode
固定大小,使用2个字节表示字符,字母、汉字都用两个字符,一定程度上浪费了空间。
5、utf-8
大小可变,字母用1个字节,汉字用3个字节,实际用的多。
6、gbk
可以表示汉字,范围广,字母用1个字节,汉字用2个字节
7、gb2312
可以表示汉字,范围小于gbk
8、big5码
表示繁体中文,存不了简体
utf-8是在互联网上使用最广的一种Unicode的实现方式(改进)。
7、布尔类型
1、布尔类型占一个字节,取值只能是true或者false;
2、不可以用0或非0的整数代替false和true。