计算机主要分为硬件和软件 。
常见的硬件:
1)CPU :Center Processing Unit 中央处理器------- 指令控制和数值计算(日常工作任务)。
2)内存:临时存储数据的存储设备---RAM------内存不通电的时候,数据也就不见了。
3)显卡GPU:Graphic Processing Unit 图形图像处理单元------计算图形数据(图形图像任务)。
4)存储设备:永久性存储设备ROM----- 任何数据存储形式都是二进制。(机械硬盘、固态硬盘、U盘 、光盘、移动硬盘 )
5)输入输出设备:
输入:键盘---字符数据、鼠标---定位数据、麦克风---声音数据、扫描仪---图形图像文本数据。
输出:显示器---图形图像数据 、扬声器---声音数据、打印机---图形图像文本数据。
6)网络设备:
输入:互联网上下载数据。
输出:本地上传数据到互联网。
如何与计算机打交道
1) 图形化界面:操作简单,表现直观,容易上手操作,步骤繁琐,占用空间大 。
2)命令行: CMD(Command )窗口---操作复杂,命令较多,不容易 上手,步骤简单,占用空间小,适合远程。
常用dos命令
c:-----进入C盘根目录、 d:----- 进入D盘根目录、 cd -----xxx 进入xxx目录、 dir -------查看当前目录下的文件和目录、 cd / ------进入到当前所在盘符根目录、cd .. -----返回上级目录 、cls -----清屏 、exit -----退出cmd
计算机由一系列物理硬件组成,之间的沟通方式就是电信号,高低电压-二进制数,所以和计算机之间交流,得通过二进制来做,早期的编程语言/命令都以二进制形式存在。
机器语言
据平台不同,表现形式也不同,为让计算机能够懂得人类,人类必须以二进制的形式向计算机输入数据。
汇编语言
使用一些单词(助记符),将一些常用的操作用单词表示,在程序中慢慢出现了人类的语言。这种代码计算机不懂,还得将这些助记符包括数据转换成对应的二进制给计算机进行计算。转换的工具------汇编器。汇编语言计算方式,还是计算机的计算方式。
高级编程语言
从20世纪50年代产生的高级编程语言:C语言----C++语言---Java语言---C#---Python
高级编程语言完全由单词,符号和数字组成,并且书写流程也是符号人类流程。计算机不能懂这段代码,还得将代码进行转换二进制提交给计算机。转换的形式-----编译,解释
1)静态:在定义变量时有明确的数据类型区分。
2)编译:将源代码全部进行编译,生成一个可执行的二进制文件,计算机去执行这个二进制文件来运行程序。(翻译一本英文书)
1)动态:在定义变量时候没有明确的数据类型区分。
2)解释:将源代码从头到尾,读一行,译一行, 运行一行。(同声传译)
软件
一系列按照特定顺序组织的计算机数据与指令的集合。
软件的分类
1)系统软件(操作系统):控制和管理底层硬件的一套指令,操作系统为用户提供最基本的计算机功能。
2)应用软件:基于系统软件之上的,为用户带了特定领域服务。
软件开发
去编写上述软件。
软件开发的流程: 1. 需求分析 2. 编码实现 3. 测试编码 4. 上线运维 5. 更新迭代 6. 下线
软件岗位:移动端软件研发 Android IOS - 物联网 、Web前端研发 - 数据可视化工程师、 PC端研发 、后端研发
前身Oak(橡树),1994年詹姆斯高斯林和他的团队开发出来的嵌入式编程语言。随着互联网的发展,编程互联网应用程序开发语言(面向对象),到2010年Sun公司被Oracle 收购,Java属于Oralce的子产品。
Oracle公司主要业务: 数据库- Oralce数据库- 把民间产品MySQL也收购了、 Linux服务器操作系统Solaris(redhat Ubuntu 深度 SUSE)、 Java
Microso公司主要业务: SQL Server、 Windows/Windows Server、 C++/C#
Java技术架构
1)JavaSE Java Standard Edition Java标准版:桌面型应用程序
2)JavaEE Java Enterprise Edition Java企业版:服务器应用程序
3)JavaME Java Micro Edition Java微型版:嵌入式应用程序
Java最大的特点——跨平台
一个软件可以在多个平台上运行,而不用更改软件的内容。 是因JVM(Java Virtual Machine)Java虚拟机。 Java源代码文件后缀名为xxx.java 所编译出来的二进制文件后缀名为xxx.class ,JVM主要负责将java语言的字节码文件转换为本地操作系统指令的一个工具软件。 所以,最终是字节码文件在跨平台。
jdk安装目录介绍
bin目录---binary-开发工具、 javac.exe-java编译工具 、 java.exe-java运行工具
db目录---支持数据库开发的一些工具包
include目录---一些链接底层的一些C头文件代码
jre目录---jdk自带的运行环境
lib目录---library 放的是一些第三方Java库
javafx-src.zip---javafx图形化界面开发的源码包
src.zip---Java本身的源代码包
VSCode代码编辑器
关联代码所在的文件夹---文件-打开文件夹-选择文件夹
步骤一:新建Java源代码文件并写入类
点击新建文件,输入Java源代码文件名称和后缀名。
步骤二:编译该源代码文件
打开控制台窗口cmd,将目录切换到所选文件夹目录下 ,再输入 javac 类名.java 对源代码文件进行编译 ,如果没有任何输出,则表明编译成功,并生成同名的字节码文件 类.class 。
步骤三:运行该字节码文件
输入 java 类名
注意:源代码文件名和类名必须一致!
语法错误
编译的过程中出现的一些错误
1)单词评写2)遗漏分号 3)使用中文符号的问题4) 大括号不匹配 5)遗漏关键字单词
运行错误
编译能够通过,在运行期间出现的问题
逻辑错误
代码的运行结果和自己认为的结果不一!
遗漏括号
遗漏分号
遗漏引号
非法使用中文符号
单词拼写错误
被高级编程语言赋予特殊含义的一些单词,关键字一般都是由小写字母组成,不能乱用。
定义数据类型:byte 、short 、int、 long、 float、 double、 char、 boolean、 void、 class、 interface
定义数据类型值:true、 false、 null
定义流程控制语句:if else、 switch、 case、 default、 while、 do for、 break 、continue、 return
定义访问权限修饰符:public、 protected、 private
定义继承关系:extends、 implements
定义实例对象:new 、this 、super、 instanceof
定义函数类型:static 、final、 abstract 、synchronized
处理异常:try、 catch、 finally、 throw、 throws
包:package、 import
其他的一些修饰:native 、assert 、volatile、transient
我们在程序中对变量、函数、类、接口、常量所定义的名称(自定义)。
标识符必须满足以下组成规则:
1) 标识符可以由数字、字母、下划线 _ 、美元符 $ 组成
2)标识符不能以数字开头,当然下划线和美元符其实是可以开头的,但不推荐
3)标识符不能是关键字
4)标识符也不能是Java内置类的名称
5)标识符可以为任意长度,但必须是一个连续的词
6)标识符严格区分大小写
起名尽量要有含义,在一些特殊的情况下(循环里特殊数学符号),可以使用i j k m n 之类的。
标识符命名的规范:
1)大驼峰式:主要针对类名,接口名。所有单词的首字母大写
2)小驼峰是:主要针对于变量名,函数名。除了第一个单词之外,其他单词首字母大写
3)常量规范:所有单词字母大写,单词与单词之间用下划线分隔
4)包名规范:所有单词字母小写,单词与单词之间用句号 . 分隔
myAge 变量名、 getMax() 函数名、 MyMoney 类名 接口名 、MAX_VALUE 常量名 、com.oupeng.java 包名
注解和说明程序的一些程序中的内置文本信息的,但这些内置文本不属于代码的范畴。 在对含有注释的源代码进行编译时,所生成的字节码中不含有注释。
注释主要有三种:
1) 单行注释
//注释内容 直到换行为止
2)多行注释
/* 注释内容 内部可以进行换行 */
3)文档注释
/* *注释内容 内部可以进行换行 */
文档注释可被编译器识别,生成相应 的程序说明书。对某一个类进行文档生成时,该类必须是public型
注释除了有解释说明程序的功能之外,还可以用来调试程序。,多行注释中,不能再出现多行注释 。
常量:在程序中直接出现的一些数据(字面量)
二转十:
10010101的十进制是 128 + 16 + 4 + 1 = 149
十进制149 = 9 * 10^0 + 4 * 10^1 + 1 * 10^2
二进制1011 = 1 * 2^ 0 + 1 * 2^ 1 + 0 * 2 ^2 + 1 * 2 ^3
一个二进制位称之为是一个比特 bit;八个比特称之为一个字节 byte;字节是计算机当中的最小计 数单元。
1 byte = 8 bit、 1 kb = 1024 byte、 1 mk = 1024 kb 、1 gb = 1024 mb 、1 tb = 1024 gb
十转二 :
110101 = 1 + 4 + 16 + 32 = 53
二转八:
10010101--》 010-010-101 --》 0225 = 5 * 8^ 0 + 2 * 8^1 + 2 * 8 ^2
二转十六 :
10010101 --》 1001-0101 --》 0x95 = 5 * 16 ^0 + 9 *16 ^1
二转六:
二进制转为十进制再转为六进制
负数的二进制:
-29的二进制,将正数部分的二进制先取反再加1