1.01计算机基础(计算机、软件、硬件概述)
计算机:俗称电脑,包括硬件和软件两个部分。硬件指看得见的物理部分,软件指看不见的指令,这些指令控制硬件并且使得硬件完成特 定的任务。
计算机硬件:是指计算机系统中,由电子,机械和光电元件组成的各种物理装置的总 称。这些物理装置按照系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
计算机主要的硬件组件构成:
中央处理器(cpu):CPU 通常由两部分组成: 控制单元(control unit) 和算术 / 逻辑单元 (arithmetic/logic unit) 控制单元用于控制和协调其他 组件的动作。算术 / 逻辑单元用于完成 数值运算(加 法、减法、乘法、除法)和逻辑运算(比较)。
内存(主存):计算机的内存由一个有序的字节 序列组成,用于存储程序及程序需要的数据。你可以 将 内存想象成计算机执行程序的工作区域。一个程序 和它 的数据在被 CPU执行前必须移到计算机的内存 中。
存储设备(硬盘、磁盘等):计算机的内存 (RAM)是一种易失的数据保存形式:断电时存储在内 存中的信息就会丢 失。程序和数据被永久地存放 在 存储设备上,当计算机确实要使用它们时再移入存, 因为 从内存读取比从存储设备读取要快得多。
存储单位: 1024B=1KB;
1024KB=1MB;
1024MB=1GB;
1024GB=1TB;
输入输出设备(键盘、鼠标、显示器、打印机 等):输入设备和输出设备让用户可以和计算机进行 通信。
通信设备(调制解调器、网卡等):计算机可以 通过通信设备进行联网。
计算机软件:可以使计算机按照事 先预定好的顺序完成特定的功能,计算机软件按照其功能划分为系统软件与应用软件。
系统软件:DOS(Disk Operating System),Windows,Linux,Unix,Max,Android,IOS
应用软件:马桶MT,微信,抖音,支付宝
1.02计算机基础(软件开发和计算机语言概述)
软件:是按照特定顺序组织的计算机数据与指令的集合。
数据:能够被计算机所识别的东西
指令:对数据的具体的操作
软件开始:借助开发工具与计算机语言制作软件。
著作:书籍←书写←文字←语言
开发:软件←编程←代码←语言
语言:人类进行沟通交流的各种表达符号,方便 人与人之间进行沟通与信息交换。
计算机语言:人与计算机之间进行信息交流沟通 的一种特殊语言 。计算机语言中也有字符,符号等等。常见的计算机语言如C、C++、Python、Java。
发展过程:机器语言→汇编语言→高级编程语言
机器语言:计算机的原生语言就是机器语言 ( machine language), 即一套内嵌的原子指令集。因为 这些指令都是以二进制代码的形式存 在,所以,为了 以机器原生语言的形式给计算机指令,必须以二进制 代码输人指令。
汇编语言:汇编语言 (assembly language) 使用 短的描述性单词(称为助记符)来表示每一条机器语 言指令。
高级语言:它们的平台是独立的, 这意味着可以
使用高级语言编程,然后在各种不同类型的机器 上运行。高级语言很像英语,易于学习和使用。 高级语言中的指令称为语句。
1.03计算机基础(人机交互)
软件的出现实现了人与计算机之间更好的交互。
交互方式:
图形化界面:这种方式简单直观,使用者易于接 受,容易上手操作。
命令行方式:需要有一个控制台,输入特定的指 令,让计算机完成一些操作。较为麻烦,需要记住一 些命令。
1.04计算机基础(常见的DOS命令讲解)
命令 | 作用 |
---|---|
dir | 列出当前目录下的文件以及文件夹 |
md | 创建目录 |
rd | 删除目录 |
cd | 改变指定目录(进入目录) |
cd… | 退回上级目录 |
del | 删除文件 |
exit | 退出DOS命令行 |
cls | 清屏 |
notepad | 记事本 |
mspaint | 画图板 |
calc | 计算机 |
rd /s | 询问删除 |
rd /q /s | 直接删除 |
1.05计算机基础(快捷键)
快捷键 | 作用 |
---|---|
Ctrl+A | 全选 |
Ctrl+C | 复制 |
Ctrl+V | 粘贴 |
Ctrl+X | 剪切 |
Ctrl+W | 关闭选项卡/窗口 |
Ctrl+P | 打印 |
Ctrl+F | 查找 |
Ctrl+N | 新建文件 |
Win+E | 打开资源管理器 |
Win+R | 打开运行窗口 |
Win+I | 打开Windows设置 |
Win+P | 打开投影模式 |
Win+D | 快速切换桌面 |
Win+L | 快速锁屏 |
Alt+F4 | 强制关闭程序 |
Shift+Delete | 强制删除,不走回收站 |
Tab | 制表符/自动补全 |
2.01Java语言基础(Java语言概述)
Java 是由 James Gosling(詹姆斯·高斯林) 在 Sun公司领导的小组开发的。 (2010 年 Sun公司被 Oracle收购。 )Java 最初被称为 Oak(橡树),是 1991 年为消费类电子产品的 嵌入式芯片而设计的。1995 年更名为 Java, 并重新设计用于开发 Web应用程序。
Java语言平台版本:
JavaSE(Java Standard Edition):标准版
是为开发普通桌面和商务应用程序提供的解决方案
该技术体系是其他两者的基础,可以完成一些桌面应 用程序的开发。
JavaEE(Java Enterprise Edition):企业版
是为开发企业环境下的应用程序提供的一套解决方案
该技术体系中包含的技术如JSP,Servlet,SSM框架 等,主要针对于Web应用程序开发
JavaME(Java Micro Edition):微型版
是为开发电子消费类产品和嵌入式设备提供的解决方 案。
Java SE 是基础,其他 Java 技术都基于Java SE。 Java SE也有很多版本,本书采用最新的版本 Java SE 8。Oracle发布 Java 的各个版本都带有 Java 开发工具包(Java DevelopmentToolkit,JDK)。Java SE 8 对应的 Java 开发工具包称为 JDK 1.8(也称为 Java 8 或者JDK 8 )。
JDK 是由一套独立程序构成的集合,每个程序都是从命令行调用的,用于开发和 测试Java 程序。
JDK简介 :
bin 存放Java开发工具 Binary二进制 编译 javac.exe 运行java.exe 只能命令行使用
db 数据库支持文件DataBase
include 底层C语言支持,因为JVM是C写的
jre 运行环境
lib jar文件,支持Java语言开发核心类库 Library jar包
src 源代码包压缩包文件
javafx-src 新一代的Java图形化界面开发工具包 编译AWT Swing
2.02Java语言基础(Java语言跨平台原理)
Java语言特点:简单性,面向对象,分布式处理,健壮性,结构中立,开源,跨平台,解释性,高性能,多线 程,多态,安全性。
跨平台:通过Java语言编写的应用程序在不同的系统平台上都可以运行。只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由 JVM来负责Java程序在该系统上的运行。
2.03Java语言基础(Java开发中的问题小结)
1.语法错误 编译时就检查了 细心点
2.运行时错误 检查代码逻辑
3.逻辑错误 需求与结果不符 检查代码逻辑和需求逻辑
4.扩展名被隐藏
5.文件名和类名一致
6.建议 严格区分大小写
7.出现中文标点符号
8.遗漏括号
9.遗漏分号
10.遗漏引号
11.命名拼写错误
程序风格问题:
1.正确的注释和注释风格
2.正确的缩进和空白
3.块的风格
2.04Java语言基础(一个简单的Java程序)
1.Hello World!
class hello{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
2.05Java语言基础(关键字的概述和使用)
关键字:被Java语言赋予特殊含义的单词,不能乱用!
关键字特点:组成关键字的字母全部小写 关键字注意 事项:goto和const作为保留存在,不推荐使用。高级记事本对其有特殊颜色标记。
2.06Java语言基础(标识符的概述和组成规则)
标识符是为了标识程序中诸如类、方法和变量的元素而采用的命名。
- 标识符是由字母、数字、下划线(-) 和美元符号($)构成的字符序列。
- 标识符必须以字母、下划线(_)或美元符号($)开头,不能以数字开头。
- 标识符不能是保留字(参见保留字列表)。
- 标识符不能是 true、false 或 null。
- 标识符可以为任意长度。
2.07Java语言基础(标识符中常见的命名规范)
在Java程序中定义的标识符必须严格遵守上面列出的规则,否则程序在编译时会报错。除了上面列 出的规则,为了增加代码的可读性,还需要遵守以下规范:
- 包名所有字母一律小写,单词与单词之间用.连接 例如openlab.java.test。
- 类名和接口名每个单词的首字母都要大写,例如ArrayList、StringDemo。
- 常量名所有字母大写,单词之间用下划线连接,例如INTEGER_MAX、DAY_OF_MONTH。
- 变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写,例如 userName、etUserName。
- 在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。
2.08Java语言基础(注释的分类和作用)
在编写程序时,为了使代码易于阅读,通常会在实现功能的同时为代码加一些注释。注释是对程序 的某个功能或者某行代码的解释说明,它只在Java源文件中有效,在编译程序时编译器会忽略这些注释 信息,不会将其编译到class字节码文件中去。
Java中注释分类格式:
-
单行注释 //注释文字
-
多行注释 /注释文字/ 多行注释中不能有多行注释
-
文档注释 /*注释文字/
Java中的注释作用:
-
解释说明程序,提高程序的阅读性
-
可以帮助我们调试程序
提醒
-
注释是一个程序员必须要具有的良好编程习惯
-
初学者编写程序可以养成习惯:先写注释再写代码
-
将自己的思想通过注释先整理出来,再用代码去体现
-
因为代码仅仅是思想的一种体现形式而已
2.09Java语言基础(变量)
变量被用于存储程序中后面要用到的值。它们被称为变 量是因为它们的值可以被改变。
变量用于表示特定类型的数据。为了使用变量,可以通过告诉编译器变量的名字及其可 以存储的数据类型来声明该变量a 变量声明告知编译器根据数据类型为变量分配合适的内存 空间。声明变量的语法如下:
datatype variableName;
下面是一些变量声明的例子:
int count; // Declare count to be an integer variable double radius; // Declare radius to be a double variable double interestRate; // Declare interestRate to be a double variable
这个例子中使用了数据类型 int 和 double。后面还将介绍更多的数据类型,例如, byte、short、long、float、char 和 boolean。
如果几个变量为同一类型,允许一起声明它们,如下所示:
datatype variablel, variable2, … variablen;
变量之间通常由逗号隔开,例如:
int i, j, k; // Declare i, j, and k as int variables
变量常都有初始值。可以一步完成变量声明和初始化。例如,考虑下面的代码:
int count = 1;
它等同于下面的两条语句:
int count; count = 1;
也可以使用简捷的方式来同时声明和初始化同一类型的变童。例如:
int i = 1, j = 2;
深入:
-
变量其实就是内存区域中的一个小空间
-
该空间有其物理地址值,但是不方便访问,所以用变量名去替代
-
该空间是有大小的,具体大小看具体数据类型
-
该空间的值只能在能够相互兼容的两种数据类型之间进行改变
-
常量值不是存在变量的小空间里面的,而是存在常量池
-
变量小空间里存储的仅仅是常量在常量池中的地址
-
注意:变量存储的仅仅是地址,常量池中常量的地址,堆内存中对象的地址
提示
在賦值给变量之前,必须声明变量。方法中声明的变量在使用之前必须被斌值。 任何时候,要尽可能一步完成变量的声明和斌初值。这会使得程序易读,同时避免程序设计错误。
2.10Java语言基础(常量的概述和使用)
— 个变量的值在程序执行过程中可能会发生变化,但是命名常量(named constant)或简 称常量,则表示从不改变的永久数据。
常量的三个好处:
-
不必重复输入同一个值;
-
如果必须修改常量值(例如,将 PI的值从 3.14 改为 3.14159),只需在源代码中的一个地方做改动;
-
给常量赋一个描述性的名字会提高程序的易读性。
常量的数据类型:
整型常量:整型常量是整数类型的数据,有二进 制、八进制、十进制、十六进制4种表示形式。
浮点常量:浮点数常量就是数学中用到的小数, 分为float单精度浮点数和double双精度浮点数两种类 型。 其中,单精度浮点数后面以F或f结尾,而双精度 浮点数以D或d结尾。当然,在使用浮点数时,也可 以 不写结尾处的后缀,此时虚拟机默认是double双精度 浮点数。
字符常量:字符常量用于表示一个字符,一个字 符常量要用一对英文半角格式的单引号’’引起来,它可 以是 英文字母、数字、标点符号以及由其他转义序列 来表示的特殊字符。 其中’\u0000’表示一个空白字 符,即在单引号之间没有任何字符。之所以能这样表 示,是因为 Java采用的是Unicode字符集,Unicode字 符以\u开头。
字符串常量:字符串常量用于表示一串连续的字 符,一个字符串常量要用一对英文半角格式的双引 号””引起 来。
布尔常量:布尔常量即布尔型的两个值true和 false,该常量用于区分一个事物的真与假。
null常量:null常量只有一个值null,表示对象的引 用为空。
2.11Java语言基础(进制转换)
Java针对整数常量提供了四种表现形式: -
二进制
-
八进制
-
十进制
-
十六进制
进制:就是进位制,是人们规定的一种进位方法。对于任何一种进制,X进制,就表示某一位置上的 数运算时逢X进一位。二进制就是逢而进一,以此类推。
2.12Java语言基础(数据类型)
Java语言是静态编译型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同 大小的内存空间。
在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序会 报错。
在Java中所有的整数常量默认是int型,所有的小数常量默认是double型。
- 整数类型
- 浮点类型
- 字符类型
- 布尔类型
布尔型变量用来存储布尔值,在Java中用boolean表示,该类型的变量只有两个值,即true和 false。
数据类型转换:
1.自动类型转换:自动类型转换也叫隐式类型转 换,指的是两种数据类型在转换的过程中不需要显示 地进行声明。要实现自动类型转换,必须同时满足两 个条件,第一是两种数据类型彼此兼容,第二是目标 类型的取值范围大于源类型的取值范围。
整数类型之间可以实现转换,如byte类型的数据 可以赋值给short、int、long类型的变量,short、 char 类型的数据可以赋值给int、long类型的变量,int类型 的数据可以赋值给long类型的变量。
整数类型转换为float类型,如byte、char、 short、int类型的数据可以赋值给float类型的变量。
其他类型装换位double类型,如byte、char、 short、int、long、float类型的数据都可以赋值给 double类型的变量。
2.强制类型转换:强制类型转换也叫显示类型转 换,指的是两种数据类型之间的转换需要进行显示地 声明。当两种类型彼此不兼容,或者目标类型取值范 围小于源类型时,自动类型转换无罚进行,此时需要 进行强制类型转换。
boolean类型不能转换为其他的数据类型。
默认转换:
byte,short,char→int→long→float→double
强制类型转换:目标类型 变量名=(目标类型)(被转换的数据)
2.13Java语言基础(运算符) - 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三目运算符的基本用法
数据类型 变量名=布尔表达式?值1:值2;
2.14Java语言基础(输入和输出功能) - 输入
导包 import java.util.Scanner
定义对象 Scanner scanner=new Scanner(System.in) - 输出
System.out.println();//输出并换行
System.out.print();//输出不换行
System.out.printf();//可以像C语言的printf一样输出