1. Java概述
1.1 Java跨平台原理
Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。
1.2 JRE和JDK
JVM(Java Virtual Machine),Java虚拟机
JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)
JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具
两者之间的关系如下图所示:
1.3 JDK安装目录介绍
目录名称 | 说明 |
---|---|
bin | 该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。 |
conf | 该路径下存放了JDK的相关配置文件。 |
include | 该路径下存放了一些平台特定的头文件。 |
jmods | 该路径下存放了JDK的各种模块。 |
legal | 该路径下存放了JDK各模块的授权文档。 |
lib | 该路径下存放了JDK工具的一些补充JAR包。 |
1.4 常用DOS命令介绍
操作 | 说明 |
---|---|
盘符名称: | 盘符切换。E:回车,表示切换到E盘。 |
dir | 查看当前路径下的内容。 |
cd 目录 | 进入单级目录。cd itheima |
cd … | 回退到上一级目录。 |
cd 目录1\目录2… | 进入多级目录。cd itheima\JavaSE |
cd \ | 回退到盘符目录。 |
cls | 清屏。 |
exit | 退出命令提示符窗口。 |
1.5 PATH环境变量的配置
开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。
1.6 Java程序开发流程
Java程序开发流程分别是:编写程序,编译程序,运行程序。
2. Java基础语法
2.1 注释
注释是对代码的解释和说明的文字,Java中的注释有三种,分别是单行注释、多行注释、文档注释。
单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字。
// 这是单行注释文字
多行注释。多行注释的格式是使用/* 和 */将一段较长的注释括起来。
/*
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/
注意:多行注释不能嵌套使用。
文档注释。文档注释以/**
开始,以*/
结束。
2.2 关键字
关键字是指Java语言中被赋予特殊含义的单词
关键字特点有:关键字全部是小写字母、代码编辑器对关键字会以高亮显示
2.3 常量
常量是指无法被改变的量
Java中常量有:
字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"Java"、“面向对象”
字符常量 用单引号括起来的单个字符,例如’a’、‘5’、‘中’
整数常量 整数,例如58、-10
小数常量 小数,例如1.6、-0.5
布尔常量 布尔值,表示真和假,只有true和false两个值
空常量 一个特殊的值,空值,值为null
除空常量外,其它常量值是可以直接使用输出语句来输出的
2.4 数据类型
Java是强类型语言,Java中的数据必须明确数据类型,数据类型可以分为基本数据类型和引用型数据类型两种。
Java基本数据类型:
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
整数类型 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2的31次方到2的31次方-1 | |
long | 8 | -2的63次方到2的63次方-1 | |
浮点类型 | float | 4 | 负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到3.402823E+38 |
double(默认) | 8 | 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到1.797693E+308 | |
字符类型 | char | 2 | 0-65535 |
布尔类型 | boolean | 1 | true,false |
说明:
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。
在java中整数默认是int类型,浮点数默认是double类型。
2.5 变量
变量:在程序运行过程中,其值可以被改变的量。
从本质上讲,变量是内存中的一块区域,其值可以在一定范围内改变。
变量的定义:数据类型 变量名=变量值
int a=10
变量的使用:通过变量名进行取值或者修改值操作
变量使用的注意事项:
-
在同一对花括号中,变量名是不允许重复的
-
变量在使用之前,必须对变量进行赋值(初始化)
-
定义long类型的数据变量时,需要在整数后面加L(大小写都可以,建议大写),因为整数默认数据类型是int,整数太大可能会超过int取值范围。
-
定义float类型的数据变量时,需要在小数后面加F(大小写都可以,建议大写),因为double的取值范围是超过float的,会存在类型不兼容的问题。
2.6 标识符
标识符:用来给变量、方法、类、常量等命名。
标识符只能由数字、下划线、美元符号 “$”、字母组成,需要注意的是:不能使用关键字作为标识符;标识符的开头不能是数字;标识符是区分大小写的。
Java中标识符命名规范:
小驼峰式命名:适用于变量名、方法名
首字母小写,从第二个单词开始每个单词首字母大写。
大驼峰式吗命名:适用于类名
每个单词首字母大写。
标识符的命名要有意义,做到见名知意,例如userName、bookId等
2.7 类型转换
Java中数据类型之间是可以相互转换的,分为自动类型转换和强制类型转换两种。
自动类型转换:是指把一个数据范围小的数值或者变量赋值给一个数据范围大的变量,这种转换方式是自动进行的,例如
double a=10;
System.out.println(a); //结果输出10.0
- 强制类型转换:是指把一个数据范围大的数值或者变量赋值给一个数值范围小的变量。
格式是 :目标数据类型 变量名=(目标数据类型)变量或者值
double a=99.99;
int b=(int) a;
System.out.println(b) //输出结果是99
从上面例子可以看出来强制类型转换会损失数据的精度,所以一般是不提倡使用强制类型转换。
数据类型范围如下:
关于类型转换有以下几点需要注意:
- char类型的数据转换为int类型是按照码表对应的整数值进行计算的,比如ASCII码表中’a’对应97
- 整数默认是int类型,byte、short和char类型数据参与运算都会先自动转换为int类型。
- boolean类型不能与其他基本数据类型相互转换。