## java基础知识
### 基本语法
#### 关键字与保留字
1. 介绍
> 被java语言赋予特殊含义的单词
2. 特点
> 关键字中所有的字母都是小写
3. 官方地址:[Java关键字](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html)
1. 用于定义数据类型的关键字
- class
- interface
- enum
- byte
- short
- int
- long
- float
- double
- char
- boolean
- void
2. 用于定义流程控制的关键字
- if
- else
- switch
- case
- default
- while
- do
- for
- break
- continue
- return
3. 用于定义访问权限修饰符的关键字
- private
- protected
- public
4. 用于定义类、函数、变量修饰符关键字
- abstract
- final
- static
- synchronized
5. 用于定义类与类之间的关键字
- extends
- implements
6. 用于定义建立实例及引用实例,判断实例的关键字
- new
- this
- super
- instanceof
7. 用于异常处理的关键字
- try
- catch
- finally
- throw
- throws
8. 用于包的关键字
- package
- import
9. 其他修饰符关键字
- native
- strictfp
- transient
- volatile
- assert
10. ~~用于定义数据类型值的字面值~~
- true
- false
- null
11. 保留字:现有版本未使用,但后续版本可能会作为关键字
- goto
- const
#### 标识符
1. 介绍
1. java对各种变量、方法和类等要素命名时使用的字符序列称为标识符
2. 通俗来讲,凡是我们自己起名的都叫标识符
2. 合法标识符规则
1. 由26个英文字母大小写,0-9,_或者$组成。
2. 数字不可以开头。
3. 不可以使用关键字和保留字,但是可以包含。
4. 严格区分大小写,长度无限制。
5. 不可以包含空格
3. 命名规范
1. 包名:多个单词组成时所有字母小写。例:xxxyyy
2. 类名、接口名:多个单词组成时所有单词首字母大写。例:XxxYyy
3. 变量名、方法名:多个单词组成时第一个单词首字母小写,其余单词首字母大写。例:xxxYyy
4. 常量名:所有字母大写,多单词使用下划线连接。例:XXX_YYY
4. 注意
1. 起名时为了提高阅读性,要尽量有含义。见名思意。
2. java使用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
#### 变量
1. 变量的概念
> 内存中一个区域中数据在同意范围内可以不断变化。变量是程序中最基本的的单元,包含变量类型、变量名、变量值
2. 变量的作用
> 用于在内存中存储数据
3. 使用变量注意
1. Java中每个变量必须先声明后使用
2. 使用变量名访问区域中的数据
3. 变量的作用域:其定义所在的一堆{}中
4. 变量只有其作用域中生效
5. 同一个作用域内,不能定义重名的变量
4. 变量的使用
> java定义变量的格式: 数据类型 变量名 = 变量值
```java
public class Demo1{
public static void main (String[] args) {
// 变量声明
int age;
// 变量赋值
age = 18;
// 变量声明和赋值
String name = "ZhangSan";
// 变量使用
System.out.println(age);
System.out.println(name);
}
}
```
5. 变量的数据类型
1. 按照数据类型区分
1. 基本数据类型
1. 数值型
1. 整数类型(byte,short,int,long)
1. byte(1个字节=8bit;-128~127)
2. short(2个字节)
3. int(4个字节)
4. long(8个字节):定义必须以l或者L结尾
> long i = 1234566L;
2. 浮点类型(float, double)
1. float(4个字节,单精度):定义必须以f或者F结尾
> float k = 12.3F;
2. double(8个字节,双精度,通常使用)
2. 字符型(char,1个字符=2个字节)
1. 定义char变量通常使用一对'',只能有一个字符。
> char c = 'C';
2. 表示方式
1. 一个字符`char c = 'C';`
2. 转义字符`char c = '\n';`
- \b:退格符
- \n:换行符
- \r:回车符
- \t:制表符
- \":双引号
- \':单引号
- \\:反斜线
3. 直接使用Unicode值表示字符型常量
> char c = '\u0043';
3. 字符集
- a: 97
- A: 65
3. 布尔值(boolean)
1. 只有2两个值:true false
2. 经常在条件判断、循环结构中使用
4. 基本数据类型转换
> 这里只讨论7钟基本数据类型变量间运算。不包含boolean
1. 自动类型提升
- byte/short/char->int->long->float->double
- 当容量小的数据类型变量与容量大的数据类型变量运算时,自动提升为容量大的数据类型
- 当byte/short/char做运算时,结果为int
3. 强制类型转换
- 自动类型转换的逆运算
- 需要使用强转符():值前面加(数据类型)
- 强制类型转换可能导致精度损失
> 这里的容量大小指数据范围大小
5. 实际使用
- 整形常量默认int
- 浮点常量默认double
2. 引用数据类型
1. 类(class)
1. String类型变量使用
- 属于引用数据类型
- 声明String类型变量时,使用一对""`String s = "ss";`
- String可以和8种基本类型做运算,运算只能是连接运算:+
- 运算结果都是String类型
2. 接口(interface)
3. 数组([])
2. 按照声明的位置
1. 成员变量
2. 局部变量
6. 进制与进制之间的转换
1. 所有计算机底层都是二进制形式存在
2. 生活中经常用到的是十进制
3. 整数四种表示方式
- 二进制(binary):0,1 满2进1 以0b或者0B开头表示
- 十进制(decimal):0-9 满10进1
- 八进制(octal):0-7满8进1 以数字0开头表示
- 十六进制(hex):0-9 A-F 满16进1 以0x或者0X开头表示 A-F不区分大小写
#### 运算符
1. 算数运算符
1. `+`:加
2. `-`:减
3. `*`:乘
4. `/`:除
- 注:整数/整数 = 整数 (12/5 = 2)
5. `%`:取模(取余) (12%5) = 1
- 结果的正负与被模数相同
6. `++`:
- 前++: 先加1再运算 `++i`
- 后++: 先运算后加1 `i++`
- 注:`short i = 1; i++;`不会改变本身变量的类型。
7. `--`:
- 前--: 先减1再运算 `--i`
- 后--: 先运算后减1 `i--`
- 注:`short i = 1; i--;`不会改变本身变量的类型。
8. `+`:连接
2. 赋值预算符
1. `=`:
- 当`=`两侧数据类型不一致时,可以使用自动类型转换或者强制类型转换
- 支持连续赋值`int i,j;i1 = i2 = 1;`
2. `+=`:`i += 1`=> `i = i + 1`
3. `-=`:``=> `i = i - 1`
4. `*=`:``=> `i = i * 1`
5. `/=`:``=> `i = i / 1`
6. `%=`:``=> `i = i % 1`
> 后五个不会改变本身变量类型
3. 比较运算符
1. `==`:等于
2. `!=`:不等于
3. `<`:小于
4. `>`:大于
5. `<=`:小于等于
6. `>=`:大于等于
7. `instanceof`:检查是否时类对象
> 比较运算符结果是boolean类型
4. 逻辑运算符
> 操作的都是boolean类型数据
1. `&`:逻辑与
- `true & true = true`
- `true & false = fa
没有合适的资源?快使用搜索试试~ 我知道了~
java基础学习笔记 java整合技术 java工具类.zip
共49个文件
java:22个
jpg:9个
md:6个
需积分: 5 0 下载量 57 浏览量
2023-06-16
19:56:54
上传
评论
收藏 1.91MB ZIP 举报
温馨提示
java基础学习笔记 java整合技术 java工具类.zip
资源推荐
资源详情
资源评论
收起资源包目录
java基础学习笔记 java整合技术 java工具类.zip (49个子文件)
java-learning-master
interview
src
com
myself
leecode
Answer01.java 6KB
README.md 17B
webservice
pom.xml 2KB
src
test
java
com
myself
webservice
WebserviceApplicationTests.java 226B
main
resources
application.yml 21B
java
com
myself
webservice
pojo
ExampleParam.java 231B
ExampleResult.java 189B
service
impl
ExampleServiceImpl.java 940B
ExampleService.java 626B
WebserviceApplication.java 361B
config
CxfWebServiceConfig.java 2KB
.gitignore 395B
README.md 3KB
javabasis
src
Main.java 144B
com
learning
YangHuiTest.java 1KB
ArrayDemo.java 855B
ArrayDemo2.java 1KB
ArrayAlgorithm.java 3KB
img
内存模型.png 211KB
十大排序算法2.png 213KB
数组内存结构分析.png 331KB
十大排序算法1.png 25KB
二维数组内存分析.png 310KB
README.md 18KB
.gitignore 402B
javabase
src
HelloWorld.java 209B
img
img6.jpg 35KB
img2.jpg 1.16MB
img5.jpg 98KB
img4.jpg 134KB
img1.jpg 1.29MB
img7.jpg 37KB
img3.jpg 3.58MB
img8.jpg 73KB
img9.jpg 50KB
README.md 6KB
README.md 55B
excel
pom.xml 2KB
src
test
java
com
myself
excel
ExcelApplicationTests.java 216B
main
resources
application.yml 21B
java
com
myself
excel
ExcelApplication.java 411B
controller
ExcelController.java 635B
service
impl
ExportDataServiceImpl.java 957B
ExportDataService.java 407B
entity
ExportDataEntity.java 300B
util
ExcelUtil.java 1KB
HttpServletUtil.java 1KB
.gitignore 395B
README.md 106B
共 49 条
- 1
资源评论
YOLO数据集工作室
- 粉丝: 438
- 资源: 1570
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功