Java基础知识了解

第一章 开发前言

一、java语言概述

Java是当下最流行的一种编程语言,至今有20年历史了。Java语言之父是James Gosling。

Java是Sun公司(Stanford University Network)开发的一门计算机编程语言,目前被Oracle公司收购(2004年4月20日),编程语言就是用来编写软件的。

发展历程:

* 1991年4月任职太阳微系统(Sun Microsystems公司)的詹姆斯·高斯林(James Gosling)开发出oak(意为橡树) 
* 1995年5月23日,oak语言改名为Java,Sun公司发布Java1.0版本 (Java语言诞生)
* 1996年1月发布JDK 1.0版本 
* 1997年2月发布JDK 1.1版本
* 1998年12月发布JDK1.2版本 ,细分为J2SE(标准版),J2EE(企业版),J2ME(小型版,比较老版,主要用于移动端)
* 2000年5月发布J2SE 1.3版本
* 2002年2月发布J2SE 1.4版本
* 2004年10月J2SE 1.5改名为JavaSE 5.0,JavaEE 5.0,JavaME 5.0
* 2006年12月发布JavaSE 6版本
* 2009年4月20日Oracle甲骨文公司以74亿美元收购Sun公司,并于2011年7月发布JavaSE 7版本
* 2014年3月发布JavaSE 8版本 (市场主流版本)
* 2017年9月发布JavaSE 9.0版本
二、Java语言能做什么?

Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服 务器后台处理大数据的存储、查询、数据挖掘等也有很多应用
* a: Java的应用
* 开发QQ、迅雷程序(桌面应用软件)
* 淘宝、京东(互联网应用软件)
* c: Java的擅长
* 互联网:电商、P2P等等
* 企业级应用:ERP、CRM、BOS、OA等等
* d: Java语言平台
* JavaSE(标准版)部分,学习完JavaSE并不能开发大型项目。
* JavaEE(企业版)部分,学习完JavaEE部分就可以开发各种大型项目了。

1.2计算机基础知识
二进制
计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含 0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)。

**十进制数据转成二进制数据:**使用除以2获取余数的方式

**二进制数据转成十进制数据:**使用8421编码的方式

字节
* 字节是我们常见的计算机中最小存储单元。
* 计算机存储任何的数据,都是以字节的形式存储,右键点击文件属性,我们可以查看文件的字节大小。
* 8个bit(二进制位) 0000 0000表示为1个字节,写成1 byte或者1 B。
* 8 bit = 1 B
* 1024 B =1 KB
* 1024 KB =1 MB
* 1024 MB =1 GB
* 1024 GB = 1 TB

常用的DOS命令
* A: 常用的DOS命令
* a: 打开Dos控制台
* win+r--cmd--回车
* b: 常用dos命令
* cd.. : 退回到上一级目录
* cd\ : 退回到根目录
* cd tools: 进入tools文件夹
* d: : 回车 盘符切换
* cd d:\234 :进入d盘的234文件夹,再切换盘符(d:)才能进入d:\234
* dir : 列出当前目录下的文件以及文件夹
* cls : 清除屏幕
* ipconfig: 查看本机的相关网络配置
* c: dos控制台运行记事本程序
* D:\>C:\windows\notepad.exe
* 还可以省略“.exe”后缀,例如:D:\>C:\windows\notepad

第二章 Java语言开发环境搭建

2.1Java虚拟机——JVM
JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的
运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。
跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系
统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM
运行在操作系统上。

如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。

2.2JRE和JDK
JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库 。
JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。
我们想要运行一个已有的Java程序,那么只需安装JRE 即可。
我们想要开发一个全新的Java程序,那么必须安装JDK 。
小贴士:
三者关系: JDK > JRE > JVM

2.3JDK的下载和安装
* A: JDK的下载
* a: 官网 http://www.oracle.com/cn/index.html
* B: JDK的安装
* a: 傻瓜式安装
* 双击安装程序,然后一路next即可(但是不建议)
* b: 安装的推荐方式
* 安装路径不要有中文或者特殊符号如空格等。
* 所有和开发相关的软件最好安装目录统一。
* 举例:我的JDK安装路径
* D:\develop\Java\jdk1.7.0_72
* 当提示安装JRE时,可以选择不安装。建议还是安装上。
* D:\develop\Java\jre\
* 安装路径中没有的文件夹,会自动创建

