Java基础笔记【爆肝万字总结】
文章目录
- Java基础笔记【爆肝万字总结】
2. Java概述
2.1 什么是程序
程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。
2.2 Java诞生小故事
- 1990 sun公司启动绿色计划
- 1992 创建oak(橡树)语言
- 1994 gosling参加硅谷大会,演示Java功能,震惊世界
- 1995 sun正式发布Java第一版本
- 2009 甲骨文公司宣布收购Sun。
- 2011 发布Java 7
2.3 Java技术体系平台
-
Java SE(Java Standard Edition)标准版
支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE
-
Java EE (Java Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE
-
Java ME (Java Micro Edition)小型版
支特Java程序运行在移动终端(手机、PDA)上的平台,对Java APl有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。
2.4 Java重要特点
-
Java语言是面向对象的
-
Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证
-
Java 语言是跨平台性的。【即: 一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台】
-
Java 语言是解释型的【了解】
解释性语言:Javascript、PHP、Java
编译性语言:C、C++
区别:
解释性语言:编译后的代码,不能直接被机器执行,需要解释器来执行。
编译性语言:编译后的代码, 可 以直接被机器执行。
2.5 Java的开发工具
- editplus
- notepad++
- Sublime Text
- IDEA
- eclipse
2.6 Java运行机制及运行过程
2.6.1 Java语言的特点:跨平台性
2.6.2 Java核心机制 - Java虚拟机 【JVM java virtual machine】
- JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在 JDK 中。
- 对于不同的平台,有不同的虚拟机。
- Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
2.7 什么是JDK、JRE
2.7.1 JDK基本介绍
-
JDK的全称:Java Development Kit 【Java开发工具包】
JDK = JRE + Java的开发工具 【java, javac,javadoc,javap 等】
-
JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独 安装 JRE 了。
2.7.2 JRE基本介绍
-
JRE的全称:Java Runtime Environment 【Java运行环境】
JRE = JVM + Java 的核心类库【类】
-
包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序, 计算机中只需要安装 JRE 即可。
2.7.3 JDK、JRE和JVM的包含关系
- JDK = JRE + 开发工具集(例如 Javac,java 编译工具等)
- JRE = JVM + Java SE 标准类库(java 核心类库)
- 如果只想运行开发好的 .class 文件只需要 JRE
2.8 下载、安装JDK
-
官方网站:https://www.oracle.com/java/technologies/javase-downloads.html
-
安装JDK步骤:
- 傻瓜式安装,下一步即可。
- 看老师演示。
-
细节说明
- 安装路径不要有中文或者特殊符号如空格等。比如 D:\program\hspjdk8
- 当提示安装JRE时,可以选择不安装,也可以安装。
2.9 配置环境变量path
2.9.1 为什么要配置path
看一个现象:在DOS命令行【快捷方式 win + r】中敲入javac,出现错误提示。
原因分析:错误原因:当前执行的程序在当前目录下如果不存在,win10系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会出现以上的错误提示。所以进入到jdk安装路径\bin目录下,执行javac,会看到javac参数提示信息。
2.9.2 配置环境变量path的步骤
- 我的电脑–属性–高级系统设置–环境变量
- 增加 JAVA_HOME 环境变量,指向jdk的安装目录 D:\program\hspjdk8
- 编辑path环境变量,增加 %JAVA_HOME%\bin
- 打开DOS命令行,任意目录下敲入javac\java。如果出现javac的参数信息,配置成功。
2.10 安装JDK的练习
请同学们安装好 JDK,配置好 path 环境变量。可以在控制台下正确的执行。
2.11 Java快速入门
2.11.1 需求说明
要求开发一个Hello.java程序,可以输出“hello,world!”
2.11.2 开发步骤
- 将 Java 代码编写到扩展名为 Hello.java 的文件中。【代码说明】
- 通过 javac 命令对该 java 文件进行编译,生成 .class 文件。
- 通过 java 命令对生成的 class 文件进行运行。
2.11.3 运行原理示意图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HzFwEs5d-1672581161563)(C:\Users\123\Desktop\Java基础笔记\图解\运行原理示意图.png)]
2.12 Java开发快速入门
-
课堂小练习
要求开发一个 Hello.java 程序,可以输出“老王 is studying java!”
-
文件有中文时,如何处理
- 在文件->设置文件编码->GBK
- 需要重新保存即可
//这是 java 的快速入门, 演示 java 的开发步骤
//对代码的相关说明
//1. public class Hello 表示 Hello 是一个类,是一个 public 公有的类
//2. Hello{ } 表示一个类的开始和结束
//3. public static void main(String[] args) 表示一个主方法,即我们程序的入口
//4. main() {} 表示方法的开始和结束
//5. System.out.println("hello,world~"); 表示输出"hello,world~"到屏幕
//6. ;表示语句结束
public class Hello {
//编写一个 main 方法
public static void main(String[] args) {
System.out.println("韩顺平教育 hello");
}
}
//一个源文件中最多只能有一个 public 类。其它类的个数不限。[演示]
//Dog 是一个类
//编译后,每一个类,都对于一个.class
class Dog {
//一个源文件中最多只能有一个 public 类。其它类的个数不限,也可以将 main 方法写在非 public 类中,
//然后指定运行非 public 类,这样入口方法就是非 public 的 main 方法
public static void main(String[] args) {
System.out.println("hello, 小狗狗~");
}
}
class Tiger {
public static void main(String[] args) {
System.out.println("hello, 小老虎~");
}
}
2.13 Java开发注意事项和细节说明
-
Java源文件以.java为扩展名。源文件的基本组成部分是类(class),如本类中的Hello类。
-
Java应用程序的执行入口时main()方法。它有固定的书写格式:
public static void main(String[] args) {...}
-
Java语言严格区分大小写。
-
Java方法由一条条语句构成,每个语句以“;”结束。
-
大括号都是成对出现的,缺一不可。【习惯:先写 {} 再写代码】
-
一个源文件中最多只能有一个public类。其它类的个数不限。
-
如果一个源文件包含一个public类。则文件名必须按该类名命名。
-
一个源文件中最多只能有一个public类。具它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法。
2.14 Java转义字符
2.14.1 Java常用的转义字符
在控制台,输入 tab 键,可以实现命令补全。
- \t : 一个制表位,实现对齐的功能
- \n : 换行符
- \\ : 一个\
- \" : 一个"
- \’ : 一个’
- \r : 一个回车
2.14.2 应用实例
//演示转义字符的使用
public class ChangeChar {
//编写一个 main 方法
public static void main(String[] args) {
//\t :一个制表位,实现对齐的功能
System.out.println("北京\t 天津\t 上海");
// \n :换行符
System.out.println("jack\nsmith\nmary");
// \\ :一个\ \\
System.out.println("C:\\Windows\\System32\\cmd.exe");
// \" :一个" System.out.println("老韩说:\"要好好学习 java,有前途\"");
// \' :一个' System.out.println("老韩说:\'要好好学习 java,有前途\'");
// \r :一个回车 System.out.println("韩顺平教育\r 北京");
// 解读
// 1. 输出 韩顺平教育
// 2. \r 表示回车
System.out.println("韩顺平教育\r 北京"); // 北京平教育
}
}
2.14.3 课堂练习
要求:请使用一句输出语句,达到输入如下图形的效果。
public class ChangeCharExer01 {
//编写一个 main 方法
public static void main(String[] args) {
//完成代码
System.out.println("书名\t 作者\t 价格\t 销量\n 三国\t 罗贯中\t120\t1000");
//示意 => 可读性很好
//下面代码完成 两个数相加
//定义变量
int n1 = 10;
int n2 = 30;
//求和
int sum = n1 + n2;
//输出结果
System.out.println("结果=" + sum);
}
}
2.15 初学Java易犯的错误
-
找不到文件
解决方法:源文件名不存在或者写错,或者当前路径错误
-
主类名和文件名不一致
解决方法:声明为public的主类应该与文件名一致,否则编译失败
-
缺少分号
解决方法:编译失败,注意错误出现的行号,再到源代码中指定位置改错
-
常见错误总结:
学习编程最容易犯的错是语法错误(初学者)。Java要求你必须按照语法规则编写代码。如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼错了单词,java编译器都会报语法错误。尝试着去看懂编译器会报告的错误信息。
举例:
- 1 -> I
- 0 -> o
- 英文符号写中文符号 ;; “ "
- void -> viod 拼写错误
不好修改的错误其实是业务错误,环境错误。
2.16 注释(comment)
2.16.1 介绍
用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性);注释是一个程序员必须要具有的良 好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。
2.16.2 Java中的注释类型
- 单行注释 //
- 多行注释 /* */
- 文档注释 /** */
2.16.3 单行注释
格式:// 注释文字
2.16.4 多行注释
格式:/* 注释文字 */
2.16.5 使用细节
- 被注释的文字,不会被 JVM(java 虚拟机)解释执行
- 多行注释里面不允许有多行注释嵌套
2.16.6 文档注释
注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
javadoc -d 文件夹名 -xx -yy Demo3.java
2.16.7 代码演示
//演示注释使用
public class Comment01 {
//编写一个 main 方法
public static void main(String[] args) {
//单行注释
//多行注释
/* 示意 => 可读性很好
下面代码完成 两个数相加
定义变量
注释
注释
int n1 = 10;... System.out.println("ok~~");
*/
int n1 = 10;
int n2 = 30;
//求和
int sum = n1 + n2;
//输出结果
System.out.println("结果=" + sum);
}
}
/**
* @author 韩顺平
* @version 1.0
*/
public class Comment02 {
//编写一个 main 方法
public static void main(String[] args) {
//选中,然后输入 tab 整体右移
//选中,然后输入 shift+tab 整体左移
int n1 = 1 + 2;
int n2 = 5 + 10
int n2 = 1 + 3 * 34;
}
}
2.17 Java代码规范
- 类、方法的注释,要以javadoc的方法来写
- 非javadoc的注释,往往是给代码的维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等
- 使用tab操作,实现缩进,默认整体向右移动,用shift+tab整体向左移动
- 运算符和 = 两边习惯性加一个空格。比如:2 + 4 * 5 + 345 - 89
- 源文件使用utf-8编码
- 行宽度不要超过80字符
- 代码编写次行风格和行尾风格
2.18 DOS命令【了解】
2.18.1 DOS介绍
DOS:Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构。
2.18.2 相关知识补充:相对路径、绝对路径
相对路径:从当前目录开始定位,形成的一个路径。
绝对路径:从顶级目录d,开始定位,形成的路径。
2.18.3 常用的dos命令
-
查看当前目录有什么内容:dir
-
切换到其他盘下:盘符号 cd : change dirctory
-
切换到当前盘的其他目录下 (使用相对路径和绝对路径演示), …\表示上一级目录
-
切换到上一级目录
案例演示:cd …
-
切换到根目录:cd \
-
查看指定的目录下所有的子级目录 tree
-
清屏 cls
-
退出DOS exit
-
说明:因为小伙伴后面使用 DOS 非常少,所以对下面的几个指令,老韩给大家演示下, 大家了解即可 (md[创建目录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切])
2.19 本章作业
-
编写hello,world程序【Homework01.java】
-
将个人的基本信息(姓名、性别、籍贯、住址)打印到控制台上输出。各条信息分别占一行。【Homework02.java】
-
JDK、JRE、JVM的关系。【Homework03.java】
-
环境变量path配置及其作用。【Homework04.java】
-
Java编写步骤。【Homework05.java】
-
Java编写7个规范。【Homework06.java】
目录下所有的子级目录 tree -
清屏 cls
-
退出DOS exit
-
说明:因为小伙伴后面使用 DOS 非常少,所以对下面的几个指令,老韩给大家演示下, 大家了解即可 (md[创建目录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切])
2.19 本章作业
- 编写hello,world程序【Homework01.java】
- 将个人的基本信息(姓名、性别、籍贯、住址)打印到控制台上输出。各条信息分别占一行。【Homework02.java】
- JDK、JRE、JVM的关系。【Homework03.java】
- 环境变量path配置及其作用。【Homework04.java】
- Java编写步骤。【Homework05.java】
- Java编写7个规范。【Homework06.java】
- 初学者Java易犯的错误。【Homework07.java】