这里首先和大家说一句,笔者是一名刚刚入坑的小白,从自学Java基础到现在已经过去少许时日了,笔者记述本篇博客的原因也是为了巩固自身所学,同时,也会一直发博记述自己的自学历程,如有不足之处欢迎各位大佬前来指教。
笔者先简单概述一下Java语言的发展史 :
学习Java的肯定会知道Java语言之父——詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。
Java语言版本
* JDK 1.1.4 Sparkler 宝石 1997-09-12
* JDK 1.1.5 Pumpkin 南瓜 1997-12-13
* JDK 1.1.6 Abigail 阿比盖尔--女子名 1998-04-24
* JDK 1.1.7 Brutus 布鲁图--古罗马政治家和将军 1998-09-28
* JDK 1.1.8 Chelsea 切尔西--城市名 1999-04-08
* J2SE 1.2 Playground 运动场 1998-12-04
* J2SE 1.2.1 none 无 1999-03-30
* J2SE 1.2.2 Cricket 蟋蟀 1999-07-08
* J2SE 1.3 Kestrel 美洲红隼(sǔn) 2000-05-08
* J2SE 1.3.1 Ladybird 瓢虫 2001-05-17
* J2SE 1.4.0 Merlin 灰背隼 2002-02-13
* J2SE 1.4.1 grasshopper 蚱蜢 2002-09-16
* J2SE 1.4.2 Mantis 螳螂 2003-06-26
* JAVASE 5.0 (1.5.0) Tiger 老虎
* JAVASE 5.1 (1.5.1) Dragonfly 蜻蜓
* JAVASE 6.0 (1.6.0) Mustang 野马
* JAVASE 7.0 (1.7.0) Dolphin 海豚
当然,现在JDK已经升级到了1.8版本啦!
Java语言平台:
* J2SE(Java 2 Platform Standard Edition)标准版
* 是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发
* J2ME(Java 2 Platform Micro Edition)小型版
* 是为开发电子消费产品和嵌入式设备提供的解决方案
* J2EE(Java 2 Platform Enterprise Edition)企业版
* 是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发
Java语言特点:
* 简单性
* 解释性
* 面向对象
* 高性能
* 分布式处理
* 多线程
* 健壮性
* 动态
* 结构中立
* 安全性
* 开源
* 跨平台
既然提到跨平台,那么什么是跨平台性呢?Java语言的跨平台原理呢?
其实只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM :Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
因为在不同的操作系统上安装了对应版本的Jvm虚拟机,所以Java语言号称一处编译,四处运行。既然如此,JVM可以跨平台吗?答案当然是否定的!
JRE和JDK的概述
* A:什么是JRE
* 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
* JRE:JVM+类库。
* B:什么是JDK Java Develop kit
* JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
* 其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等
* JDK:JRE+JAVA的开发工具。
* C:为什么JDK中包含一个JRE
* 开发完的程序,需要运行一下看看效果。
* D:JDK,JRE,JVM的作用和关系
jdk:
提供给我们开发人员所使用的工具, 其中包含jre
jre:
包含了jvm以及核心类库(Java已经写好的代码)
jvm:
Java虚拟机
关系:
包含关系
jdk --> jre+核心类库
jre --> jvm+开发人员需要的开发工具
说了一堆基础原理,跟随笔者一起继续探讨:
JDK的下载和安装
* A:JDK的下载
* a:官网 http://www.oracle.com
* b:演示下载流程
* B:JDK的安装
* a:傻瓜式安装
* 双击安装程序,然后一路next即可(但是不建议)
* b:安装的推荐方式
* 安装路径不要有中文或者特殊符号如空格等。
* 所有和开发相关的软件最好安装目录统一。
* 举例:我的JDK安装路径
* D:\develop\Java\jdk1.7.0_72
* 当提示安装JRE时,可以选择不安装。建议还是安装上。
* c:演示安装流程
* 可以先在d盘建立一个文件夹develop
* 然后演示安装过程
* C:验证安装是否成功
* a:通过DOS命令,切换到JDK安装的bin目录下。
* D:\develop\Java\jdk1.7.0_72\bin
* b:然后分别输入javac和java,如果正常显示一些内容,说明安装成功
安装环境变量:
path环境变量的作用及配置方式1:
* A:在JDK的bin目录下开发程序容易产生的问题
* a:如果文件过多,不方便管理
* b:删除自己写过的不需要的文件,可能不小心把JDK自带的工具给删除了
* B:如何解决问题呢
* notepad这样的命令为什么在任何路径下都能够执行,配置path环境变量
* C:配置方式
* a:xp系统
* 右键点击桌面计算机→选择属性→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→将jdk安装目录下的bin目录添加到最左边并添加分号。
* b:win7/win8/win10系统
* 右键点击桌面计算机→选择属性→选择高级系统设置→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→将jdk安装目录下的bin目录添加到最左边并添加分号。
* path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的可执行文件
Path环境变量的配置方式2:
* A:先配置JAVA_HOME
* B:再修改path
* C:最后说一下path是有先后顺序关系的
那么,一切准备就绪,我们不管是开发还是学习,我们都需要开发工具,这样才能更加便捷的开发:
* A:notepad(微软操作系统自带)
* B:Editplus/Notepad++
* C:Eclipse
* D:MyEclipse
* E:Idea ....
注释概述及其分类:
* A:什么是注释* 注释就是方便我们程序员去阅读代码的, 简单来说就是对代码的一种解释
* B:注释的分类及讲解
* 单行注释 --> //
* 多行注释 --> /* 内容 */
* 文档注释 --> /** 内容 */
ps: 文档注释更大的应用是用来生成对应的帮助文档.
* 注释的作用
* A:解释说明程序
* B:帮助我们调试错误
关键字的概述和使用:
* A:什么是关键字* 被Java赋予特殊含义的单词
* 注意事项:
* 自己起的名字不能用关键字命名
* B:关键字的特点
* 所有单词字母全部小写
* C:常见关键字
* public class static void
* D:关键字的注意事项
* goto和const作为保留字存在,目前并不使用,类似Editplus这样的高级记事本,针对关键字有特殊的颜色标记,非常直观
标识符的概述和组成规则:
* A:什么是标识符* 就是自己给类, 方法, 接口, 变量... 起的名字
* 大白话: 就是自己起的名字
* B:标识符的组成规则
* 26个英文字母(大小写都可以)
* 数字0-9
* _ $
* C:标识符注意事项
* 1, 数字不能开头
* 2, 不能使用关键字
* 3, 中间不能以空格隔开
* D: 找出合法的标识符
* 1--> abc1
* 2--> 2ba --> 错误, 数字开头了
* 3--> aac) --> 错误, 使用了不支持的符号
* 4--> e$_5
* 5--> hello World --> 错误, 中间不能以空格隔开
* 6--> classa
标识符中常见的命名规则:
* 见名知意* A:包
* 最好是域名倒过来,要求所有的字母小写
* www.itheima.com
* com.itheima.demo
* com.itheima.tools
* B:类或者接口
* 如果是一个单词首字母大写
* 如果是多个单词每个单词首字母大写(驼峰标识)
* C:方法或者变量
* 如果是一个单词全部小写
* 如果是多个单词,从第二个单词首字母大写
* D:常量
* 如果是一个单词,所有字母大写
* 如果是多个单词,所有的单词大写,用下划线区分每个单词
常量的概述和使用:
* A:什么是常量* 在程序的执行过程中, 其值不可以发生改变的量
* B:Java中常量的分类
* (字面值)常量
* (自定义)常量
* C:字面值常量的分类
* 字符串常量 被双引号括起来的内容就是字符串常量
* 整数常量 所有整数
* 小数常量 所有小数
* 字符常量 被单引号括起来的内容, 注意单引号当中只能写的是单个字符
* 多一个不行, 少一个也不行.
* 布尔常量 true false
* 空常量 null // TODO: 数组部分讲解
变量的概述及格式:
* A:什么是变量* 在程序的执行过程中, 其值在某个范围内可以发生改变的量
* 某个范围是什么意思?
* 总结: 因为每一种数据类型的取值范围不同, 所以能够给变量赋的值也限定了范围
举例:变量就好比是商品的一个标签, 用该标签不断记录发生改变的常量
也可以把变量看做为内存中的一个小盒子, 用这个盒子存储着我们需要操作的数值
* B:变量的定义格式
* 数据类型 变量名 = 变量值;
* C:为什么要定义变量
* 用来不断的存放同一类型的常量,并可以重复使用
数据类型的概述和分类:
* A:为什么有数据类型* Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
* B:Java中数据类型的分类
* 基本数据类型
* 引用数据类型
* C:基本数据类型分类(4类8种)
* 整数型
byte 1个字节 -128 ~ 127
short 2个字节
int 4个字节 ***
2147483647
-2147483648
long 8个字节
* 浮点型(小数类型)
float 4个字节
double 8个字节
* 字符型
char 2个字节
* 布尔型
boolean 1个字节
理论上来说, 八分之一个字节就能表示boolean类型的大小, 但是Java中并没有明确他的大小
然而计算机中的最小存储单位就是字节, 所以是boolean类型应该占的是1个字节
定义不同数据类型的变量:
注意:
1. 所有整数, 默认都是int类型
2. 所有小数, 默认都是double类型.
如果想要定义float类型的变量, 需要加上f标识, 大小写都可以
如果想要定义Long类型的变量, 需要加上L表示, 大小写都可以, 但是建议大写!
使用变量的注意事项:
* a:作用域问题* 同一个区域不能使用相同的变量名
* b:初始化值问题
* 局部变量在使用之前必须赋值
* c:一条语句可以定义几个变量
* int a,b,c...;
夜深啦!笔者明日还要上班,今日暂更到这里,而且笔者相信随着博客的不断更新,会有各位感兴趣的内容,下次见!!!