语法基础
JDK,JRE,JVM
1.JDK是什么?有哪些内容组成?
JDK是Java开发工具包
JVM虚拟机:Java程序运行的地方
核心类库:Java已经写好的东西,我们可以直接用。
开发工具:javac、 java、jdb、 jhat…
2.JRE是什么?有哪些内容组成?
JRE是Java运行环境
JVM、核心类库、运行工具
3.JDK,JRE,JVM三者的包含关系
JDK包含了JRE
JRE包含了JVM
数据类型
字面量
字面量(数据在程序中的书写格式):整数,小数,字符串,字符,布尔,空
特殊字面量的书写:制表符\t,空null
基本数据类型
八种基本数据类型:byte(Byte),short(Short),int(Integer),long(Long),float(Float),double(Double),char(Character),boolean(Boolean)
大小关系:double,float,long(8),int(4),short(2),byte(1)
引用数据类型
类、数组、接口、枚举、泛型
标识符命名规则
1.由数字,字母,下划线,$组成
2.不能由数字开头,不能是关键字,区分大小写
3.最好见名知意
4.方法、变量小驼峰:一个单词全小写,多个单词第一个首字母小写,后面大写
5.类名大驼峰:每个单词的首字母大写
项目结构
project,module,package,class(测试类,定义类)
隐式转换和强制转换
1.隐式转换:小的数据类型和大的数据类型进行运算时,会先转化为大的数据类型如byte,short,char在进行运算时,会直接转化为int(char+char=int)
2.强制转换:大的数据类型转化为小的,有可能造成数据丢失
运算符
1.“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符了。会将前后的数据进行拼接,并产生一个新的字符串。连续进行"+"操作时,从左到右逐个执行。
2.扩展运算符+=,-=, =,/=,%= 隐含了强制类型转换*
3.自增和自减运算符(++和–):
单独放在一行时,放在前面和后面得到的结果都一样;参与运算时,放前面时先自增(减)再参与运算,放后面时先参与运算,再自增(减)
4.四种逻辑运算符: & 都真才真, | 都假才假, ^ 相同为假,不同为真, ! 取反
5.短路逻辑运算符: &&前假即假,||前真即真,提高运行效率,可连接三个判断
6.三元运算符:关系表达式?表达式1:表达式2(等价于if-else、可以级联但不建议)
if-else和switch-case
if if-else if-else if-else判断范围
switch-case将数据一一列举出来从中选择一个
数组
数组动态初始化和静态初始化的区别
动态初始化:手动指定数组长度,由系统给出默认初始化值。
只明确元素个数,不明确具体数值,推荐使用动态初始化
静态初始化∶手动指定数组元素,系统会根据元素个数,计算出数组的长度。
需求中已经明确了要操作的具体数据,直接静态初始化即可。
数组的内存

方法
方法的定义
1.方法是程序中最小的执行单元。
2.实际开发中遇到重复的代码、具有独立功能的代码可以抽取到方法中。
3.方法可以提高代码的复用性可以提高代码的可维护性
1 | //格式: |
方法的特点
方法不调用就不执行,互相间是平级关系,不能嵌套定义(一个方法不能定义在另一个方法的里面)
方法重载
方法名相同(实现相似的功能),而形参不同(个数,类型,顺序),与返回值无关
方法内存

方法的值传递
传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值(方法中对参数的重新赋值只作用于方法中)
传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值