Appearance
Java 开发环境搭建
常用 DOS 命令
常用的 windows 组合键
- win + D
- win + E
- win + R
- win + L
- alt + tab
打开 DOS 命令窗口
- win + R,输入 cmd
DOS 命令窗口中的复制与粘贴
- 选中要复制的内容,然后点击右键,这就是复制
- 在需要粘贴的位置,再次点击右键就是粘贴
关于 DOS 命令窗口的当前所在目录
- C:\Users\Administrator> 表示当前所在位置是:C:\Users\Administrator
常用 DOS 命令
- dir
- cls
- exit
- 切换盘符
- del:删除 1 个文件,删除多个文件
- ipconfig、ipconfig /all
- ping:-t 参数、上下方向键可以翻出历史命令、ctrl + c 终止 dos 命令的执行
- mkdir
- rd
- ren
- cd:cd /、cd ..、cd 绝对路径、cd 相对路径(小妙招:按 tab 键路径可自动补全)
- 直接进入某个位置的小妙招
- 新建并编辑文件:copy con 文件名,ctrl + z 保存
- type:查看文件内容
- shutdown:关机
批处理文件
- 什么是批处理文件:可以批量执行 DOS 命令的文件
- 新建 my.bat 文件,并编写大量的 DOS 命令
- 双击 my.bat 文件来完成批处理
通用文本编辑快捷键
EditPlus 文本编辑器的安装
- EditPlus 的安装与注册
- EditPlus 的配置:设置字体,取消自动备份,设置缩进字符
文件扩展名
- 在 windows 当中,文件扩展名代表了文件的类型
- 不同的文件类型,会自动采用对应的工具打开
- windows 默认情况下是隐藏文件扩展名的,我们要将它展示出来
通用的文本编辑快捷键
- ctrl+c 复制
- ctrl+v 粘贴
- ctrl+x 剪切
- ctrl+s 保存
- ctrl+z 撤销
- ctrl+y 重做
- ctrl+a 全选
- home 光标回到行首
- end 光标回到行尾
- ctrl + home 光标回到文章开始
- ctrl + end 光标回到文章末尾
- shift + home 或 end 选中一行
- 鼠标双击 (选中一个单词)
- ctrl + shift + 右箭头或左箭头 (选中一个单词)
- ctrl + f 查找
计算机概述
计算机组成
1. 硬件
- 中央处理器(CPU):CPU 是计算机的核心部件,它决定着计算机的计算能力。CPU 的主要指标包括频率、核心数、缓存大小等。它负责执行计算机的指令和处理数据。CPU 从内存中读取指令和数据,并通过其内部的逻辑电路进行计算和处理,最终将结果再存储回内存。
- 内存:内存是计算机的临时存储器,越大的内存能够存储更多的程序和数据,从而提高计算机的运行速度。
- 硬盘:硬盘是计算机的永久存储器,它能够存储大量的数据和程序。硬盘的读写速度和容量大小都会影响计算机的性能。
- 显卡:显卡是计算机的图形处理器,它能够加速计算机的图形处理和显示速度。
- 主板:主板是计算机各个硬件组件的中心部件,它能够影响计算机的稳定性和性能。
- ......
2. 软件
- 系统软件
- 操作系统、驱动程序、系统工具等,用于管理计算机硬件和提供基本的计算机功能
- windows 操作系统、macOS 操作系统、Linux 操作系统、Android 操作系统、iOS 操作系统等
- 应用软件
- 各种办公软件、图形图像软件、音视频软件、游戏软件等,用于满足用户的各种需求和实现各种功能
- 微信、支付宝、银行 APP、QQ、Office、WPS、浏览器、百度网盘、QQ 影音等
硬件、系统软件、应用软件之间的关系
计算机语言概述
计算机语言发展史
- 机器语言:20 世纪 50 年代初期,计算机只能使用二进制代码进行操作,这被称为机器语言。机器语言非常难以理解和编写,因为它们是由 0 和 1 组成的。
- 汇编语言:为了简化编写机器语言的过程,汇编语言被发明出来。汇编语言使用助记符号来代替二进制代码,这使得编写程序变得更加容易。 (以下有几个常见助记符)
- MOV:将数据从一个地方移动到另一个地方。
- ADD:将两个数相加。
- SUB:将两个数相减。
- MUL:将两个数相乘。
- DIV:将两个数相除。
- 高级语言:20 世纪 60 年代,高级语言开始出现。高级语言使用更接近自然语言的语法和结构,使得编写程序变得更加容易。一些著名的高级语言包括 Fortran、COBOL、BASIC 和 ALGOL。
- 面向对象编程语言:20 世纪 80 年代,面向对象编程语言开始流行。这些语言允许程序员创建对象,这些对象可以封装数据和方法,并与其他对象进行交互。一些著名的面向对象编程语言包括 C++、Java 和 Python。
Java 语言概述
Java 是一种面向对象的编程语言(Java 底层是 C++语言实现的),由 Sun Microsystems 公司于 1995 年推出。它是一种通用的、高级的、并发性强的、安全的、可移植的、解释性的、编译性的、动态的、跨平台的编程语言。Sun Microsystems 公司于 2010 年 1 月被甲骨文(Oracle)公司以 74 亿美元的价格收购。甲骨文公司成为了 Java 语言的主要维护者和开发者之一。甲骨文公司官网地址:http://www.oracle.com
Java 之父
Java 之父:Java 之父指的是詹姆斯·高斯林(James Gosling),在 20 世纪 80 年代末和 90 年代初,与 SunMicrosystems 公司的一些工程师一起开发了 Java 语言。出生于加拿大,1983 年获得了卡尔加里大学的计算机科学博士学位。之后,他加入了 Sun Microsystems 公司,开始从事编程语言方面的研究工作。在 Sun 公司,他领导了一支团队,致力于开发一种新的编程语言,这就是后来的 Java 语言。
Java 名字来历与 logo
在 1990 年代初,SUN 公司的研发团队正在开发一种新的软件平台,该平台可以在各种不同的计算机系统上运行,并且能够处理各种多媒体文件。这种平台最初被称为“Oak”,以纪念 SUN 公司的首席科学家 JamesGosling 喜欢的一棵橡树。
然而,在 1995 年,SUN 公司发现该名称已经被一家电视机制造商使用了,因此他们需要一个新的名称。SUN 公司的营销团队进行了一系列的市场调研,他们最终选择了 Java 这个名字。Java 这个名字来源于印度尼西亚的爪哇岛,因为该岛是印度尼西亚咖啡的主产区。SUN 公司的营销团队认为这个名字可以带来一些独特的品牌价值,并且可以与咖啡文化相关联,因此他们决定将这个名字用于新的软件平台。
Java 语言发展史
- 1995 年:Java 语言诞生,由 Sun Microsystems 的 James Gosling 等人开发。
- 1996 年:发布 Java 1.0 版本。
- 1998 年:发布 Java 2(也称为 Java SE)版本,引入了重要的新特性,如 Swing 图形界面工具包、JavaBeans 组件技术等。④ 2004 年:发布 Java SE 5.0 版本,引入了自动装箱/拆箱、泛型、枚举、注解等重要特性。
- 2006 年:Sun Microsystems 发布 Java SE 6 版本,引入了更多的新特性,如 JDBC 4.0、JAX-WS 2.0 等。
- 2010 年:Oracle 公司收购了 Sun Microsystems,成为 Java 语言的主要维护者。
- 2011 年:发布 Java SE 7 版本,引入了重要的新特性,如 Switch 语句的字符串支持、NIO 2.0 等。
- 2014 年:发布 Java SE 8 版本,引入了 Lambda 表达式、Stream API、新的日期/时间 API 等重要特性。(长期支持的版本)
- 2017 年:发布 Java SE 9 版本,引入了模块化系统、REPL 工具等新特性。
- 2018 年 3 月:发布 Java SE 10 版本,引入了局部变量类型推断、G1 垃圾收集器等新特性。以后每 6 个月发布一个新版本。11、12、...21...
- 2018 年 9 月:发布 Java SE 11 版本,成为长期支持版本,移除了一些过时的 API,引入了新的 HTTP Client API 等新特性。(长期支持的版本)
- 2021 年 9 月:发布 Java SE 17 版本,增加了 Sealed 类、Pattern Matching for switch、Records 等功能。(长期支持的版本)
- 2023 年 9 月:发布 Java SE 21 版本,该版本也是长期支持的版本。
Java 的三大分支
- Java SE(Java Standard Edition)是Java的标准版,它包含了Java语言的核心部分,包括基础类库、虚拟机和开发工具等。Java SE主要用于开发桌面应用程序、控制台程序和小型服务器端应用程序等。
- Java EE(Java Enterprise Edition)是Java的企业版,它是在Java SE的基础上扩展而来,主要用于开发大型企业级应用程序,如电子商务系统、ERP系统和CRM系统等。Java EE包含了许多企业级技术,如Servlet、JSP、EJB、JMS、JTA等。
- Java ME(Java Micro Edition)是Java的微型版,它主要用于嵌入式设备和移动设备上的应用程序开发,如手机、平板电脑、数码相机、路由器等。Java ME的特点是体积小、速度快、资源占用少,可以在较小的内存和处理能力的设备上运行。
Java 语言特点
- 简单易学:Java语言的语法和C语言很相似,但是它去掉了C中的复杂的指针和多重继承等特性,使得Java语言更加简单易学。
- 面向对象:Java语言是一种纯面向对象的编程语言,它支持对象的封装、继承和多态等面向对象的特性。
- 平台无关性(跨平台性:一次编译到处运行):Java语言的程序可以在不同的操作系统和硬件平台上运行,这是因为Java程序被编译成字节码,而不是机器码,字节码可以在任何支持Java虚拟机的平台上运行。 实现原理:不同的操作系统上安装属于自己的Java虚拟机,而Java虚拟机屏蔽了各个操作系统之间的差异,从而做到跨平台。
- 安全性:Java语言具有很高的安全性,它提供了一系列的安全措施来保护程序不受恶意攻击和病毒侵害。
- 高性能:Java语言具有很高的性能,它采用了一系列优化措施来提高程序的执行速度和内存使用效率。
- 多线程支持:Java语言具有很好的多线程支持,它提供了一系列的线程控制机制,使得程序可以更好地利用计算机的多核处理能力。
- 自动垃圾回收机制:Java语言采用的是垃圾回收机制(Garbage Cullection,简称GC),也就是自动内存管理机制。在传统的编程语言中,程序员需要手动分配和释放内存,容易出现内存泄漏和悬挂指针等问题。而Java语言采用的垃圾回收机制可以自动分配和释放内存,避免了这些问题。
Java 的加载与执行
需要注意的:
- 包含两个阶段:编译阶段和运行阶段。
- 编译阶段和运行阶段可以在不同的操作系统上完成。
- 编译后删除java源程序,不会影响程序的执行。
- 生成的class文件如果是A.class,则类名为A。如果是Hello.class,则类名为Hello。
- javac是负责编译的命令。java是负责运行的命令。
- class文件不是机器码,操作系统无法直接执行。只有JVM才能看懂。
- JVM会把class字节码解释为机器码,这样操作系统才能看懂。
- JDK、JRE、JVM分别是什么?他们的关系是什么?
第一个 Java 程序
- JDK的下载与安装
- 环境变量PATH的配置
- JDK的重点目录介绍
- bin:该目录主要存放命令
- lib:该目录主要存放JDK的类库
- lib/src.zip:JDK源码
- 第一个Java程序的编写
- 第一个Java程序的编译
- javac命令的使用
- 第一个Java程序的运行
- java命令的使用
- 理解环境变量CLASSPATH
Java 程序的注释
- 注释有什么用?
- Java中的注释是用于解释和说明代码的文本,它不会被编译器编译,也不会被程序执行。
- 注释可以帮助程序员快速解读程序。
- Java中有三种注释方式
- 单行注释
- 多行注释
- javadoc注释
- 注释应该怎么写才好?
- 注释不是越多越好,描述太啰嗦了反而不好。
- 注释应该是在合适的位置写注释,简单明了,起到点睛之笔。
- 注释能力的提升需要在开发过程中不停地训练来加以提升。
- javadoc命令的简单使用
- javadoc的标记:作者@author、版本号@version、方法参数@param
- javadoc -d docs -author -version -encoding utf-8 HelloWorld.java(可以生成HelloWorld程序的帮助文档)
- 解释HelloWorld程序
public class 与 class 的区别
- 一个java源文件中可以定义多个class
- 一个class会编译生成一个class文件
- public的类可以没有,有的话,只能有一个,并且public的类名要和源文件名保持一致
- 任何一个class中都可以有main方法,但对于一个软件来说,一般入口只有一个
本章作业-编程题
第 1 题:打印你的个人信息
① 包括:姓名,年龄,性别,家庭住址,联系电话等
第 2 题:打印一个菱形
第 3 题:打印商品列表
本章作业-问答题
- 计算机的核心硬件是什么?各自有什么用?
- 软件分为哪两类?你知道哪些系统软件?你知道哪些应用软件?
- 计算机语言发展的大体趋势是怎样的?
- Java之父的名字是?logo是?Java中被长期支持的稳定版本是?Java语言的三大分支?
- Java中非常重要的两个特性是?
- 简单的描述出Java的加载与执行的过程?
- 自己能够独立的编写第一个Java程序,从安装JDK,到配置环境变量,到编写,到编译,到最终的运行?
- 能够完全理解PATH环境变量吗?
- 能够完全理解CLASSPATH环境变量?
- Java注释的三种写法?
- javadoc命令是干啥的?
- 你认为Java是解释型语言还是编译型语言?
- Java是如何做到跨平台的?
- Java字节码是机器码吗?