一、Java语言概述
1 Java跨平台
1.1 什么是平台
通过Java语言编写的应用程序在不同的系统平台上都可以运行
1.2 跨平台的原理
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即 可。由JVM来负责Java程序在该系统中的运行。
1.3 图解
1.4 总结
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的可移植性。也称为Java具有良好的跨平台性。
2 JDK、JRE、JVM
- JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe) 执行工具(java.exe) 打包工具(jar.exe)等
- JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
- JVM(Java Virtual Machine Java虚拟机)
总结
整个java实现跨平台的最核心的部分,保证程序的跨平台性,以及编译执行写好的java程序!
使用JDK开发完成的java程序,交给JRE去运行。由jvm保证跨平台性。
JDK、JRE、JVM 之间的关系
总结
JDK 包含JRE JRE包含JVM ,开发中我们只需要安装JDK即可!
二、DOS命令
2.1 为什么学习DOS命令
在接触集成开发环境之前,我们需要使用命令行窗口对java程序进行编译和运行,所以需要知道一些常用DOS命 令。也为以后学习Linux等其他内容做一些准备!
2.2 如何打开DOS命令窗口
打开命令行窗口的方式:
- win + r 打开运行窗口,输入cmd,回车。
- 点击win窗口图标,输入cmd,选择命令提示符
2.3 常用的DOS命令
操作 | 说明 |
---|---|
盘符名称: | E:回车,表示切换到E盘。 |
dir | 查看当前路径下的内容。 |
cd | 目录 进入单级目录。cd JavaSE |
cd.. | 回退到上一级目录。 |
cd 目录1\目录2... | 进入多级目录。cd JavaSE\test |
cd\ | 回退到盘符目录。 |
cls | 清屏。 |
exit | 退出命令提示符窗口。 |
三、环境搭建
3.1 配置开发环境
3.1.1 为什么配置环境变量
开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的 bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK 的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。
3.1.2 配置步骤
首先右键==【此电脑】---> 选择【属性】---> 点击左侧的【高级系统设置】== ---> 点击==【环境变量】---> 在下方的【系统变量】中点击【新建】==
新建变量名为==【JAVA_HOME】,变量值我们点击【浏览目录】,选择jdk的安装路径jdk1.8.0_121文件夹 然后点击【确定】==
找到path路径中写 %JAVA_HOME%\bin; ,放在最前面,不要忘了加英文的分号
3.2 测试开发环境
通过javac和java命令验证
注意 :如果提示 javac不是内部或者外部命令,原因是path配置错误, 重新按照上一步的步骤进行配置即可!
避免C:\WINDOWS\system32出现所有名字以java开头的文件,有,删之;
注意 :jdk不要安装在带中文的路径下,最好也是不包含空格字符的英文路径;
四、HelloWorld案例
4.1 Java程序开发运行流程
开发Java程序,需要三个步骤:编写源程序,编译程序,运行程序2。
4.2 编写HelloWorld程序
-
新建文本文档文件,修改名称为HelloWorld.java
-
用记事本打开HelloWorld.java文件,输写程序内容
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
- HelloWorld案例的编译和运行
编译:javac 文件名.java
范例:javac HelloWorld.java
////////////////////////////////////////////////////////////////////
执行:java 类名
范例:java HelloWorld
4.3 HelloWorld常见问题
-
大小写问题。Java语言对大小写敏感(区分大小写)
-
非法字符问题。Java中的符号都是英文格式的
-
在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件
-
编译命令后的java文件名需要带文件后缀.java
-
运行命令后的class文件名(类名)不带文件后缀.class
-
错误: 非法字符: '\uff1b' ----中文符号
五、Java基础语法
5.1 注释
5.1.1 什么是注释
注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要
5.1.2 注释的分类
- 单行注释
单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字
// 这是单行注释文字
- 多行注释
多行注释的格式是使用/ 和 /将一段较长的注释括起来
/*
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/
// 注意:多行注释不能嵌套使用。
- 文档注释
文档注释以/**
开始,以*/
结束
/**
这是文档注释的内容
*/
5.2 关键字
5.2.1 什么是关键字
关键字是指被java语言赋予了特殊含义的单词
5.2.2 关键字的特点
关键字的字母全部小写。
常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。
5.3 常量
5.3.1 什么是常量
在程序运行过程中,其值不可以发生改变的量。
5.3.2 Java中常量的分类
- 字符串常量
用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、"abc"、"中国"等
- 整数常量
整数,例如:-10、0、88等
- 小数常量
小数,例如:-5.5、1.0、88.88等
- 字符常量
用单引号括起来的一个字符,例如:'a'、'5'、'B'、'中'等
- 布尔常量
布尔值,表示真假,只有两个值true和false
- 空常量
一个特殊的值,空值,值为null
5.3.3 常量演示
除空常量外,其他常量均可使用输出语句直接输出
/*
常量的分类:
字符串常量 "123" "abc"
整数常量: 100 1 -1 -100
小数常量: 1.1 1.2 -1.1 -1.2
字符常量: 'a' '1' '你'
字符'' 有且仅有一个字符
布尔常量: true false
空常量: null
*/
public class Demo01{
public static void main(String[] args){
// 字符串常量 "123" "abc"
System.out.println("abc");
// 整数常量
System.out.println(100);
System.out.println(-100);
//小数常量
System.out.println(1.1);
System.out.println(-1.1);
// 字符常量
System.out.println('a');
System.out.println('你');
// System.out.println('');
System.out.println(' ');
// 布尔常量: true false
System.out.println(true);
System.out.println(false);
// null是不能直接打印,有特殊应用的,在后面的数组 集合 对象中使用
// System.out.println(null);
}
}
5.4 数据类型
5.4.1 计算机存储单元
我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”,
通常用大写字母”B”表示,字节是由连续的8个位组成。
5.4.2 存储单位换算
除了字节外还有一些常用的存储单位,其换算单位如下
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB
5.4.3 Java中的数据类型
- 为什么有数据类型
Java是一个强类型语言,对每一种数据都规定了范围.
- 数据类型的分类
- 基本数据类型
注意:
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。
在java中整数默认是int类型,浮点数默认是double类型
5.5 变量
5.5.1 什么是变量
在程序运行过程中,其值可以在一定范围内发生改变的量,从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化
5.5.2 变量定义的格式
- 格式一
数据类型 变量名 = 初始化值; // 声明变量并赋值
int age = 18;
System.out.println(age);
- 格式二
// 先声明,后赋值(使用前赋值即可)
数据类型 变量名;
变量名 = 初始化值;
double money;
money = 55.5;
System.out.println(money);
- 格式三
在同一行定义多个同一种数据类型的变量,中间使用逗号隔开
数据类型 变量名 = 值,变量名 = 值, ....;
int a = 10, b = 20; // 定义int类型的变量a和b,中间使用逗号隔开
System.out.println(a);
System.out.println(b);
int c,d; // 声明int类型的变量c和d,中间使用逗号隔开
c = 30;
d = 40;
System.out.println(c);
System.out.println(d);
5.5.3 变量注意事项
1. 在同一对花括号中,变量名不能重复。
2. 变量在使用之前,必须初始化(赋值)。
3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。
4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。
5.6 标识符
5.6.1 什么是标识符
标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。
5.6.2 标识符的组成规则
由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
不能使用java中的关键字作为标识符。
标识符对大小写敏感(区分大小写)。
5.6.3 标识符的命名规范(江湖规矩)
- 类名
一个单词: 首字母大写 Hello
多个单词: 每一个单词的首字母都要大写 HelloWorld (大驼峰)
- 变量名和方法
一个单词: 全部小写 value get()
多个单词: 从第二个单词的首字母开始,每一个单词都要大写 maxValue getValue() (小驼峰)
- 包
一个单词: 全部小写 cn com
多个单词: 全部小写中间用.
分割 cn.hzn
公司的域名倒着写
- 自定义常量
一个单词: 全部大写 MAX VALUE
多个单词: 全部大写 中间用 _ 隔开 MAX_VALUE