1、java版本

java的三个版本:java SE、java ME、java EE

java SE:桌面应用 基础

java ME:用于嵌入式设备

java EE:用于wed网站开发 网站 = 网页 + 后台服务器

2、java跨平台原理

平台与跨平台

平台:操作系统(Linux、mac(苹果系统)、Windows)

跨平台:java程序可以在任何操作系统上运行

跨平台原理:在不同的操作系统中,都安装一个与操作系统对应的java虚拟机

(JMV java Virtual(虚拟) Machine(机械))

问题:JvM本身是否可以跨平台?

答:不能 他只是每一个系统对应的虚拟机 允许跨平台的是java程序

3、jdk

JRE : java Runtime Environment (java运行环境) 包括jvm虚拟机和核心类库

JDK:java Development Kit (java开发工具包) 包含了编译工具和运行工具

编译代码:将a.java的文件编译成jvm能够识别的a.class文件

运行代码:在虚拟机中运行

4、DOS基本操作

DOS命令:在管理员窗口进行指令操作。

常用指令:dir:查看当前目录文件

cd 文件名 到达指定文件位置

	  cd.. :返回上一级目录

	  cd\ :回到盘符目录

	  cls :清屏

	  exit:退出命令提示符窗口

5、path环境变量

1、问题:为什么要配置环境变量

答:因为下载的jdk和运行编译环境和所需要的运行的文件可能不在同一个位置,这样的话,就不能进行相应的编译,如果配置好了,就可以随意在一个位置放置文件并编译运行了。

2、配置path环境变量

点击计算机,打开属性,点击高级系统设置,点击环境变量,在系统变量里面新建一个JAVA_HOME的变量名,变量值设置为jdk的安装路径,然后确定,接在点击path选项,再点击新建,然后变量名是path,变量值的前面添加 %jdk的安装路径%\bin; 然后依次向前面点击确定,再次在dos窗口中任何一个位置输入 javac都可以显示一系列的相关信息说明就好了 显示找不到相关路径 则说明环境变量配置失败

6、编译和运行

编译:javac 文件名.java

运行: java 类名

7、HelloWord案例分析

代码:

public class HelloWord{
public static void main(String[] args){

	System.out.println("HelloWord");}
}

分析:

第一行的public是限制你的文件名和你的类的名字 要相同

class 是定义一个类

第二行的public static void main(String[] args) 是main主函数的入口

8、注释

单行: //

多行:/* */

9、关键字

被java赋予了特殊涵义的英文单词

比如:public class

特点:都是小写、颜色不一样

注意:main不是关键字,但是main这个是很重要的一个词 这是虚拟机程序的入口。

10、常量

程序执行过程中不会改变的数据

分类:字符串常量、整数常量、小数、

字符常量(单引号包裹,而且只能放一个字符,比如0、1、a、10就不行,只能一个字符)

布尔常量:true、false

空常量:null(直接打印的话会出错)

11、变量

变量就是内存中的存储空间,空间中存储这经常发生改变的量(数据)

注意:变量不能重复定义,只能重新赋值。

变量定义的时候需要赋值

	定义float变量需要在后面加上F的标识也可以小写(建议大写)

	定义long时同上。(标识不会输出来)

12、数据类型

byte 1字节 short 2字节 int 4字节 long 8字节

float 4字节 double 8字节 char 2字节

Boolean 1字节

13、键盘录入

实现键盘录入的三个步骤:

步骤1:导入包

import java.util.Scanner;

步骤二:创建对象

Scanner sc = new Scanner(System.in);

步骤三:使用变量接收数据

int i = sc.nextInt();

14、标识符

标识符就是我们自己给变量方法规定的名字

标识符规则:

由数字、字符、下划线、$组成

不能以数字开头

不能是关键字

区分大小写

常见命名约定:

小驼峰:方法、变量 第一个单词首字符不大写其余大写

大驼峰:类 第一个单词首字母都大写

15、隐式转换

不同数据类型参加运算时 会偏向大精度范围的一方转换

注意:byte、short、char、在运算的时候 不管是否有更高的数据类型 都会提升为int 然后进行计算。

char 类型会转换成对应的ASCLL值计算

16、强制转换

在大的精度范围的数据类型的数据 前面加括号里面写左边的数据类型

17、常量优化机制

byte a = 3 + 4;//不会出错

因为在java中存在常量优化机制:在编译时,就会将3和4计算出一个7的结果,并且会自动判断改结果是否在byte取值范围内,

在:编译通过

不在:编译失败