- 第一部分:计算机编程语言核心结构:
数据类型
、运算符
、流程控制
、数组
、… - 第二部分:Java面向对象核心逻辑:
类和对象
、封装
、继承
、多态
、抽象
、接口
、… - 第三部分:JavaSE核心高级应用:
集合
、I/O
、多线程
、网络编程
、反射机制
、… - 第四部分:Java新特性:
Lambda表达式
、函数式编程
、新Date/Time API
、接口的默认、静态和私有方法
、…
编程语言 : 和计算机进行交流沟通(指挥计算机)的语言
Java语言只是众多编程语言中的一种!
Java语言的特点
Java语言的特点 :
面向对象的编程思想 -> 更符合平时的思维习惯 -> 好学!
强数据类型分类 -> 对数据有非常严格的区分
开源 -> 开发源代码
免费
Java语言概述
Java语言诞生于 1995 年, 第一个Java版本发行于 1996 年;
Java创始人 : 詹姆斯.高斯林 -> "高司令" "搞死你"
Java语言隶属哪家公司:
最早 : SUN 公司 -> 斯坦福大学网络公司
现在 : Oracle 公司 -> 甲骨文公司
甲骨文公司 : java, oracle数据库, MySQL
Java语言的发展史
版本历史:
发行版本 | 发行时间 | 备注 |
---|---|---|
Java | 1995.05.23 | Sun公司在Sun world会议上正式发布Java和HotJava浏览器 |
Java 1.0 | 1996.01.23 | Sun公司发布了Java的第一个开发工具包 JDK |
Java 1.1 | 1997.02.19 | |
Java 1.2 | 1998.12.08 | 拆分成:J2SE(标准版)、J2EE(企业版)、J2ME(小型版) |
Java 1.3 | 2000.05.08 | |
Java1.4 | 2004.02.06 | |
Java 5.0 | 2004.09.30 | ①版本号从1.5改为5.0;②平台更名为JavaSE、JavaEE、JavaME |
Java 6.0 | 2006.12.11 | 2009.04.20 Oracle宣布收购SUN公司,收购价74亿美金 |
Java 7 | 2011.07.02 | |
Java 8 | 2014.03.18 | 5.0版本以来最大变化的版本,长期支持版 |
Java 9 | 2017.09.22 | ①每半年更新一次;②Java 9开始不再支持windows 32位系统 |
Java 10 | 2018.03.21 | |
Java 11 | 2018.09.25 | JDK安装包取消独立JRE安装包,长期支持版–>未来的趋势 |
Java 12 | 2019.03.19 | |
Java 13 | 2019.9.18 | |
Java 14 | 2020.3.17 |
**特点:**高版本的JDK向下兼容(内容)版本之间不通融
JVM和JRE和JDK(重点)Java程序 : 一次编写到处运行 (系统版本)
Java语言版本: JavaSE(基础),JavaEE(企业级开发),JavaME(嵌入式开发,后被Android取代)
系统版本: Windows,Linux,MacOS MacBook pro
JVM : Java虚拟机 -> Java程序运行的载体
每一个 *** 作系统中如果安装了对应Java虚拟机,那么程序就可以生存
JRE : Java运行环境 -> 有了JRE就可以执行程序
JDK : Java开发工具包 -> 有了JDK就可以开发程序
包含关系 :
JRE 包含 JVM,JDK 包含 JRE;
码农: 农民伯伯需要种菜 -> 程序员开发程序
载体 : 土地里 -> JVM
环境 : 温度,水分... -> JRE
种植工具 :锄头,铁锹... -> JDK
JDK的安装
DOS命令
快捷键 : win + r 输入命令 cmd
切换盘符 : 盘符名称:
展示文件夹中的内容 : dir
进入单级文件夹 :cd 文件夹名称
进入多级文件夹 :cd 文件夹名称\文件夹名称\文件名称...
清屏 : cls
退出单级文件夹 : cd..
退出到盘符的根目录 : cd\
退出控制台 : exit
Path环境变量的配置
为什么要配置Path环境变量 ? 是为了保证JDK中bin目录下的java命令能在任意路径下执行 (重点)
JDK7版本之后就不需要配置 classpath
第一个Java程序HelloWorld
编写程序
1. 新建一个txt文档文件,修改文件名 HelloWorld.java
2. 双击打开文件(使用记事本) 定义类 class
public class HelloWorld{ //文件名和类名必须一致
3. 定义程序的入口 主方法
public static void main(String[] args){
4. 编写输出语句
System.out.println("HelloWorld");
}
}
运行程序
1. 找到程序所在的路径位置
2. javac 文件名.java --> 编译: 如果代码没有出错,会生成一个.class文件(字节码文件)
3. java 文件名 --> 运行 : 在控制台上看到结果
注释 comment(重点)
注释: 对代码进行解释说明的文字 --> 代码执行的时候不会执行注释的
格式:
单行注释 : //之后这一行文字都是注释
多行注释 :
/*
这里都是多行注释
这里也是
这也是
..
*/
文档注释 :
/**
这里是文档注释
这里也是
这也是
..
*/
Nodepad++
Nodepad++ : 高级的记事本工具
同类软件: Editplus, sublime, HBuilder , Vscode
关键字(重点)
关键字 : 被Java语言赋予了特殊含义的单词
特点:
1. 组成关键字的单词字母全部小写
2. 关键字不能作为取名字的符号
3. 高级的写代码工具对关键字有特殊颜色的表示 -> 紫色,蓝色
Java中的关键字一共有52个!!
保留字 : 以后可能成为关键字的单词
举例 : 交通标志 -> 被交管部门赋予了特殊含义的单词!!
标识符(重点)
标识符 取名字的符号 -> 项目名,模块名,类名,方法名,变量名,常量名..
组成: 有且仅有
1. 数字
2. 英文字母大小写
3. _
4. $
5. 中文
注意事项:
1. 数字不能开头
2. 不能用关键字
3. 要遵守命名规范 -> 大前提: 见名知意 -> 码出规范
4. 建议不用 _,$ -> _ 有自己的用武之地
5. 不要用中文
字面值常量(重点)
字面值常量 : 在程序的执行过程中,其值不会发生改变的量
组成:
1. 整数常量 : 负整数,0,正整数
2. 小数常量 : 负小数,0.0,正小数
3. 字符常量 : '' 引起来的内容
注意事项 : ''内只能有且仅有一个元素
例如: '9','a','Y','!','我'
空字符的编写
错误示范 ''
正确示范 '\u0000'
4. 字符串常量 : ""引起来的内容
注意事项 : ""可以引一切内容,只要用双引号引起来的内容都是字符串常量
字符和字符串的关系: 羊肉和羊肉串 --> 字符串的本质就是一堆字符(字符数组)
5. 布尔常量 : true false
6. 空常量 : null -> 关键字
作用:
1. 常量是用来给变量赋值
2. 常量可以直接输出(空常量不能直接输出)
变量(重点)
变量 : 在程序的执行过程中,其值可以在一定范围内发生改变的量叫变量.
举例 : 鸡蛋的价格是5元每斤;
变量的定义格式:
数据类型 变量名 = 初始化值;
格式解释:
= : 赋值运算符 -> 把右边的值赋值给左边
; : 语句的结尾
初始化值 : 常量
数据类型 :
1. 表示变量的数据类型
2. 决定了变量的变化范围 byte -128 -- 127
变量名: 变量的名字 -> 使用变量就是拿着变量名使用(引用)
换一个角度理解变量 : 变量理解成一个空间(内存中的一小块区域)用来存储数据
//数据类型决定了空间大小
命名规范(重点)
命名规范: 见名知意
类名 : "大驼峰式命名法则" -> 每个单词的首字母大写
单个单词 : public class Demo{}
多个单词 : public class HelloWorld{}
方法名/变量名 : "小驼峰式命名法则"
单个单词 : 全部小写 例如: num,show()
多个单词 : 第一个单词全部小写,从第二个单词开始每个单词的首字母大写 例如: maxAge,getName()
数据类型(重点)
Java 是一门强类型的 编程语言 -> 对数据的类型有严苛的划分
Java中数据类型的分类:
基本数据类型: 4类8种
引用数据类型: 类 class , 接口 interface , 数组 Array , 枚举 enum , 注解 @interface
字节和比特位(重点)
字节 : 计算机中最小的存储单元; byte -> B //计算机中一切皆字节
比特位 : 计算机中最小的信息单元; bit -> b
二进制的符号 : 0101010101
换算单位:
1 B = 8 b -> 一个字节占用8位
1 KB = 1024 B -> 1024 程序界最重要的换算单位
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 PB = 1024 TB
....
移动硬盘 : 西部数据,希捷 1TB起步
机械 : 价格便宜,存取的速度慢(80MB/s) -> 400-500
SSD(固态) : 价格贵, 存取速度快(300+MB/s) -> 1300
基本数据类型(重点)
类型名称 | 所占字节数 | 变化范围 |
---|---|---|
整型 | ||
byte | 1 | -128 – 127 |
short | 2 | 比byte范围大 |
int | 4 | 正负21个亿 |
long | 8 | 比int范围大 |
浮点型 | ||
float | 4 | 比long范围大 |
double | 8 | 比float范围大 |
字符型 | ||
char | 2 | 0-65535 |
布尔型 | ||
boolean | 1 | true,false |
定义变量的注意事项
整数变量优先推荐使用 int 类型表示;
小数变量优先推荐使用 double 类型表示;
不同的数据类型之间有大小关系:
double > float > long > int > byte,short,char //boolean类型不参与大小比较
变量使用的注意事项:
1. 变量不赋值不能直接使用 --> 变量可以先定义再赋值(使用变量之前赋值)
2. 整数推荐使用int类型表示,浮点数推荐使用double类型表示
3. 表示long类型变量的时候,需要在常量值的后面加L
//如果long类型变量的值没有超过int的范围就可以不加L -> 常量优化
表示float类型变量的时候,需要在常量值的后面加F
4. 变量只在其定义的大括号内有效 -> 变量的作用域就在其定义的大括号内
5. 在同一个作用域内不可以出现相同名称变量
6. 一行可以定义多个变量(这些变量必须是同一类型) -> 此方式不太推荐
数据类型 变量名1 = 初始化值1,变量名2 = 初始化值2,.....;
7. 变量的类型不仅仅是基本数据类型,引用数据类型也可以;
String : 引用数据类型中的一种 --> 表示的是字符串
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)