Java学习路线
Java基础->数据库编程->网页开发->JAVAEE开发->SSM框架->权限控制->项目管理和Linux->分布式RPC调用和分布式文件存储->消息中间件->高性能数据处理NoSQL、分库分表->全文检索服务->SpringCloud微服务技术栈->Alibaba微服务技术栈->容器化技术
Java发展史
1991年,SUN公司想设计一种小型计算机语言。要求语言本身是中立的,也是跨平台的。
目前SUN公司被Oracle公司收购了。
三大版本含义
JavaSE(Java standard edition) 标准版,初学入门
JavaEE(Java enterprise edition) 企业版
JavaME(Java micro edition) 微型版
核心优势
跨平台,赶上了最初互联网的发展,并随着互联网的发展而发展。
目前依旧占领市场,建立了强大的生态体系,目前已经覆盖IT各行业的“第一大语言”,是计算机界的“英语”。
剩余优势、特征:
安全性、面向对象、简单性(同c++比较)、高性能(之前低性能,已解决)、分布式、多线程、健壮性
Java程序运行机制
源文件---》编译器---》字节码文件(class文件)---》JVM虚拟机---》操作系统(Linux、Windows、Mac)
计算机高级语言类型:编译型、解释型
编译型:一次编译,一次性执行
解释型:编译一行代码,解释一行代码(大概意思)
Java语言是两种类型的结合
JVM、JRE、JDK
JVM 用于bytecode字节码的“虚拟计算机”。不同操作系统有不同版本JVM,屏蔽了底层运行平台的差别,实现跨平台的核心
JRE Java运行时环境:Java虚拟机(JVM)、库函数等
JDK:JRE,编译器和调试器等
- 如果只是要运行Java程序或者Minecraf这样的Java游戏,只需要JRE就可以了。JRE非常小,其中包含了JVM
- 如果要开发Java程序,就需要安装JDK。
第一个程序helloWord总结、
- Java对大小写敏感
- 关键词class的意思是类。Java是面向对象的语言,所有代码必须位于类里面
- 编译后的源文件,得到相应的字节码文件,编译器为每个类生成独立的字节码文件
- main方法是Java应用程序的入口方法,格式固定:
public static void main(String[] args){...}
- 一个源文件可以包含多个类
- 每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行
- 编程时,一定要注意缩进规范
- 写括号,引号时,一定要成对编写
最常用的DOS命令
- cd 进入一个目录
- cd .. 进入父目录
- dir 查看本目录下的文件和子目录列表
- cls 清除屏幕命令
- 上下键 查找敲过的命令
- tab键 自动补齐命令
经验总结:快速入门,快速实战,实战中解决问题
注释
注释内容不会出现在字节码文件中,Java编译器编译时会跳过注释语句
在Java中根据注释的功能不同,分单行、多行、文档注释
- 单行注释
单行注释使用 “//” 开头
- 多行注释
多行注释 “/* 注释内容 */ ”
- 文档注释
文档注释以“/**” 开头以 “*/”结尾,注释中包含了一些说明性文字以及javaDoc标签,可以帮助生成一些api文档
标识符
- 必须以字母、下划线、美元符“$”开头
- 其他部分可以是字母、下划线、美元符和数字的任意组合
- 大小写敏感,且长度无限制
- 不可以是Java的关键字
表示类名的标识符:每个单词的首字母大写,如Man,GoodMan
表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称为“驼峰原则”,如eat(),eatFood()
Java不采用ASCII字符集,而是采用Unicode字符集。
关键字
Java中的关键字不允许被当做标识符
变量
- 变量的本质上就是代表一个“可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。
- 可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
- Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据空间的大小。如int类型的变量占据空间4个字节,32位。
变量的声明
double salary; //双精度浮点型 8字节 64位
long earthPopulation; //长整型 8字节 64位
int age; //整型 8字节 64位
调整前
public class TestVariable{
public static void main(String[] args){
int age = 18;
int b; //在程序中变量必须初始化
int x=0,y=0,z=1;
System.out.println(age);
System.out.println(b);
System.out.println(z );
}
}
调整后
public class TestVariable{
public static void main(String[] args){
int age = 18;
int b;
int x=0,y=0,z=1;
b = 1;
System.out.println(age);
System.out.println(b);
System.out.println(z );
}
}
变量分类:局部变量、成员变量、静态变量
常量
常量一般用大写字母来表示,单词与单词之间用下划线隔开
public class TestConstant{
public static void main(String[] args){
final double PI = 3.14; //常量一般用大写字母来表示,单词与单词之间用下划线隔开
//如MAX_A
PI = 3.1415;
}
}
编译时错误如下
在上例中,“3.14”被称为字符常量,通过final修饰PI等称为符号常量
数据类型
注:引用数据类型占四个字节,里面存储着对象的地址
运算符
位运算符
按a b两个变量按位置上下相对
与则是每位相同且都是1就是1,否则就是0
或则是两个变量每位只要有1就是1
异或则是两个变量,每个位上相同就是1,不同就是0
取反,每位取反
左移每移一位,多乘个2
右移每移一位,多除个2