* C: 验证安装是否成功
* a:通过DOS命令,切换到JDK安装的bin目录下。
* D:\develop\Java\jdk1.7.0_72\bin
* b:然后分别输入javac和java,如果正常显示一些内容,说明安装成功

2.4JAVA_HOME环境变量的配置
JAVA_HOME环境变量的配置
让Java的bin目录下的javac命令可以在任意目录下执行

配置环境变量步骤(Windows10版本)
文件资源管理器 --> 此电脑鼠标右键 --> 选择属性
选择高级系统设置 --> 选择 环境变量
点击下方系统变量的 新建 ,创建新的环境变量,变量名输入JAVA_HOME ,变量值输入JDK9的安装目录
选中Path 环境变量, 双击或者点击编辑
点击新建,键入%JAVA_HOME%\bin ,必须是英文格式。选中该行,上移到最上方,点击确定。
环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac 命令。

第三章 HelloWorld入门程序

3.1程序开发步骤说明
开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行。

3.2编写Java源程序
* A: 编写步骤
* a: 创建一个普通文本文件,将其修改为.java文件。
* b: 完成模板代码:
public class HelloWorld{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
* B: 实际开发步骤
* a: 定义类
* b: 写main方法
* c: 写输出语句(注意:下面的代码是源代码,是不能运行的)
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
* d:注意:
* 不要隐藏文件的扩展名
* 类名和文件名要保持一致
* C: Java代码的编写执行过程
* a: 编写源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java;
* b: 编译:然后通过编译器把源文件编译成字节码文件,字节码文件扩展名为.class;
* c: 运行:最后使用解释器来运行字节码文件。

3.3 编译Java程序
* A:程序编译
* 作用:将程序员写的java源代码生成可以运行的Java程序(.class文件)
* 过程:
* a:开启DOS窗口并切换到.java文件所在的目录 比如HelloWord.java存放于d:\day01\code 中
* b:切换到HelloWorld.java所在目录,但是此目录中没有javac命令,所以在编译时要写出javac命令的全路径
* c: d:\day01\code>d:\develop\java\jdk1.7.0_72\bin\javac HelloWorld.java 回车
* d:在d:\day01\code文件夹中多了个HelloWorld.class文件(又叫做字节码文件)

3.4 运行Java程序
* A:运行程序
* a: 开启DOS窗口并切换到.class文件所在的目录
* b: 此目录中没有java命令,所以在运行时也要写出java命令的全路径
* c: d:\day01\code>d:\develop\java\jdk1.7.0_72\bin\java HelloWorld 回车(注意:运行时不用后缀名.class)
* d: 控制台打印显示结果"HelloWorld"

3.5 入门程序说明
编译和运行是两回事
编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们
所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
运行:是指将class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。

关于main方法
main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多
少程序,JVM在运行的时候,都会从main方法这里开始执行。

3.6 注释
* A: 注释
* a: 定义:用来解释和说明程序的文字,注释是不会被执行的
* b: 分类:
* 1:单行注释 //注释内容
* 2:多行注释 /*注释内容*/
* 3:文档注释 /**注释内容*/
* c: 注意:
* 1:对于单行和多行注释,被注释的文字,不会被JVM解释执行
* 2:对于文档注释,可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档
* 3:单行注释可以嵌套使用,多行注释不能嵌套使用
* d: 案例代码
/*
实现了一个Java的HelloWorld程序
实现步骤:
1. 定义类
2. 定义主方法
3. 一条命令,控制台输出了HelloWorld
*/
public class HelloWorld{
//main主方法,固定格式,程序的入口点
public static void main(String[] args){
//系统 输出 打印 打印的内容
System.out.println("HelloWorld");
}
}

3.7关键字
* A: 关键字
* a: 定义
* 是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,int,double均为Java已经预设好的
* b: 特点
* 组成关键字的字母全部小写(代码中的带色部分) ,注意String不是关键字
* c: 常见关键字
* public static void class等
* d: 注意事项
* goto与const是Java中的保留字,即没有赋予特殊含义却仍被Java占用的单词,类似Editplus这样的高级记事本,针对关键字有特殊的颜色标记,非常直观。

3.8标识符
* A: 标识符
* a: 定义
* 就是给类,接口,方法,变量等起名字时使用的字符序列
* b: 组成规则(只能包含下面的内容,不能有其它内容)
* 1: 英文大小写字母
* 2:数字字符
* 3:$和_
* c: 注意事项
* 1:数字不能开头
* 2:不可以使用关键字
* 3:严格区分大小写,不限制长度
* 4:起名时,尽量达到见名知意
* B:标识符中常见的命名规则(这些规定是不受语法约束的)
* a: 包名:多单词组成时所有字母均小写,使用.连接 aaa.bbb.ccc
* b: 类名&接口名:大驼峰式 AaaBbbCcc
* c: 变量名&方法名:小驼峰式 aaaBbbCcc
* d: 常量名:多单词组成是所有字母均大写,使用_连接AAA_BBB_CCC
* C: 案例代码
/*
标识符的规则:
组成: 字母52个A-Z a-z 数字0-9 _ 下划线 $ 美元符

注意: 不能数字开头,不能是关键字

定义名字:
_abc 0a a0 a#a a$a void
YES NO YES NO YES NO

类的名字: 首字母大写,第二个单词首字母大写
Hello
MeiGuoJiaLiFuNiYa

方法的名字:首字母小写,每个单词首字母大写
sayHello
*/
//类的名字首字母大写
public class Demo{
public static sayHello(){
//方法的名字:首字母小写,每个单词首字母大写
System.out.println("HelloWorld");
}
}
3.9Java中的数据类型
* A:为什么有数据类型
* Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型
* B:Java中数据类型的分类
* 基本数据类型: 基本数据类型是Java语言中内置的类型,分别是整数类型、小数类型、字符类型、布尔类型。
这四类基本类型是最简单、最基础的类型。
* 整数(byte、short、int、long)、小数(float、double)、字符类型(char)、布尔类型(boolean)
* 引用数据类型: 是强大的数据类型,它是基于基本数据类型创建的。JavaSE中提供了一个超级类库,类库中包含了近万种引用数据类型。
不过现在我们先要学习的是基本类型!
* 数组、类、接口

第四章 常量

4.1概述
* A: 常量的定义
* 常量就是不变的数据量, 在程序执行的过程中其值不可以发生改变
* Java中定义常量的四种方法 https://blog.csdn.net/Mis__Sunday/article/details/88692422
* 常量定义和数据类型
* a: 整形常量默认是int类型
* b: 小数常量默认是double类型
* c: 定义长整形数据如果值超过int取值范围后面要+"L"
* d: 定义float类型的数据后面要+"f" 否则默认是double
* B: 常量分类
* a: 整数类型
* 十进制表示方式 正常数字 如 13、25等
* 二进制表示方式 以0b(0B)开头 如0b1011 、0B1001
* 十六进制表示方式 以0x(0X)开头 数字以0-9及A-F组成 如0x23A2、0xa、0x10
* 八进制表示方式 以0开头 如01、07、0721
* b: 小数类型
* 如1.0、-3.15、3.168等
* c: 布尔类型
* true、false
* d: 字符类型
* 如'a','A', '0', '家'
* 字符必须使用’’ 包裹,并且其中只能且仅能包含一个字符。
* e: 字符串类型
* 字符串String类型是一种引用类型,我们先了解作为常量类型的使用方式
* 如“我爱Java”,“0123”,“”,“null”
* 字符串必须使用“”包裹,其中可以包含0~N个字符。

4.2 程序中输出Java中的常量
* A: 案例代码
/*
Demo类,演示Java中的所有类型的常量
程序当中输出:
输出整数常量
小数常量
布尔常量
字符常量
字符串常量
*/
public class Demo{
public static void main(String[] args){
//输出整数 十进制
System.out.println(50);

//输出整数,二进制, 数字开头0B
System.out.println(0B11);

//输出整数,八进制,数字开头0
System.out.println(051);

//输出整数,十六进制,数组开头0X 0-9 A-F
System.out.println(0XE);

//输出浮点数据
System.out.println(5.0);

//输出布尔数据,只有2个值,true,false 关键字
System.out.println(true);
System.out.println(false);

//输出字符常量,单引号包裹,只能写1个字符
System.out.println('a');

//输出字符串常量,双引号包裹,可以写0-n个字符
System.out.println("HelloWorld");
}
}

上一篇:C# 基础知识总结


下一篇:linux学习-磁盘管理