Java环境搭建及入门
一、Java概述
1.1、Java语言背景介绍及三大版本
1.1.1、Java语言背景
- 语言:人与人交流沟通的表达方式
- 计算机语言:人与计算机之间,进行信息交流沟通的一种特殊语言
- Java语言诞生于1995年,是Sun(Stanford University Network)公司推出的一门计算机语言
- 公认的Java语言之父:詹姆斯·高斯林(James Gosling)
1.1.2、Java语言的三大版本
- Java SE:Java语言的标准版,用于桌面应用的开发,是其他两个版本的基础
- Java ME:Java语言的小型版,用于嵌入式消费类电子设备
- Java EE:Java语言的企业版,用于Web方向的网站开发
1.2、Java语言的跨平台原理
1.2.1、常用的操作系统
- Windows
- Mac
- Linux
1.2.2、跨平台
Java程序可以运行在任意操作系统上,实现一次编写,到处执行
1.2.3、跨平台原理
在需要运行Java程序的操作系统上,安装一个与操作系统对应的Java虚拟机(JVM Java Virtual Machine)即可
注意:
JVM虚拟机本身不允许跨平台,允许跨平台的是Java程序
1.3、JRE和JDK
1.3.1、Java程序的开发步骤
- 编写代码:书写正确的Java代码
- 编译代码:通过
javac
命令编译Java文件,编译成功后,会生成对应的字节码文件(.class文件) - 运行代码:使用
java
命令运行
以上2、3步骤是通过Dos命令窗口操作的
1.3.2、什么是JRE、JDK、JVM以及它们的作用
- JDK(Java Development Kit):是Java语言的软件开发工具包,里面包含了代码的编译工具和运行工具
- JRE(Java Runtime Environment):是Java运行时环境,包含JVM虚拟机和Java的核心类库
- JVM(JVM Java Virtual Machine):Java虚拟机
1.3.3、各自的包含关系
1.4、JDK的安装和下载
1.4.1、JDK的下载地址
JDK下载地址:https://www.oracle.com
1.4.2、环境变量的配置
目的:在计算机中的任意位置,都能访问到bin目录下的javac和java工具
1.4.3、JDK安装目录包含的文件夹
- bin:该目录下存放了JDK的各种工具命令。
javac
和java
命令就存放在该目录下 - conf:该目录下存放JDK相关的配置文件
- include:该目录下存放了一些平台特定的头文件
- jmods:该目录下存放了JDK的各种模块
- legal:该目录下存放了JDK各模块的授权文档
- lib:该目录下存放了JDK工具的一些补充的JAR包
- 其他文件为说明性文档
二、第一个Java程序
2.1、常用的Dos命令
Dos命令窗口打开方式:win + R,在弹出窗口输入cmd,敲回车
快速在DOS打开某目录:通过图形化界面进入目标目录,在[路径栏]输入cmd + 回车
- 切换盘符:
盘符名称: 例:D:
- 展示当前目录下所有内容:
dir
- 进入某目录:
cd + 目标文件夹名 例:cd develop
- 进入多级目录:
cd + 目录1\目录2...
- 回退上一级目录:
cd..
- 回退到根目录下:
cd\
- 清理屏幕:
cls
- 退出Dos命令窗口:
exit
2.2、HelloWorld案例的编写和执行
2.2.1、编写和执行的操作流程
- 新建java文件,文件命名为HelloWorld
- 书写正确的代码,并保存
- 打开Dos命令台,找到该java代码的存放目录
- 使用javac进行编译,如果代码正确,则编译通过,产生对应的字节码文件(.class文件)
- 使用java运行,控制台显示内容:HelloWorld
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld!");
}
}
2.2.2、javac编译和java运行时的书写
javac 文件名.java(带文件后缀,大小写一致)
java 文件名(不带文件后缀)
例:
javac HelloWorld.java
java HelloWorld
2.3、HelloWorld案例的常见问题
2.3.1、Bug
程序出现的错误,我们通常称其为Bug
2.3.2、入门案例的常见问题
- 文件名与类名不一致(必须一模一样,包括大小写)
- 英文字母大小写(String和System的首字母要大写)
- 标点符号使用英文(小写标点)
- 丢失括号(建议写括号时成双成对的写)
- 忘记保存(此时编译,会编译保存前的代码,会出现意想不到的结果)
三、基础语法
3.1、注释
注释作用:对代码解释说明的文字信息,方便程序员阅读代码(一定要写注释)
注释分类:
单行注释 //
多行注释 /* 内容 */
文档注释 /** 内容 */
/*
这是多行注释
*/
public class Demo{
public static void main(String[] args){
//这是单行注释
}
}
注意事项:多行注释不能嵌套使用;注释不参与编译和运行!
3.2、关键字
关键字:被Java赋予了特殊含义的单词
特点:
- 纯小写
- 编辑器对其有特殊颜色标记
3.3、常量
常量:程序运行过程中,其值不会发生改变的量(数据)
常量分类:
- 整数常量:10 200
- 小数常量:5.5 3.14
- 字符常量:‘A’ ‘7’ ‘男’ (字符是单引号引起来的[单个内容])
- 字符串常量:“HelloWorld” (双引号括起来的[多个内容])
- 布尔常量:值只有true和false
- 空常量:null (空常量(null)不能直接打印,否则报错)
/*
常量:在程序运行过程中其值不会发生改变的量
常量分类:
1)字符串常量
双引号("")括起来的多个任意字符
2)整数常量
3)小数常量
4)字符常量
单引号('')括起来的单个任意字符
5)布尔常量
true、false
6)空常量
null
*/
public class Demo01Constant {
public static void main(String[] args) {
//字符串常量
System.out.println("你好");
System.out.println("HelloWorld");
//整数常量
System.out.println(123);
System.out.println(10);
//小数常量
System.out.println(3.14);
System.out.println(13.14);
//字符常量
System.out.println('a');
System.out.println('我');
//布尔常量
System.out.println(3 > 4);//false
System.out.println(3 < 4);//true
/*
//空常量 空常量不能直接输出,会报错
System.out.println(null);
*/
}
}
3.4、变量
变量:本质是内存中的存储空间,空间中存着经常发生改变的量
变量的定义格式:
数据类型 变量名 = 变量值;
范例:int age = 18;
变量的使用:
使用变量的标识(变量名)
范例:System.out.println(age);
使用变量的注意事项:
1:变量名不能重复定义
2:一条语句可定义多个变量,中间用逗号分隔
3:变量在使用前必须赋值
4:定义float类型在数据加F;定义long类型在数据加L
5:变量的作用域范围
3.5、数据类型
最小信息单元:bit,比特位,通常用 b 表示
最小的存储单元:byte,字节,通常用 B 表示
一个byte字节,由8个bit位组成
1B(字节) = 8bit、1KB = 1024B、1MB = 1024KB 1GB = 1024MB、1TB = 1024GB、1PB = 1024TB
Java是一门强类型语言,不同数据类型分配了不同的[内存空间],所以他们表示的[数据大小]也不一样
Java中的数据类型的分类:
/*
变量:本质是内存中的存储空间,空间中存着经常发生改变的量
变量的定义格式:数据类型 变量名 = 数据值;
数据类型分类:
1)基本数据类型:
整数:byte、short、int(默认)、long
浮点:float、double(默认)
字符:char
布尔:boolean
2)引用数据类型:
数组([])、类(class)、接口(interface)..
*/
public class Demo01Variable {
public static void main(String[] args) {
//姓名 String类型
String name = "thomas";
//年龄 int类型
int age = 22;
//性别 char类型
char sex = '男';
//分数 double类型
double score = 100.00;
//爱好 String类型
String hobby = "看电视";
System.out.println("姓名:" + name + ",年龄:" + age + ",性别:" + sex + ",分数:" + score + "分,爱好:" + hobby);
}
}
3.6、键盘录入
目的:让我们操作的数据,更加灵活(之前数据都是写死的)
使用步骤:
- 导包
import java.util.Scanner;
- 创建对象
Scanner sc = new Scanner(System.in);
- 控制台提示
System.out.println("请输入一个整数:");
- 调用方法,接收数据
int i = sc.nextInt();
//导包
import java.util.Scanner;
/*
键盘录入:Scanner
使用步骤:
1)导包
import java.util.Scanner;
2)创建对象
Scanner sc = new Scanner(System.in);
3)调用方法接受数据
int age = sc.nextInt();
4)后续操作,我们打印数据
System.out.println("您的年龄是:" + age);
*/
public class Demo03Scanner {
public static void main(String[] args) {
//创建对象
Scanner sc = new Scanner(System.in);
//在控制台给用户一个友好提示
System.out.println("请输入您的年龄:");
//调用方法接收数据
int age = sc.nextInt();
//后续操作,我们打印数据
System.out.println("您的年龄是:" + age + "岁");
}
}
3.7、标识符
标识符:给类、方法、变量等起名字的符号
定义规则:
- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
- 不能是Java的关键字
- 不能以数字开头
- 区分大小写:约定1:小驼峰命名法(例:userName)(用于变量、方法…),约定2:大驼峰命名法(例:HelloWorld)(用于类)
合法标识符举例:age、$salary、_value、__1_value
非法标识符举例:123abc、-salary