1.计算机基础
计算机概念
俗称"电脑",没有任何软件的计算机 "裸机"!
计算机的分类:
台式计算机,笔记本,大型计算机(公司的机房)
计算机的用途
1)科学计算
2)多媒体应用
3)计算机辅助设计 ----CAD工程制图
4)人工智能
5)计算机网络
2.计算机硬件和软件
硬件:机械,光电元件的物理装置的总称: cpu,电源,主机箱,显卡,键盘,鼠标,主板,显示器....
软件:
系统软件:
pc端: Windows,Linux,Mac
移动端:android,ios
应用软件:
计算机安装的客户端软件:
QQ客户端
微信
yy语音
3.软件结构划分
C/S结构
Client/Server:客户端和服务器端的交互
典型特点:
客户端必须升级,才能使用 服务器高版本的功能: 比如QQ
一阶段:网络编程 TCP/IP 建立客户端和服务器通道!(Socket)
B/S结构
Browser/Server:浏览器端和服务器端的交互
二阶段一直到四阶段 以后研究B/S结构
典型的特点:
只要保证计算机上有浏览器,那么就可以访问服务器高版本功能!(浏览器本地可以不升级)
程序员专用浏览器
"firefox 火狐" /谷歌浏览器
4.软件开发
就是借助开发工具与计算机语言完成软件的制作过程(制作过程中,需要有计算机语言相关的数据和指令!)
开发工具:
前两周---使用notepadd++ 高级记事本(写任何计算机语言代码的会有颜色标记),写代码
使用dos控制台进行编译和运行(javac/java指令)
第三周开始:就会使用 idea2021 (自动编译/很智能化)
二阶段:
前端开发工具:HBuilderX或者vscode/webStorm(idea同一个公司的)
5.人机交互
人和计算机之间沟通一种方式:
1)图形界面化:无论任何操作系统,都会有图形界面化(简单,直观,易于上手)
2)命令行方式:需要控制台 (Linux系统,Linux控制台终端输入一些命令)
windows系统:打开dos控制台,里面输入一些指令
windows系统打开dos控制台的方式:
1)开始菜单输入cmd---->命令行提示符---->以管理员身份打开
2)推荐方式:
windows+r键--->输入"cmd"--->打开控制台
6.人机交互在windows上一些常用指令
1)盘符切换 盘符号后面:(盘符号不区分大小写)
C:\Users\Administrator>D:
D:\>
2)dir罗列当前盘符或者指定文件夹中所有的文件以及文件的名称(详细信息)
3)当dos窗口内容比较多,清屏命令 cls (clear screen:清除屏幕)
D:\>cls
4)cd 目录名称(文件夹名称) :进入指定的目录中 cd(change Directory)
D:\>cd ee_2302
D:\EE_2302>
5)cd.. 回退上一级目录
D:\EE_2302\day2>cd..
D:\EE_2302>
6)cd 多级目录名称:进入指定路径的文件夹中
D:\>cd D:\EE_2302\day2\code
D:\EE_2302\day2\code>
7)cd \ 从多级目录中回退到根目录
D:\EE_2302\day2\code>cd \
D:\>
8)md 目录名称(文件夹名称):创建文件夹 md(make directory)
D:\EE_2302\day2\code>md aaa
D:\EE_2302\day2\code>
9)创建文件 copy con 文件名称 --->按回车--->进入编辑模式(编辑文件内容)---->按 ctrl+z:保存--->按回车--->创建完成
D:\EE_2302\day2\code\aaa>copy con aaa.txt
这是一个txt文件^Z
已复制 1 个文件。
D:\EE_2302\day2\code\aaa>
10)删除指定的文件 del 文件名称
D:\EE_2302\day2\code\aaa>del a.java
D:\EE_2302\day2\code\aaa>
11)批量删除所有的指定后缀的文件 del *.xx
D:\EE_2302\day2\code\aaa>del *.txt 批量删除所有带.txt后缀的文件
D:\EE_2302\day2\code\aaa>
12)删除目录(文件夹) rd 目录名称 (前提条件:这个目录必须为空目录,否则系统提示"目录不是空的")
D:\EE_2302\day2\code>rd aaa
目录不是空的。
D:\EE_2302\day2\code>
传统删除带内容的目录:需要先进入到指定目录中,删除里面的内容;然后回退上一级目录,删除当前文件夹!
13)rd扩展指令: rd /s 目录名称(询问是否删除带内容目录)
D:\EE_2302\day2\code>rd /s aaa
aaa, 是否确认(Y/N)? y
D:\EE_2302\day2\code>
14)rd扩展指令 rd /s /q 目录名称(暴力删除,不询问直接干掉)
D:\EE_2302\day2\code>rd /s /q 高圆圆
D:\EE_2302\day2\code>
7.Java语言发展历史
詹姆斯~高斯林 :Java之父 1995年正式推出"Java" "爪哇"
Jdk版本:目前使用的8版本/9版本 自己新特性
Java应用领域:比较广泛 360行几乎全部涵盖进去
1)电商平台
2)医院挂号系统
3)收银系统
4)健康码
5)比亚迪----MES系统 (传统行业)
6)物流系统
7)元宇宙
畜牧业系统(涉及云端)
Java平台版本(重点)
JAVASE:桌面应用程序 (一阶段)
学习java语法/运算符/流程语句/面向对象的基础/高级特性(集合,io流,多线程,网络编程,反射,jdk新特性....) Java认知
JAVAME:针对嵌入式设备提供一套解决方案
(移动端用到的 早期塞班系统,安卓系统) "看平台"
JAVAEE:针对企业级开发提供一套解决方案 (以后的方向)
二阶段去学习企业级开发的核心技术
Servlet(开源的原生框架 Server Applet:针对服务端程序开发(java服务连接器))
servlet+jsp+jdbc
三阶段:
Spring
SpringMVC
Mybatis
Springboot+vue 前后端分离
四阶段:JavaEE分布式 SpringCloud
8.Java语言特点
很多特点 :
安全性,健壮性,分布式....(学习到后期体会)
比较容易理解:
开源----->开发源代码---涉及的Java设计模式/数据结构/算法...
跨平台---->跨操作系统(不同的操作系统上都可以编译和执行 java文件)
jdk安装目录的文件夹以及文件的介绍
![](https://i-blog.csdnimg.cn/blog_migrate/de73eb2763d26e5311ed39fa02e54a4b.png)
9. Java系统环境的配置path(重点)
为什么要配置系统环境变量?
如果不配置系统环境变量,永远只能在jdk安装目录中bin目录里面去使用javac和java指令,对java编译和运行!
配置是为了让我们在任何目录中都能够使用javac和java指令!
配置方式1
1)复制jdk安装目录的bin目录的路径 举例:D:\develop_software\Java\jdK_8\bin
2)此电脑--->右键属性---->高级系统设置---->环境变量----->系统环境---->找到path将上面路径复制到path中(放在最前面)
3)退出dos窗口,重写打开新的dos窗口,在任何目录中进行编译和运行!
方式1配置的弊端
1)不安全,当jdk版本切换,需要手动更改系统变量中path,可能会导致别的环境变量被误删!
2)这种方式后期 学习"web应用服务器" tomcat(用java编写的),启动会闪屏(启动失败),tomcat服务器启动的时候会寻找系统变量是否有"JAVA_HOME"的变量,如果存在,tomcat启动不会闪屏!
![](https://i-blog.csdnimg.cn/blog_migrate/ade0a35843fa727d5bec9f01d66c0117.png)
配置方式2(推荐方式)
1)复制jdk安装路径(不需要bin目录的路径)
举例:D:\develop_software\Java\jdK_8
2)此电脑--->右键属性---->高级系统设置---->环境变量----->系统环境---->
新建一个变量名
变量名 JAVA_HOME
变量值 上的jdk的安装路径
3)在path中的路径上使用 %JAVA_HOME%\bin
优点:\
1)安全,即使jdk升级,不需要改动系统变量中path路径,只需要更改JAVA_HOME对应的路径
2)后期使用tomcat web服务器的时候,不会出现闪屏!
![](https://i-blog.csdnimg.cn/blog_migrate/fd5983dcf3dbd21d1b4ca951ba1eb5f5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b2829763df7fd14dcf2aca446bff6853.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a725adb0b0abd275eb2e945d1224da2f.png)
Path环境变量的执行流程
1)先要去在指定目录中(文件夹)找是否存在这个 xxx.java文件,如果存在这个文件就直接编译然后运行字节码的前缀
2)如果当前指定的目录中(文件夹)如果不存在xxx.java文件,那么就需要在系统变量path中 %JAVAH_H0ME%\bin
这个路径去寻找是否存在,如果存在,就编译,如果也不存在,那么说明系统中不存在这个文件 "找不到文件!"
10.classpath(了解)
临时环境变量
此电脑--->右键属性---->高级系统设置---->环境变量----->系统变量
新建一个变量名:classpath
变量值:要指定的那个class文件(字节码)的路径
配置完毕之后,在java 字节码文件前缀的时候---运行这个类的时候,始终是在classpath临时环境变量去执行对应.cass文件,如果这个路径中没有class字节码文件,提示"找不到主类"!
11.关键字
/*
什么是关键字?
关键字:被赋予特定含义的单词!
在高级记事本notepad++或者editPlus,以及开发工具idea针对关键字都有
一种特殊颜色标记!
class:Java语言中定义类的格式! (面向对象部分去讲)
public:权限修饰符号 (公开的/公共的,任何人都可以访问的,访问权限足够大)
static:静态修饰符号(在面向对象部分去讲)
void:和Java语言中定义方法(函数)一种格式 (方法的时候讲!)
注意事项:
1)组成关键字的字母全部都是小写,而且特殊含义的!
2)goto 和const不作为关键字,保留字使用!
*/
class KeyWord{
public static void main(String[] args){
System.out.println("被Java语言赋予特定含义的单词!") ;
}
}
12.标识符
/*
什么是Java中的标识符?
在Java语言中,给包,类名,接口名,方法名,变量名,常量等等起名字一种"字符序列";
起名字---做到四个字 "见名知意!"
包(文件夹/目录)---关键字 package(面向对象中讲,分包)
1)给类名(或者接口名)起名字: 遵循格式 "大驼峰命名法" ("阿里规范")
类名是单个单词: 首字母大写,其余小写!
举例:
定义一个学生类
class Student{}
class S{} 不规范
类名是多个单词: 每个单词首字母大写,其余小写
举例:
定义有一个"玩游戏"的类
class PlayGameDemo{}
2)给变量(和方法就是函数)起名字:遵循"小驼峰命名法";
变量名是一个单词:字母全部小写
举例:
定义一个价格(默认int 整数)
int price = 100 ;
变量名是多个单词:第一个单词字母全部小写,
从第二个单词开始每一个单词首字母大写.其余小写
举例:
定义一个苹果价格
int applePrice = 100 ;
3)给常量(程序执行过程中,其值是固定的),起名字的时候:
常量是一个单词(开发中很少见):字母全部大写
举例: 字符串常量 :双引号括起来的内容 "HELLO"
常量是多个单词(开发中经常见到):
每个单词字母都大写,单词和单词之间下划线隔开
举例:
jdk提供了一个类 "Thread 线程类"提供线程优先级的常量
自定义常量:public static final int MIN_PRIORITY = 1;
前面省略修饰符int NORM_PRIORITY = 5; 默认优先级
前面省略修饰符int MAX_PRIORITY = 10; 最大优先级
*/
class MakeNameDemo{
public static void main(String[] args){
}
}