写在前面的话
- 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔。现在分享出来,希望能帮助大家,如有不足的,希望大家支出。
- 后续会继续分享基础知识手记。希望能帮助大家。大致的结构:
- 1.[Java面向对象]
- 2.[Java集合详解]
- 3.[Java IO相关操作]
- 4.[Java 8函数编程]
- 5.[常用设计模式]
- 6.[Spring MVC]
- 7.[MyBatis]
- 8.[Vue.js]
- 9.[Spring Boot]
- 10.[实例(结合Spring MVC+MyBatis+Vue.js的前后端分离的增删改查)]
1.Java概述
- Java体系由Java SE(Java Standard Edition)、JavaEE(Java Enterprise Edition)、JavaME(Java Micro Edition)组成
核心(Java SE)->API
graph LR
JavaSE-->ObjectOriented
JavaSE-->API
JavaSE-->JVM
JavaSE-->...
JavaEE-->JSP
JavaEE-->EJB
JavaEE-->服务
JavaEE-->...
JavaME-->移动设备
JavaME-->游戏
JavaME-->通信
JavaME-->...
1.1JVM
- Java Virtual Machine,java虚拟机在执行字节码,把字节码解释成具体平台上的机器指令执行
1.2JDk及JRE
- JDK全称:Java Development Kit,是Java开发者工具包,JRE全称:Java Runtime Environment,是Java运行时环境
2.JDK安装
-
2.1JDK的下载
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
-
2.2JDK版本的选择
根据当前电脑的版本选择jdk的安装版本
-
2.3JDK的安装
jdk的安装目前一般建议自定义安装目录,便于后期维护
-
2.4JDK的环境变量配置
JDK的环境配置主要方便能快速定位到安装包的位置,不需要额外的指定路径.
- JAVA_HOME:指定jdk的安装目录
eg:C:\Java Develop Environment\JDK\jdk1.8.0_77 - Path:是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了当前目录下面选择程序外,还应该到哪些目录下去寻找。
eg:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; - CLASSPATH:在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。在JDK5.0之后就可以不必设置该环境变量配置
2.5用txt编写一个简单的java程序
public class Hello{
public static void main(String[] args){
System.out.println("Hello World By Java.");
}
}
2.6检验编写的java程序(windows机器)
打开cmd
进入Hello.java的所在目录
运行命令javac Hello.java(此时的Hello.java不区分大小写,因为windows文件夹不区分大小写)
上述执行没有报错,则运行命令java Hello(这边不加后缀名,并且严格区分大小写,因为此时是JVM执行java类,java语言是区分大小写的)
3.Java中的关键字
3.1认识Java标识符
标识符就是用于给Java程序中变量、类、方法等命名的符号
注意点:
1.标识符可以由字母、数字、下划线、美元符号($)组成,但是不能以数字开头
2.标识符不能是Java关键字和保留字
3.标识符是严格区分大小写的
3.2 变量是什么?
简而言之,可以把变量看作是一个盒子,可以放钥匙,手机,饮料等,也可以在我们需要的时候缓存我们想要的新物品。
通过三个元素描述变量 (变量类型 变量名 变量值)
3.3.Java中的数据类型
java是一种"强类型"语言,在Java存储中数据是有类型的,而且在编译时就确定其类型
基本数据是数据的本身,而引用数据是指数据的空间地址
graph LR
数据类型-->基本数据类型
数据类型-->引用数据类型
基本数据类型-->数值型
基本数据类型-->字符型
基本数据类型-->布尔型
引用数据类型-->类
引用数据类型-->接口
引用数据类型-->数组
3.4Java变量的使用规则
Java中变量需要先声明后使用
变量使用时,可以声明变量的同时进行初始化,也可以先声明后赋值
变量中每次只能赋一个值,但可以修改多次
变量名不建议使用中文,在跨平台的时候可能导致乱码
3.5Java中自动类型转换
自动类型转换的条件:
- 1.目标类型与源类型兼容
- 2.目标类型大于源类型
int i=3;
double b=i;//double为目标类型,int为源类型
3.6Java中强类型的转换
- 语法:(数据类型)数值。强类型转换可能会造成数据的丢失
double avg=75.8;
int avg2=(int)avg;//
3.7Java常量的应用
所谓常量,我们可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。使用final关键字表示。常量名一般使用大写字符表示。
3.8Java注释
Java中注释有三种类型,单行注释、多行注释、文档注释
/**
* 文档注释
*/
//单行注释
/*
多行注释
*/
4.常用运算符
4.1运算符
运算符是一种功能符号,用以通知Java进行相关的运算。例如我们需要将变量age的值设置为20,这时候需要一个"="
算术运算符(+、-、*、/、%、++、--)
赋值运算符(=)
比较运算符(>、=、<、>=、<=)
逻辑运算符(&&、||)
条件运算符(|、&、?:)
4.2算术运算符注意点
1.++、--只能用于操作变量,不能用于操作数值或常量
2.int b=++a;是将a执行自增,然后将值赋值给变量b。
3.int b=a++;是将a的值赋值给b,然后再执行自增
4.3赋值运算符
赋值运算符是指为变量或者常量指定数据值符号。"="是将右边的表达式结果赋值给左边的操作数
4.4比较运算符
1.>、<、>=、<=只能用于两边都是数值
2.==、!=两边既可以是数值,也可以是引用类型
4.5逻辑运算符
public static void main(String[] args){
boolean a=true;
boolean b=false;
System.out.println(a&&b);//false
System.out.println(a||b);//true
System.out.println(!a);//false
System.out.println(a^b);//true.a与b有且只有一个true,才返回true,否则返回false
}
1.&&,如果确认左边为false,那么右边就不执行了
2.||,如果左边确认为true,那么右边也不执行了
4.6条件运算符
语法:布尔表达式?:表达式1:表达式2。又称:三元表达式。如果表达式为true,z则返回表达式1,否则返回表达式2
4.7优先级
实际开发中,使用小括号进行优先级确认
5.流程控制语句
1.if
2.if...else
3.if...else if...else(多重if)
4.嵌套if
5.swift。表达式值必须是整型或字符串。case后面可以是常量数值,也可以是常量表达式,但不能是变量或者变量表达式
String str = null;
int result;
switch (str) {
case "1":
result = 1;
break;
case "2":
result = 2;
break;
default:
result = -1;
break;
}
- 6.while
- 7.do...while。先执行后判断
- 8.for
- 9.break。生活中因为某些原因中断既定任务,而在java中用break表示
- 10.continue。跳过循环体中剩余语句,执行下一次循环
6.数组
- 数组可以理解为一个巨大的盒子,里面可以按顺序放多个类型相同的数据
int[] array = {76, 45};
int array2[] = {1};
- 1.语法:数据类型[] 数组名或者数据类型 数组名[]
- 2.分配空间:new 数据类型[数组长度]
- 3.数组是下标从0开始
- 4.使用Arrays类操作数组
- 5.使用forEach操作数组(for(元素类型 变量:遍历对象){})
6.1二维数组
- 可以理解为一种特殊的一维数组,它的每个数组空间中保存的是一个一维数组
- 定义一个两行三列的数组
int[][] hah = {{1, 2, 3}, {4, 5, 6}};
7.方法
- 所谓方法就是用来解决一类问题的代码的有序组合,是一个功能模块。