Java从入门到实战

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开始

猜你喜欢

转载自blog.csdn.net/qq_42535298/article/details/123030995