20220713_第七小组_张红睿_学习笔记
Java基础第一天
1. 概述
1.1 历史
1995年,詹姆斯高斯林。sun公司,发明了java语言,喝的是印尼的爪哇岛产的咖啡。Java语言寓意就是为全世界软件爱好者递上一杯热乎的咖啡。
早期,移动端。2009年sun公司被Oracle(甲骨文)旧金山收购。
1.2 三个版本
-
JavaSE:做桌面应用程序。Java基础。
-
JavaEE:企业级应用。要学习的。
-
JavaME:手机端,淘汰。
1.3 特点
-
面向对象。支持类、继承、封装、多态、接口等。
-
跨平台。一次编写,到处运行。
-
半编译半解释。编译成.class,jvm解释.class
-
多线程。支持多线程同时执行以及同步机制等。
-
分布式。提供网络应用编程类库。
-
健壮性,强类型 、异常处理、垃圾回收机制等。
-
安全性。提供安全防范机制。
-
高性能。相对于其他高级脚本语言运行速度快。
-
简单性。与C/C++相近,舍弃C++中难以理解的特性,不适用指针,加入垃圾回收机制等。
1.4 JRE、JDK
-
JDK(Java Development Kit),Java开发工具,包含了JRE和开发工具。只需安装
JDK即可,它包含了java的运行环境和虚拟机
-
JRE(Java Runtime Environment), java运行环境,包含了JVM和Java的核心类库(Java
API)
-
JVM(Java Virtual Machine) ,Java虚拟机
1.5 注意点
-
Java严格区分大小写
-
Java每句代码必须以分号结尾
-
所有符号必须是英文(一般中文全角英文半角)
-
标识符的命名规则:
在开发中需要命名的都是标识符,如:类。
只能由字母,数字,下划线,美元符号组成。数字不能开头,且不建议下换线开头,不建议使用$号。推荐使用字母和数字,以驼峰式命名,如SetUserName。
类名的命名规则:首字母大写。
IDEA下载插件:Translation, Codota AI Autocomplete for Java and JavaScript
1.6 注释
- // 单行注释
- /* 多行注释 */
- /** 文档注释 */
1.7 关键字:
官方的解释:每个关键字有它独一无二的作用,不能用关键字来命名,关键字都是小写的。如:if、else。其中包含两个保留字:goto、const。
2. 重点
2.1 数据类型:
基本数据类型、引用数据类型 两种。
2.1.1 基本数据类型
类型 | 英文名 | 中文名 | 占内存大小 | 取值范围 |
整型 | byte | 字节型 | 1字节 | -128~127 |
short | 短整型 | 2字节 | -2^15~2^15 | |
int | 整型 | 4字节 | -2^31~2^31 | |
long | 长整型 | 8字节 | -2^63~2^33 | |
浮点型 | float | 单精度浮点型 | 4字节 | 小数 |
double | 双精度浮点型 | 8字节 | 小数 | |
字符型 | char | 字符型 | 2字节 | 0~255 |
布尔型 | boolean | 布尔型 | 1字节 | true/false |
2.2 变量:
2.2.1 定义
定义变量,为了后期的维护,重复利用;减少使用字面量,如a > 5 写成 int b = 5; a > b;
变量名的命名规则:小驼峰, 如setUserName。
注:使用长整型要在数值后加上“L”,如 :long num = 9999999999L;
使用单精度浮点型要在数值后加上“F”,如:float dig = 3.1415F;
字符型数据要用单引号,字符串用的是双引号,如:char ch = 'h'; String str = "Hello World!"
如果在程序中看见了一个整数的字面量,没有任何数据类型声明,默认是int,同样小数默认是double。
2.2.2 精度:
整型:4种整数类型,精度是和位数挂钩的,位数越大,精度越高。
浮点型:double的精度比float更高。
浮点型比整型的精度更高。
低精度和高精度的做计算,得到的一定是高精度的结果。
2.2.3 基本数据类型的转换:
-
自动类型转换(自动类型提升)低精度->高精度,如:byte b = 127; int a = b + 1;
-
强制类型转换 高精度->低精度,如:int x = (int)3.14;
2.2.4 字符
- 字符型每一个字符在计算机保存时都是以ASCII码的形式
- char类型是16位,short是一样的,可以自动转换成int,long,float,double
- 当char自动转换成数值类型,会对应着ASCII码去转换
- 把整数类型转换成char类型,会对应着ASCII码去转换
- 由于char类型有这样的特殊性,开发中尽量不使用char。
2.3 运算符
- 算术运算符:+、 -、 *、 /、 %、 ++、 --
- 赋值运算符:= 、+= 、-=、 *=、 /=、 %=
- 逻辑运算符:&&(短路与)、||(短路或)、!
- 关系运算符:>、 <、 <=、 >=、 ==、 !=
- 位运算符:&、 |、 ~、 ^、 >>、 <<、 >>>
- 条件运算符:?: