Java环境搭建及入门基础语法
Java概述
一 Java语言 背景介绍
1 Java语言背景
- 语言:人与人交流沟通的表达方式
- 计算机语言:人与计算机之间,进行信息交流沟通的一种特殊语言
- Java语言诞生于1995年,是Sun(Stanford University Network)公司推出的一门计算机语言
- 公认的Java之父:詹姆斯·高斯林(James Gosling)
2 Java语言的三个版本分别是?
- Java SE:Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础
- Java ME : Java 语言的(小型版),用于嵌入式消费类电子设备
- Java EE:Java 语言的(企业版),用于 Web 方向的网站开发
二 Java语言 跨平台原理
1 常用的操作系统(平台)有哪些?
2 Java的跨平台原理概述?
- 跨平台:Java 程序可以在任意操作系统上运行,实现了一次编写,到处运行
- 跨平台原理概述:在需要运行 Java 应用程序的操作系统上,安装一个与操作系统对应的 Java 虚拟机(JVM Java Virtual Machine)即可
JVM 虚拟机本身不允许跨平台,允许跨平台的是 Java 程序(我们的代码)
一次编写,到处运行
三 JRE和JDK
1 Java程序开发的三个步骤?
1. 编写代码:书写正确的代码
2. 编译代码:通过javac命令编译java文件,编译成功后,会生成对应的字节码文件
3. 运行代码:通过java命令运行
2 JDK、JRE和JVM分别是什么?有什么作用?
- JDK(Java Develop Kit)是 Java 语言的软件开发工具包,内部包含了代码的编译工具和运行工具
- JRE(Java Runtime Environment)指Java运行环境,包含 JVM 虚拟机及 Java 核心类库
- JVM(JVM Java Virtual Machine)Java 虚拟机
- 核心类库:我们自己在编写代码的过程中,需要用到 java 已经写好的这些 java 文件
• 类 :java 文件在代码中的集合体现
• 类库:存放多个 java 文件的仓库
包含关系:(JDK1.8之后)JDK 包含JRE 包含JVM

