1、计算机基础
1.1、计算机 = 硬件 + 软件
1.1.1、硬件
(1)cpu : cpu是计算机中的运算核心与控制核心。负责了解析计算机的指令、与计算机运算的执行。
(2)内存: 数据与cpu交互的桥梁。 程序所需要的数据都会先加载到内存中,cpu是直接读取内存中数据运算的。
特点: 存取速度快。
缺点:断电或者是程序退出的时候,内存中的数据都会丢失。
(3)硬盘(机械硬盘、固态硬盘):可以永久性保存数据, 缺点: 存取的速度慢。 固态硬盘: 读取速度非常快。
1.1.2、软件
软件就是按照一定顺序组织起来的计算机指令与数据的集合。
软件 = 数据 + 指令
(1)软件的类别:
系统软件:比如: windows 、 linux 、 mac os 、 ios 、 android(改UI)
应用软件: 应用软件必须要在系统软件的基础上才能使用的。比如: QQ、 微信、 迅雷、 飞信
(2)软件的本质(软件为我们解决了什么问题): 提高了人类与计算机的交互效率。
1.2、人类与计算机的交互方式
图形化界面的交互方式: 简单 、 功能强大。
dos命令的交互方式:需要记忆大量的dos命令, 功能比较弱小。
首先具备一个控制台(命令行提示符窗口)用于输入dos命令:
打开一个控制台的方式:
方式一:开始-------> 所有程序--------->附件----------->命令提示符
方式二:开始------->运行-------->输入cmd即可
1.2.1、常见的dos命令
盘符: | 进入指定的盘下面 |
操作文件夹 | |
dir | 列出当前控制台所在的路径下的所有文件以及文件夹 |
cd 路径 | 进入指定的路径下 |
cd .. | 回退到上一级目录上 |
cd \ | 回退到当前路径下的根目录 |
md 文件夹名 | 创建一个文件夹 |
rd 文件夹名 | 只能删除一个空文件夹。 注意:不能用于删除非空的文件夹。 |
操作文件 | |
echo 数据>文件名.文件类型 | 创建一个文件并在这文件里写入数据 |
type 文件名 | 查看指定的文件内容 |
del 文件名 | 删除指定的文件。 注意: del后面如果跟一个文件夹,那么是删除一个文件夹中的所有文件 |
* | 通配符(可以匹配任意的文件名) |
tab | 内容补全 |
cls | 清屏 |
上下方向键 | 找回上一次所写过的命令 |
exit | 关闭控制台 |
1.2.2、计算机语言(更好的与计算机进行交互)
计算机的发展历史:
机器语言:010101010101010
汇编语言 通过大量的英文单词代表计算机的指令。 add 1 1
高级计算机语言: C \ JAVA \ C++ \ PHP
1993 , JAVA初衷: 机 1994 年互联网刚刚兴起,.(高司令\ 高斯林),改造成了面向互联网的计算机语言。
2、Java特性与环境搭建
java重要特性之 ------- 跨平台(一次编译,到处运行)
平台: 操作系统
2.1、Java开发之前的准备步骤
因为Java是一个跨平台的编程语言,所以开发工具都是基于命令行的。
有很多的团队开发了辅助开发程序的应用软件(就是你用来编程的软件)---- IDE工具【Integrated Development Environment(集成开发环境)
C的IDE,比如VC++
Java的IDE,比如Eclipse、NetBeans、IDEA等
但是初学的时候,建议使用命令行。
2.1.1、软件安装
(1)安装JDK(Java开发者工具集)
注意:
不建议安装到C盘
安装jdk的路径不能带有中文路径或者是空格
不要安装【公共JRE】组件。功能JRE其实是浏览器插件,并且会干扰设置环境变量。
(2)安装文本编辑器
(2.1)Notepad++ 是一个开源的、绿色软件,解压缩就可以使用。如果使用安装方式的,还可以得到中文化、快捷方式、文件关联等功能。使用Notepad++的时候,要在使用之前,先设置【新建】菜单里面的文件编码,设置为ANSI(在Windows就是GBK编码)。
(2.2)EditPlus 是一个小巧文本编辑器,要钱
2.1.2、配置环境
jre: java运行环境。 jre = java虚拟机 + 核心类库(辅助java虚拟机运行的文件)
jdk: java开发工具集 jdk = jre + java开发工具
安装JDK以后,因为没有安装公共JRE,所以需要使用完整的路径,才能找到java的命令
javac : 编译器,负责把源代码编程成.class的文件
java : 执行器,负责执行Java程序
这两个命令,都在JDK的安装目录的bin目录下
jdk目录的介绍:
bin: 存放的是java的开发工具
db : JDK7附带的一个轻量级的数据库,名字叫做Derby
include :存放的调用系统资源的接口文件。
jre : java运行环境
lib : 核心类库
src.zip : java源代码
java.exe 启动java虚拟机解释并执行指定的class文件。
通常为了简化路径,会配置环境变量:
单击【计算机】右键,找到【属性】,在【属性】里面点击【高级系统设置】。
点击【高级】,在打开的界面里面,点击【环境变量】。
在【Administrator的用户变量】里面,点击【新建】一个Path,如果已经有则选择Path变量,点击【编辑】。然后在path环境变量上引用新环境变量所保存的信息。
注意:尽量避免修改的path环境变量信息。path环境变量还有系统自带的信息,如果一旦不不小心删除了path环境变量信息,那么就可能导致系统部分功能无法使用。
Path变量的值,就是JDK安装路径,加上bin。
JDK:C:\Program Files\Java\jdk1.8
Path:C:\Program Files\Java\jdk1.8\bin
classpath 环境变量(作用:设置了class文件的路径信息):
设置了classpath环境变量的时候,启动jvm(java虚拟机)的时候,那么java虚拟机就会根据classpath环境变量所保存路径信息下去寻找对应的class文件。
如果配置classpath环境变量信息(;代表着当前路径)
(1)没加分号,那么java虚拟机仅会在classpath所保存的路径下去搜索对应的class文件,不会在当前路径下去搜索了。
(2)加上分号,那么java虚拟机除了会在classpath所保存的路径下去搜索对应的class文件之外,如果能找到对应的class文件那么就马上指定对应的class文件,否则还会去当前路径下去搜索。
修改环境变量后重启cmd才能生效。
set命令配置临时环境变量(仅对当前控制台窗口有用,窗口一旦关闭就失效):
jdk版本的信息用一次或者几次就不再使用的需求
set | 查看所有的环境变量信息 |
set 环境变量名 | 查看指定的环境变量信息 |
set 环境变量名=路径信息 | 设置指定的环境变量信息 |
set 环境变量名 | 清空指定的环境变量信息 |
set 环境变量名=新路径;%环境变量名% | 在原有的基础上添加新的路径信息 |
2.1.3、cmd编译Java程序
javac 文件名.java
注意:必须先用cd命令切换到文件所在的目录
编译以后,会产生一个 .class 文件,文件名根据代码里面【class】关键字后面的字符串自动决定。
2.1.4、编写第一个java的程序
新建一个txt文件,把后缀名改成 java
/*
java 代码全写到类上
类的定义格式:用一个关键字class即可定义个类
class 类名{ } //大括号表示是一个类的范围,在类的范围之内都可以写代码
public class 是固定的,表示定义一个[类]
Hello 必须和文件名相同
文件的扩展名必须是 .java
如果没有public在最前面,则文件名不需要和类名一样
Hello 就是类名
*/
class Hello
{
//编写一个主方法。 主方法的写法是固定的,是一个程序的入口,代码从主方法开始执行
public static void main(String[] args)
{
// 打印内容的时候不需要引入其他的库,直接输出
// System.out 就是标准输出流
// println 自带换行的打印
// 可以换成 print 不带换行的;printf,类似C的printf,可以用特殊格式输出一系列的值
// println和print方法,都只能输出一个值
System.out.println("Hello World");
}
}
/*
常见问题:
1. 找不到对应的文件
(1)隐藏了后缀名,你的不是java文件是txt文件。
(2)编译的时候写错了文件名。
2. 找不到或无法加载主类 Demo1
(1)运行的时候写错了类名. 注意: class文件的文件名是对应类名的。不是对应的java文件名的。
3. java的代码严格区分大小写。
4. 'javac' 不是内部或外部命令
(1)没有配置或配置错path环境变量信息
*/
2.1.5、在控制台写一个可执行文件的文件名的执行原理:
在控制台写一个可执行文件的文件名,那么系统首先会在控制台当前路径下去搜索是否存在该文件,如果可以找到指定的文件,那么就执行该文件,如果找不到该文件,那么系统还会根据path的环境变量所保存的路径信息下去搜索是否有指定的文件,如果能找到,那么就执行该文件。
3、关键字、自定义的标识符
3.1、标识符(是自定义名)命名规范
变量名、方法名、类名等都是【标识符】
(1)组成元素是由 字母(a-zA-Z) 、数字(0-9) 、 下划线(_)、 美元符号($).
(2)不能以数字开头。
(3)严格区分大小写。
(4)长度无限制。
(5)命名让人见名知意
(6)关键字、保留字不能用于自定义的标识符。
(7)类名和接口名单词的首字母大写,其他单词小写。 比如: RunTime,System(是类名)
(8)变量名与方法名首单词全小写,其他单词首字母大写,其他小写。 比如: doCook();
(9)包名全部单词小写。
(10)常量全部单词大写,每个单词间使用下划线分隔。 比如: UP_DIRECTION
3.2、关键字
特殊含义的标识符,一般用于描述一个程序的结构或者表示数据类型。
3.3、注释
文档注释(可生成开发者文档),多行注释不可。
使用javadoc开发工具即可生成一个开发者文档。
//使用格式:javadoc -d 存放文档的路径 -version-author(可选) java的源文件
//多行注释
/*
注意:
1. 类要用public修饰后才能使用javadoc工具生成一个软件的开发者文档。
2. 写注释的规范:一般单行注释是位于代码的右侧,多行注释与文档注释一般是写在类或方法上方。
*/
//文档注释比多行注释多了个 *
/**
该类是用于模拟QQ软件的
@author 1208JAVA基础班全体同学
@version 1.0
*/
常量
二进制的由来
十进制与二进制之间的转换:
二进制的弊端: 二进制的书写太长了,不方便人类记忆。
二进制的数据特点: 由0~1组成。
解决方案:每三个二进制位就就记录一个数字。
1000(十进制)------> 001,111,101,000(二进制) = 1,7,5,0
一个八进制的数据就是相当于三个二进制位。
十进制、八进制、二进制之间的转换:
八进制数据的特点: 只有0~7这八个字符组成的。
十六进制与十进制、二进制之间的转换
十六进制的数据: 0~9 , a(10),b (11),c(12),d(13),e(14),f(15)
四个二进制位就是一个十六进制的数据.
变量(存储数据的容器)
容器的特点:
1. 容量(大小)。
2. 存储一定格式的数据。
3. 名字.
声明(定义)一个变量的格式:
容量 变量名字 = 数据。
声明变量的方式:
声明变量的方式一:
数据类型 变量名;
声明变量的方式二: 一次性声明了多个相同类型变量
数据类型 变量名1 , 变量2....
注意:
1. 变量是必须先声明再使用。
2. 在一个作用域中不能声明同名 的变量。
主要有两种数据类型: 基本数据类型和引用数据类型
java中的八种基本数据类型:
整数的数据类型:
byte(字节) 8位(bit) 2^8 = 256 -128~127
short(短整型) 16bit 2^16 = 65536
int(整型) 32bit
long(长整型) 64bit 2^64 =
注意: 如果一个整数没有加上任何的标识的时候,那么默认是int类型的数据。
如果需要把该数据表示成一个long类型的数据,那么需要加数据后面加上L表示,L是不区分大小写的,但是建议使用大写。
小数的数据类型:
float(单精度浮点型) 32bit
double(双精度浮点型) 64bit
注意: 如果一个小数没有加上任何标识的时候,那么该小数默认是double类型的数据,如果
需要表示成float类型,那么需要在小数的后面加上f表示。f不区分大小写的。
布尔类型: 布尔类型只有两个 值,true或者false。
boolean 1字节或者4个字节
如果使用boolean声明一个基本类型的变量时,那么该变量占4个字节,
如果使用boolean声明一个数组类型 的时候,那么每个数组的元素占
一个字节。
字符类型:
char 2字节(16bit)
字符串的数据类型是:String 引用数据类型,不属于基本数据类型。
传智day03开始