1 Java概述
1.1 Java语言概述
1.1.1 Java语言发展史(了解)
- 詹姆斯·高斯林(James Gosling)
- SUN (Stanford University Network斯坦福大学网络公司)
- 1995年5月23日 Java语言诞生
- 1996年1月 JDK1.0
- 1997年2月 JDK1.1
- 1998年12月 JDK1.2(将Java分成了J2SE,J2EE,J2ME)
- 2000年5月 J2SE1.3
- 2002年2月 J2SE1.4(1.4.2版本很多公司在使用)
- 2004年10月 JDK1.5(改名JavaSE5.0,JavaEE5.0,JavaME5.0)
- 2006年12月 JavaSE6.0
- 2009年4月20日 甲骨文(Oracle)74亿美元收购Sun。
- 2011年7月 JavaSE7.0(市场主流版本)
-
1.1.2 Java语言平台概述
JavaSE / J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。
- JavaME / J2ME(Java 2 Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案。
- JavaEE / J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、JSP等,主要针对于Web应用程序开发。
1.1.3 JRE和JDK
JDK : JRE+开发工具
JRE: JVM+核心类库
JVM:保证语言的跨平台
三者的关系:
1.1.4 Java语言跨平台原理
- 平台:指的是操作系统(Windows,Linux,macOS)
- 跨平台:Java程序可以在任意操作系统上运行,“一次编写,到处运行”。
即Java的.class程序可以在不同操作系统上均可以运行。(Java的.class文件相当于Windows中的.exe文件,是可执行的程序。)
- 原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)
- Java语言是跨平台的,Java虚拟机不是跨平台的。
1.2 JDK的下载与安装
下载(略);
安装:
这个界面是询问我们,是否需要额外的再装一个jre环境,由于jdk中已经包含了jre环境,因此建议大家,取消即可;
测试:
1:进入到jdk的安装目录;
2:在安装目录位置打开cmd命令行;(在目录位置输入cmd.exe回车)
3:输入java 回车
4:输入javac 回车1.3 CMD常用dos命令
注意:所有cmd命令行的代码不区分大小写;
: 切换盘符;例如: D: E: F:
cd 目录名称
cls 清屏
cir 查看当前文件夹下的所有内容
cd.. 向上退回一级目录1.4 Java快速入门程序
名称解释:
1:类:
编写程序时的最小单元;
2:main方法:
程序执行时的功能入口;
3:程序:
由很多的类组合在一起的整体,就是一个程序;(数据加逻辑)
HelloWorld案例编写:
类的格式:
public class 自定义类名{
public static void main(String[] args){
System.out.println(“为所欲为….”);
}
}
注意事项:
1:注意单词的大小写;(严格区分)
2:main方法中的代码, 每一行的结尾都必须添加一个分号;
3:所有的符号, 必须是英文的!
1.5 程序的编译与运行
Java程序的后缀名必须是.java;
.java程序是不能直接运行的, 这是java源代码, 源代码要想运行, 必须先编译, 编译后得出的文件称为.class文件 (字节码文件); 字节码文件是给计算机识别运行用的, 源代码是给程序员编写用的;
编译的步骤:
1:使用CMD命令行进入到.java文件所在的文件夹中;
2:使用命令编译:
命令格式:
Jdk安装路径/bin/javac HelloWorld.java
运行的步骤:
1: 使用CMD命令行进入到.class文件所在的文件夹中;
2:使用命令运行:
命令格式:
Jdk安装路径/bin/java HelloWorld
注意事项:
编译命令带.Java
运行命令不带.Class;
1.6 配置java_home环境变量
配置javaHome环境变量,可以简化我们编译和运行代码的命令;
名称:
JAVA_HOME
值:
jdk的安装路径(不带bin)
编辑path:
%JAVA_HOME%\bin;
1.7 Notepad++软件
Notepad++就是一个超级记事本,能够帮我们显示代码行号,还带颜色(java中的关键字会变为紫色);
1.8 Java语言中程序中的注释
注释是给程序员看的东西,对代码的执行没有任何影响;
仅仅是给其他程序员读程序的时候,进行的解释说明性的文字;
Java中有3种注释方式:
1:单行注释;仅仅写一行解释说明性的文字;
格式:
// 这里可以为所欲为
2:多行注释;可以写一片文字;
格式:
/
这里可以为所欲为
/
3:文档注释;
格式:
/*
这里的文字可以使用java中特殊的命令;(javadoc)可以将注释单独生成一份对应的API文档;
/
1.9 Java中的关键字
所谓的关键字就是java中提供的固定的单词,具有特殊的含义,可以简单理解为“java的基本命令”;例如:
public class static void 等。。。
2 Java中的常量
2.1 常量概述
所谓的常量就是固定不变的数据值;
例如:1 2 “a” ‘a’ 3.5 6.8…..
2.2 Java中的数据类型
大体上分为两类:
1:基本数据类型
进一步细分为:4类8种:
整数:
byte
short
int (整数默认是int类型)
long (long类型的数据值,后面需要添加L或l)
小数
float (float类型的数据,需要在后面添加F或f)
double(小数默认是double类型)
字符
char (需要使用单引号包裹起来,且只能写一个符号)
布尔
boolean 只有两个数据值,true和false
四类 | 八种 | 字节数 | 数据表示范围 |
---|---|---|---|
整型 (精确) |
byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2147483648~2147483647 | |
long | 8 | -263~263-1 | |
浮点型 (不精确) |
float | 4 | -3.403E38~3.403E38 |
double(默认) | 8 | -1.798E308~1.798E308 | |
字符型 | char | 2 | 表示一个字符,如(‘a’,’A’,’0’,’家’) |
布尔型 | boolean | 1 | 只有两个值true与false |
2.3 Java中数据存储的形式
- 变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。
- 除了字节外还有一些常用的存储单位,大家可能比较熟悉,我们一起来看看:
1byte(B)(字节) = 8bit(比特位) (比特位就是计算机能识别的一个0或1)
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
3 变量
3.1 变量概述
变量就是一个内存中的小盒子;这个小盒子可以保存一个常量值,也可以获取出来这个常量值,也可以修改小盒子的内容;变量在定义的时候,需要明确数据类型,将来保存的数据值必须与声明的数据类型保持一致;
定义变量的代码格式:
数据类型 变量名 = 数据值;
数据类型 :从4类8种之中任选其一;(后面学习时,引用数据类型也能选)
变量名:只要符合标识符规范即可;
= : 固定符号,代表赋值的含义;
数据值:只要是一个常量值都行,(需要与声明的数据类型保持一致);
获取变量值的代码格式:
直接写变量名就是获取变量值;
修改变量值的代码格式:
变量名=数据值;
3.2 变量定义的注意事项
变量未赋值,不能直接使用
引出变量的第二种使用格式
变量只在它所属的范围内有效。(作用域)
变量在哪对大括号内,变量就属于哪对大括号
一行上可以定义多个变量,但是不建议
3.3 标识符
- 作用
给包,类,方法,变量等起名字
- 组成规则(硬性规定)
由字符,下划线,美元符$组成
这里的字符采用的是Unicode字符集,所以包括英文大小写字母,中文字符,数字字符等,但符号只能有两个:下划线和美元符$。
- 注意事项(硬性规定)
不能以数字开头
不能是Java中的关键字
- 命名规则(软性建议)(此处按公司命名规则要求来, 如果没有要求建议按照阿里巴巴java开发手册的命名规则来)
- 基本要求
见名知意
- 常见命名的规则
- 包 (其实就是文件夹,用于对类进行管理)
全部小写,多级包用点隔开。公司域名的反写。
cn.itcast (相当于两级文件夹:cn\itcast)
com.itheima (相当于两级文件夹:com\itheima)
- 类
一个单词首字母大写 Student Car
多个单词,每个单词首字母大写 HelloWorld
- 变量或者方法
一个单词首字母小写。 age show()
多个单词,从第二个单词开始每个单词首字母大写 maxAge getAge()