Java概述
本章资料
🐇Java概述
🍗勾选文件扩展名
🍗最简单的一个java程序: 1+1
在页面打开一个txt文档, 输入以下程序
进入到该文档所在文件夹, 打开cmd, 输入以下命令
🍗java故事
- 1990年 sun公司启动绿色计划
- 1992年创建oak(橡树)语言(被人注册过, 已无法注册) -> java(java取意于爪洼岛)
- 1994年 gosling参加 硅谷大会演示java功能, 震惊世界
- 1995年 sun正式发布java第1个版本
- 2009年 甲骨文公司宣布收购Sun. 2011年, 发布java7
- 其他Java版本发布详情 https://www.oracle.com/java/technologies/java-se-support-roadmap.html
Java技术体系平台
Java SE(Java Standard Edition)标准版
- 支持面向桌面级应用 (如Windows下的应用程序) 的Java平台, 提供了完整的Java核心API, 此版本以前成为J2SE.
Java EE (Java Enterprise Edition) 企业版
- 是为开发企业环境下的应用程序提供的一套解决方案, 该技术体系中包含的技术如: Servlet, Jsp等
Java ME (Java Micro Edition) 小型版
- 支持Java程序运行在移动终端(手机, PDA)上的平台, 对Java API有所精简, 并加入了针对移动终端的支持, 此版本此前成为J2ME
🍗java特性
1.Java语言是面向对象的(OOP)
2.Java语言是健壮的. Java的强类型机制, 异常处理, 垃圾的自动收集等是Java程序健壮性的重要保证
3. Java语言是跨平台性的. [即: 一个编译好的.class文件可以在多个系统下运行, 这种特性称为跨平台性]
4.Java语言是解释型的
解释型语言: JavaScript, PHP, Java 编译型语言: c / c++
区别是: 解释型语言, 编译后的代码, 不能直接被机器执行, 需要解释器来执行; 编译型语言, 编译后的代码, 可以直接被机器执行, c / c++.
🍗Java开发工具
- editplus, notepad++
- Sublime Text
下载地址: http://www.sublimetext.com/download_thanks?target=win-x64 - IDEA
- eclipse
我们先选择用文本编辑器本sublime, 到对java有一定了解后, 我们再使用IDEA和Eclipse开发工具.
为什么呢?
1.有助于更深刻地理解java技术, 培养代码感.
2.有利于公司面试.[面试时, 往往需要手写代码]
管理员打开, 运行安装. 资源已上传.
🍗Java运行机制
说明: 因为有了JVM, 同一个Java 程序在三个不同的操作系统都可以执行. 这样就实现了Java 程序的跨平台性.
Java运行机制及运行过程
●Java核心机制 - Java虚拟机 [JVM java virtual machine]
基本介绍
1.JVM是一个虚拟的计算机, 具有指令集并使用不同的存储区域, 负责执行指令, 管理数据, 内存, 寄存器, 包含在JDK中
.
2.对于不同的平台, 有不同的虚拟机.
3.Java虚拟机制屏蔽了底层运行平台的差别, 实现了 “一次编译
, 到处运行
”
🍗什么是JDK, JRE
●JDK 基本介绍
1.JDK 的全称(Java Development Kit Java开发工具包
)
2.JDK = JRE + java的开发工具 [java, javac, javadoc, javap等]
3.JDK是提供给Java开发人员使用的, 其中包含了java的开发工具, 也包括了JRE. 所以安装了JDK, 就不用再单独安装JRE了.
●JRE 基本介绍
1.JRE(Java Runtime Environment Java运行环境)
JRE = JVM + Java的核心类库[类]
2.包括Java虚拟机(JVM Java Virtual Machine) 和 Java程序所需的核心类库等, 如果想要运行一个开发好的Java程序, 计算机中只需要安装JRE即可.
●JDK, JRE 和 JVM 的包含关系
1.JDK = JRE + 开发工具集 (例如javac, java编译工具等).
2.JRE = JVM + Java SE标准类库 (java核心类库)
3.如果只想运行开发好的 .class文件, 只需要JRE
🍗我的电脑
小知识点: 桌面没有此电脑
图标, 怎么办?
1.右键 个性化
2.选择主题
3.选择 桌面图标设置
4.勾选 计算机选项
🍗下载, 安装JDK
官方网址: https://www.oracle.com/java/technologies/downloads/#java8
●查看电脑的系统类型步骤
1.我的电脑–属性
选择相应的安装包, 这里 Jdk(64位) 资源已上传.
●细节说明
1.安装路径不要有中文或者特殊符号如空格等. 比如 D:\program\java\jdk1.8_131
2.当提示安装 公共JRE 时, 可以选择不安装, 也可以选择安装. 要安装在空文件夹
下.
🍗配置环境变量path
为什么要配置环境变量 path
在dos命令行 [shortcuts: win+r, 输入cmd]
中敲入javac, 出现错误提示
√原因分析
错误原因: 当前执行的程序在当前目录下如果不存在, win10系统会在系统中已有的一个名为path的环境变量指定的目录中查找. 如果仍未找到, 会出现以上错误提示. 所以进入到 jdk安装路径\bin目录
下, 执行javac, 会看到javac参数提示信息.
●配置环境变量path的步骤
1.我的电脑–属性–高级系统设置–环境变量
2.增加 JAVA_HOME 环境变量, 指向jdk的安装目录 D:\program\java\jdk1.8_131
3.编辑 path 环境变量, 增加 %JAVA_HOME%\bin
4.关闭重新打开(一定要把原先的Dos窗口关闭重新打开一个)
DOS命令行, 任意目录下敲入 javac/java, 如果出现javac 的参数信息, 配置成功.
🐇Java快速入门
🍗Sublime工具使用
●需求说明
要求开发一个Hello.java 程序, 可以输出 “hello, world!”
●Sublime Text调整字体大小
首选项--
设置 - 用户--
“font_size”: 16,
●替换快捷键: ctrl + h
●修改Sublime Text快捷键
操作步骤:首选项–按键绑定-默认⇒按键绑定-用户
需求:如果快捷键冲突,就需要修改;不冲突,按照默认的即可。
如何修改?⇒ 参考视频
1)删除当前行 ctrl+shift+k[默认] ⇒ ctrl+k
按键绑定-默认 粘贴到 按键绑定-用户
2)复制当前行到下一行 ctrl+shift+d[默认] ⇒ ctrl+d
按键绑定-默认 粘贴到 按键绑定-用户
●开发步骤
1.打开Sublime Text, 在D:\idea_project\zzw_javase\javacode\chapter01
下新建Hello.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,world!");
}
}
//一个源文件中最多只能有一个public类, 其它类的个数不限
//Dog 是一个类
//编译后, 每一个类, 都对应一个.class文件
class Dog {
//一个源文件中最多只能有一个public类, 其它类的个数不限,
//也可以将main方法写在非public类中, 然后指定运行非public类,
//这样入口方法就是非public 的main方法
public static void main(String[] args) {
System.out.println("hello,Dog");
}
}
class Tiger {
public static void main(String[] args) {
System.out.println("hello,Tiger");
}
}
2.在文件目录打开dos命令行窗口
运行命令: javac 类名.java
报错
发现乱码, 其原因是: 代码中有中文
解决方案:
查看当前dos窗口的编码: 是gbk编码
切换文件的编码为gbk, 使之与Dos窗口的编码一致. 切换之后, 别忘了保存
再次运行命令
javac 类名.java
java 类名
🍗Java执行流程分析
●什么是编译
java Hello.java
1.有了java源文件, 通过编译器将其编译成JVM可以识别的字节码文件.
2.在该源文件目录下, 通过javac编译工具对Hello.java文件进行编译.
3.如果程序没有错误, 没有任何提示, 但是当前目录下会出现一个Hello.class文件, 该文件称为字节码文件, 也是可以执行的java程序.
●什么是运行
java Hello
1.有了可执行的java程序(Hello.class字节码文件)
2.通过运行工具java.exe对字节码文件进行执行, 本质就是将.class文件装载到jvm机执行.
●java程序开发注意事项
对修改后的Hello.java源文件需要重新编译, 生成新的class文件后, 再进行执行, 才能生效.
🍗注意事项和细节说明
1.Java源文件是以 .java为扩展名. 源文件的基本组成部分是类(class), 如本类中的Hello类.
2.Java应用程序的执行入口是main方法. 它有固定的书写格式:
public static void main(String[] args) {}
3.Java语言严格区分大小写
4.Java方法由一条条语句构成, 每条语句以 “;” 结束.
5.大括号都是成对出现的, 缺一不可. [习惯 先写 {} 再写代码]
6.一个源文件中最多只能有一个public类, 其它类的个数不限.
7.如果源文件包含一个public类, 则文件名必须按该类名命名.
8.一个源文件中最多只能有一个public类, 其它类的个数不限, 也可以将main方法写在非public类中, 然后指定运行非public类, 这样入口方法就是非public 的main方法
🍗学习方法
🍗转义字符
●Java常用的转义字符 ChangeChar.java
在控制台, 输入tab键, 可以实现命令补全
- \t: 一个制表位, 实现对齐的功能
- \n: 换行符
- \\: 一个\
- \“: 一个”
- \‘: 一个’
- \r: 一个回车 System.out.println(“上海\r北京”);
https://blog.csdn.net/wuliEcho/article/details/75477790
//演示转义字符的使用
public class ChangeChar {
//编写一个main方法
public static void main(String[] args) {
/*
1. \t: 一个制表位, 实现对齐的功能
2. \n: 换行符
3. \\: 一个\
4. \": 一个"
5. \': 一个'
6. \r: 一个回车 System.out.println("上海\r北京");
*/
// \t: 一个制表位, 实现对齐的功能
System.out.println("北京\t天津\t上海\t济南");
// \n: 换行符
System.out.println("tom\njack\nmary\nsmith");
// \\: 一个\
System.out.println("D:\\idea_project\\zzw_javase\\javacode");
// \": 一个"
System.out.println("老王说:\"我们要好好学习java, 有前途\"");
// \': 一个'
System.out.println("老王说:\'我们要好好学习java, 有前途\'");
// \r: 一个回车
// 解读
// 1.输出 上海奥运会
// 2.\r表示回车 光标回到本行的初始位置, 但不代表换行
System.out.println("上海奥运会\r北京");//北京奥运会
/*
上海奥运会
北京
*/
System.out.println("上海奥运会\r\n北京");
}
}
课堂练习
要求: 请使用一句输出语句, 达到输出如下图型的效果
代码ChangeCharExercise.java
//演示转义字符的使用
public class ChangeCharExercise {
//编写一个main方法
public static void main(String[] args) {
//代码完成
System.out.println("书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t1000");
}
}
🍗易犯错误
1.找不到文件
解决方法: 源文件名不存在或者写错, 或者当前路径有问题
2.主类名和文件名不一致
解决方法: 声明为public的主类应与文件名一致, 否则编译失败
3.缺少分号
解决方法: 编译失败, 注意错误出现的行数, 再到源代码中指定位置改错
4.常见错误总结
学习编程最容器犯的错误是语法错误(初学者), Java要求你必须按照语法规则编写代码. 如果你的程序违反了语法规则, 例如: 忘记了分号, 大括号, 引号, 或者拼错了单词, java编译器都会报语法错误. 尝试着去看懂编译器会报告的错误信息.
举例
- 1->l
- 0->O
- 英文符号写中文符号
- void->viod 拼写错误
不好修改的错误其实是: 业务错误, 环境错误
🍗注释(comment)
●介绍
用于注解说明解释程序的文字就是注释, 注释提高了代码的阅读性(可读性); 注释是一个程序员必须要具有的良好的编程习惯
, 将自己的思想通过注释先整理出来, 再来用代码去实现.
将自己的思想通过注释先整理出来, 再用代码去实现
将自己的思想通过注释先整理出来, 再用代码去实现
将自己的思想通过注释先整理出来, 再通过代码去实现
将自己的思想通过注释先整理出来, 再通过代码去实现
●Java中的注释类型
1.单行注释
2.多行注释
3.文档注释
●单行注释
基本格式
格式: //注释文字
●多行注释
基本格式
格式: /*注释文字*/
●使用细节
1.被注释的文字, 不会被JVM (java虚拟机) 解释执行
2.多行注释里面不允许有多行注释嵌套
●文档注释
注释内容可以被JDK提供的工具 javadoc 解析, 生成一套以网页文件形式体现的该程序的说明文档, 一般写在类
●基本格式 JavaDocComment02.java
javadoc -d 文件夹名 -xx -yy Demo.java
javadoc标签
/**
* @author 赵志伟
* @version 1.0
*/
public class JavaDocComment02 {
//编写一个main方法
public static void main(String[] args) {
}
}
🍗代码规范
1.类, 方法的注释, 要以javadoc的方式来写
2.非Java Doc的注释, 往往是给代码的维护者看的, 着重告诉读者(维护者)为什么这样写, 如何修改, 注意什么问题等.
3.使用tab操作, 实现缩进, 默认整体向右边移动; 使用shift+tab整体向左移动,
4.运算符和 = 两边习惯性各加一个空格. 比如: 1 + 2 * 3 = 7;
5.源文件使用utf-8编码.
6.行宽不要超过80字符.
7.代码编写次行风格
和行尾风格
(推荐行尾风格)
🐇Dos命令
●DOS介绍
Dos: Disk Operating System 磁盘操作系统, 简单介绍windows的目录结构[原理图].
知识补充: 相对路径和绝对路径
1.常用的dos命令
-
查看当前目录有什么内容
dir: dir d:\abc2\test200 -
切换到其它盘符下: 盘符号 cd [change directory]
切换到c盘cd/D c:
-
切换到当前盘的其它目录下 [使用相对路径和绝对路径] …\表示上一级目录
-
切换到上一级
cd …
cd …/
cd …\ -
切换到根目录
cd \
cd / -
查看指定的目录下所有的子级目录
tree d:
-
清屏
cls [苍老师] -
退出Dos
exit -
创建目录 md
-
删除目录 rd
-
拷贝文件 copy
-
删除文件 delete
-
echo 输入内容到文件
-
type
-
剪切 move
●打开cmd窗口
- 开始 + 系统 + 命令提示符
- Win键 + R 输入cmd打开控制台
- 在任意文件夹下按住Shift键,鼠标右键点击,打开PowerShell窗口
- 资源管理器的地址栏前面加上cmd 路径
#查看电脑的ip ipconfig
#打开应用
calc
mspaint
notepad
ping 命令
ping www.baidu.com
🐇第二章 · 课后作业
1.输出 Hello, world!
/**
* 输出 Hello, world!
*/
public class Homework01 {
//编写一个main方法
public static void main(String[] args) {
//代码完成
System.out.println("Hello, world!");
}
}
2.将个人的基本信息 (姓名, 性别, 籍贯, 住址) 打印到控制台上输出. 各条信息分别占一行
/**
* 将个人的基本信息 (姓名, 性别, 籍贯, 住址) 打印到控制台上输出. 各条信息分别占一行
*/
public class Homework02 {
//编写一个main方法
public static void main(String[] args) {
//代码完成
System.out.println("姓名\t性别\t籍贯\t住址\n赵志伟\t男\t山东\t济南");
}
}
3.JDK, JRE, JVM的关系
/**
* JDK, JRE, JVM的关系
*/
public class Homework03 {
//编写一个main方法
public static void main(String[] args) {
/*
1.JDK = JRE + java开发工具
2.JRE = JVM + java核心类库
*/
}
}
4.环境变量path配置及其作用
/**
* 环境变量path配置及其作用
*/
public class Homework04 {
//编写一个main方法
public static void main(String[] args) {
/*
1.环境变量的作用是为了在dos的任意目录, 可以去使用 javac 和 java命令
2.先配置 JAVA_HOME = 指向jdk安装的主目录
3.编辑path环境变量, 增加 %JAVA_HOME%\bin
*/
}
}
5.Java的编写步骤
/**
* Java的编写步骤
* 1.编写java的源代码
* 2.javac 编译, 得到对应的 .class 字节码文件
* 3.java 运行, 本质就是把 .class 加载到 JVM机 运行
*/
public class Homework05 {
//编写一个main方法
public static void main(String[] args) {
}
}
6.java编写的7个规范
/**
* java编写的7个规范
* 1.类, 方法的注释, 使用javadoc的方式, 即文档注释
* 2.非javadoc注释, 往往是对代码的说明, 给程序的维护者看的
* 说明如何修改, 注意事项
* 3.使用tab, 整体将代码向右移, 使用 shift+tab 整体左移
* 4.运算符和 = 两边, 给空格, 代码看上去清晰 int n = 1 + 2;
* 5.源码文件使用 utf-8 编码
* 6.行宽字符不要超过 80
* 7.代码编程的风格有两种 次行风格 行尾风格 (推荐行尾风格)
*/
public class Homework06 {
//编写一个main方法
public static void main(String[] args) {
}
}
7.初学者学java易犯的错误
/**
* 初学者学java易犯错误
* 1.编译或者运行时, 找不到文件 javac hello0.java. 把文件名或者路径找对
* 2.主类名和文件名不一致, 修改时保持一致即可
* 3.缺失;
* 4.拼写错误, 比如 1->l, 0->O, void->viod. 要求写代码时, 一定要小心
*/
public class Homework07 {
//编写一个main方法
public static void main(String[] args) {
}
}