3 JDK的下载和安装
JDK下载地址:https://www.oracle.com
JDK安装目录包含的文件夹
- bin:该目录下存放了 JDK 的各种工具命令。javac 和 java 就放在这个目录
- conf:该目录下存放了 JDK 的相关配置文件
- include:该目录下存放了一些平台特定的头文件
- jmods:该目录下存放了 JDK 的各种模块
- legal:该目录下存放了 JDK 各模块的授权文档
- lib:该目录下存放了 JDK 工具的一些补充 JAR 包
- 其余文件为说明性文档
第一个Java程序
四 常用DOS命令
学习目的:JDK提供的[编译]和[运行]工具,并不是双击使用的,我们需要在DOS中通过命令去执行
如何打开DOS命令窗口?
常用DOS命令有哪些?
- 切换盘符:盘符名称:
- 展示当前目录下所有内容:dir
- 进入某目录:cd + 目标文件夹名
- 进入多级目录:cd + 目录1\目录2..
- 回退上一级目录:cd..
- 回退到根目录:cd\
- 清理屏幕:cls
- 退出DOS命令窗口:exit
快速在DOS打开某文件夹目录:通过图形化界面进入目标目录,在[路径栏]输入cmd + 回车
五 Path环境变量的配置
为什么要配置环境变量?
- 目的:在计算机中的任意位置,都能访问到bin目录下的javac和java工具
环境变量的配置流程?
- 我的电脑右键 - 属性 - 高级系统设置 - 环境变量
• 系统变量中:新建变量名为 JAVA_HOME,值为JDK的安装路径
• 系统变量中:找到Path,新建变量 %JAVA_HOME%\bin
• 然后点击三个[确定],缺一不可!
扩展另一种配置方式
六 HelloWorld案例 的编写和执行
编写和执行的操作流程
- 步骤1:新建txt文件,文件名为HelloWorld,后缀改为.java
- 步骤2:书写正确代码,并保存
- 步骤3:打开DOS命令台,找到该java代码的存放目录
- 步骤4:使用javac进行编译,如果代码正确,则编译通过,产生对应的字节码文件(.class文件)
- 步骤5:使用java运行,控制台显示内容:HelloWorld
javac编译和java运行时的书写
- 范例:javac 文件名.java(带文件后缀,大小写一致)
- 范例:java 文件名(不带文件后缀)
HelloWorld案例 详解
了解内容
- public:公共的,权限修饰符,Java中有四种权限修饰符
- class:代表这是一个类,后面跟类名
- HelloWorld:类名,我们自己起的。
- static:静态的意思,后面课程会详解
- void:表示main方法的返回值类型为空,基础班第五天学习[方法]
- main:方法名,Java开发人员起的,我们不能改变它
• 注意:main方法是程序的[入口],程序一运行,计算机会找到main方法,执行其中的代码逻辑
- String[]:字符串数组,基础班第四天学习[数组],第八天学习[字符串]
- args:方法的形式参数名称,基础班第五天学习[方法]
- System.out.println();
• 整体记忆!这一句话的作用是,在控制台(DOS窗口)打印小括号内的内容
HelloWorld案例 常见问题
什么是Bug?
• 解决Bug:多看、多思考、多查阅资料、多尝试总结。以后的开发工作Bug会一直伴随我们,所以不要怕错,重要是提升解决问题的能力!
入门案例常见问题?
- 问题1:文件名与类名不一致(必须一模一样,包括大小写)
- 问题2:英文字母大小写(String和System的首字母要大写)
- 问题3:标点符号使用英文(小写标点)
• 输入法的配置,配置为[中文时使用英文标点]
- 问题4:丢失括号(建议写括号时成双成对的写)
- 问题5:忘记保存(此时编译,会编译保存前的代码,会出现意想不到的结果)
• Ctrl + S为保存的快捷键(后期的编码工具不需要手动保存)
七 Notepad软件的安装使用
有哪些初始配置?为什么这样配置?
• [默认语言]改为Java
• [编码]改为ANSI
• 编码和解码需要保持同一种规则(编码字符集),我们使用Notepad编码,使用DOS解码,两边需要同样的规则(配置相同的编码字符集为ANSI),这样的目的是解决[中文乱码问题]
高级记事本高级在哪?
- 体现1:显示行号
- 体现2:对关键字特殊颜色显示
- 体现3:换行自动缩进
- 体现4:快速设置编码字符集等
- 体现5:快速定位当前java文件,并打开DOS窗口,可以对着[文件名]右键,选择[打开所在文件夹(命令行)]
八 基础语法
1 注释
什么是注释?
- 对代码解释说明的文字信息,方便程序员阅读代码(学习要求必须写注释)
注释的分类?
- 单行注释 //
- 多行注释 /* 内容 */
- 文档注释 /** 内容 */(了解)
多行注释不能嵌套使用;注释不参与编译和运行!
2 关键字
什么是关键字?
• 目前我们接触到的关键字:public、class、static、void
关键字的特点?
- 特点1:英文小写
- 特点2:编辑器对其有特殊颜色标记
3 常量
什么是常量?
常量的分类?
- 整数常量:-100 200
- 小数常量:5.5 3.14
- 字符常量:'A' '7' '男'
• 字符是单引号引起来的[单个内容]
- 字符串常量:"HelloWorld"
- 布尔常量:值只有true和false
- 空常量:null
• 空常量(null)不能直接打印,否则报错
4 变量介绍
变量:本质是内存中的存储空间,空间中存着经常发生改变的量
5 数据类型
了解内容
- 最小信息单元:bit,比特位,通常用 b 表示
- 最小的存储单元:byte,字节,通常用 B 表示
- 一个byte字节,由8个bit位组成
- 1B(字节) = 8bit、1KB = 1024B、1MB = 1024KB 1GB = 1024MB、1TB = 1024GB、1PB = 1024TB
Java是一门强类型语言,不同数据类型分配了不同的[内存空间],所以他们表示的[数据大小]也不一样
Java中数据类型分类?
• 整型:byte short int(默认) long
• 浮点型:float double(默认)
• 100;
• 字符型:char
• 布尔型(非数值):boolean
- 引用数据类型:数组([])、类(class)、接口(interface)..
6 变量的定义和使用
定义变量的格式?
• 范例1:int age = sc.nextInt();
• 范例2:double price = 99.99;
• 范例3:boolean result = true;
如何使用变量?
• 范例1:System.out.println(age);
• 范例2:System.out.println(price);
• 范例3:System.out.println(result);
使用变量的注意事项
- 注意1:变量名不能重复定义
- 注意2:一条语句可定义多个变量,中间用逗号分隔(不推荐)
- 注意3:变量在使用前必须赋值
- 注意4:定义float类型变量,在数据末尾加F;定义long类型变量,在数据末尾加L
- 注意5:变量的作用域范围
7 键盘录入对象 Scanner
学习目的:让我们操作的数据,更加灵活(之前数据都是写死的)
使用步骤?
• import java.util.Scanner;
• Scanner sc = new Scanner(System.in);
• System.out.println("请输入一个整数:");
• int num = sc.nextInt();
注意:自己起的类名,不能和系统已有的类名相同,否则程序会出现错误(例如:Scanner、String、System不可用作自己的类名)
8 标识符
什么是标识符?
标识符的定义规则?
- 规则1:由数字、字母、_、$组成
- 规则2:不能是Java的关键字
- 规则3:不能以数字开头
- 规则4:区分大小写
• 命名约定
• 约定1:小驼峰命名法
• 用于变量、方法..
• 约定2:大驼峰命名法
• 用于类
运算符
九 类型转换
隐式转换(自动转换)
为什么学习类型转换?
- 因为Java中基本数据类型,本质上的区别是数据取值范围大小不一样。那么在操作过程中,会出现赋值、互相转换的过程