JAVA基础

202 阅读6分钟

概念

1. JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java
工具和Java基础类库

2. JRE(Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库

3. JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言的
写作的软件程序

4. JRE = JVM + javaSE 标准类库

5. JDK = JRE + 开发工具集(例如javac编译工具)

6. java SE(Java Platform,Standard Edition,java 标准版),它允许开发和部署在桌面
服务器、嵌入式环境和实时环境中使用的 Java 应用程序。一般用来开发桌面应用。

7. java EE(Java Platform,Enterprise Edition,java企业版),企业版本帮助开发和部署可移植、健壮、可伸缩且
安全的服务器端 Java 应用程序。Java EE 是在 Java SE的基础上构建的,它提供 Web 服务、组件模型、管理和通信API,
可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序

8. java ME,为移动设备提供了基于java环境的开发与应用平台

9. java 程序的执行流程:编写 .java 为后缀的源文件,使用java工具包的javac工具编译源文件,得到 .class 为
后缀的字节码文件,通过java工具包中的java工具解释并执行.class 的文件,得到最后程序的输出结果。

基础语法

标识符:

1.什么是标识符:class类名 变量名 方法名
2.标识符可以由字母/数字/下划线(_)和美元符($)组成,不能以数字开头
3.标识符严格区分大小写
4.标识符不能是java的关键字和保留字
5.标识符的命名最好能反映出其作用

变量命名规则

1.什么是变量:变量是由变量类型/变量名/变量值组成
2.满足标识符的命名规则
3.符合驼峰法命名规则 (首词小写,后续单词首字母大写)
4.尽量简单做到见名知意
5.变量的长度没有限制

类的命名规则

1.符合Pascal命名规则。(所有单词首字母大写)

数据类型

数据类型 说明 字节 类型类别
byte 字节型 1 整型类型
short 短整型 2 整型类型
int 整型 3 整型类型
long 长整型 4 整型类型
float 单精度浮点类型 4 浮点类型
double 双精度浮点类型 8 浮点类型
char 字符型 2 字符类型
boolean 布尔类型 1 布尔类型
基础数据类型
数值类型
整型类型 (byte short int long)
字面值: 由三种表示的方式 十进制 八进制  十六进制   123  012  0x9A
声明方式: 数据类型 变量名;
浮点类型 (float double)
字面值: 在默认情况下表示double 双精度的数值的类型,也可以在值的后面加D或d,如123.45D
字符型 ( char )
字符型字面值是用单引号引起来的,并且单引号里面只能有一个字符,字符对应Unicode编码(统一的编码,在值前面加\u)
布尔类型 ( boolean )
字面值只能是 true false
字符串
字符串不算数据类型,是java中的一个类,双引号括起来的0或多个字符
数据转换
1.自动类型转换 -- byte 转 short 转 int 转 long  从小到大数据不会丢失
2.强制类型转换 -- 会导致数据丢失 (char)65536
3.整型转换成浮点类型,可能会导致数据流失问题   float a = 83456787656676F
常量
语法: final int A = 5; 在数据类型前面加上关键字 fianl
1.常量不可以被改变
2.常量名称使用大写,多个单词使用 _ 隔开
引用数据类型
类 ( class )
接口 (interface)
数组 ( array )

运算符

表达式 = 运算符 + 操作数
算数运算符
加/减/乘/除/取余/自增/自减      +  -  *  /  %  ++  --
++ (双目运算符)在表达式左边时,表达式先 +1,在赋值到左边,在右边时则是先赋值到左边在进行自增1

赋值运算符
格式: 变量 = 表达式   
赋值运算符是把右边的表达式赋值给左边

关系运算符
> < >= <= == !=  结果返回boolean值
字符串比较是比较两个字符串的ASCII值,如 'A' < 'B' 结果为true

逻辑运算符
逻辑运算符用来连接一个或多个条件,判断这些条件是否成立
&& || & | !
&& || 短路运算符,前面条件为false时,&& 后面的条件不会被执行

条件运算符(满足条件执行相应的代码块)
if else
1.从键盘输入两个整数,经过判断输出他们的关系
2.判断成绩区间,输出优/良/及格/不及格

switch case 
1.break 关键字跳出switch语句
2.case 后面写的数据类型 byte/short/int/long/char/String
3.从键盘输入一个字符串,完成星期一至星期日的判断

三目运算符  a>b ? 1 : 2

循环结构

while
int n = 1;
while(n < 5){
    //处理逻辑
    n++;
}
1.n的值必须先进行初始化
2.循环变量n的值必须被改变
do-while
int n = 10;
do {
    //处理逻辑
    n--;
}while(n>5);
1.do-while 循环至少执行一次
2.循环条件后的分号不能丢
for
for(int n =1; n<5; n++){
    //处理逻辑
}

1.for 执行流程,先执行 int n=1,然后在执行 n <5, 在执行处理逻辑,最后在执行 n++
2.局部变量的作用域,只在 {} 之内才能生效
break
1.结束当前循环
2.break 只能应用在循环体和switch语句中
continue
跳过当前循环

数组

1.数组是相同类型的数据按顺序组成的一种引用数据类型
2.数组的声明与创建 int[] myIntArray = new int[5]; ,  注:创建一个int类型的数组,长度为5,数组的默认值为0。数组的长度不能为空
3.数组的长度是元素的个数,可以用 数组名.length 来获取
4.冒泡排序,对一组整数按照由小到大的顺序进行排序
5.二维数组的声明与创建 int[][] intArray = new int[3][3]; ,注:表示创建了一个三行三列的数组
6.数组元素的下标是从0开始的

方法

1.方法是用来解决一类问题的代码的有序组合,是一个功能模块
2.方法的组成:访问修饰符  返回类型  方法名  参数列表 方法体
3.根据方法是否带参数/是否返回值,可分为四类:
    无参无返回值
    无参带返回值
    有参带无返回值
    有参带有返回值
4.方式重载:方法名相同,传参不同
5.普通参数传值问题:普通值的修改作用域只在方法体中
5.数组参数传值问题:数组为引用类型,在方法体修改数组后,在方法外也会被改变
6.可变参数 int ... ,可以传一个或多个int 参数,如果重载可变参数的方法,重载方法会被优先执行