Java历史

本文介绍Java语言的发展历程、跨平台原理,阐述JVM、JRE、JDK的关系,指导JDK的下载安装与Path环境变量配置。还包含HelloWorld案例编写运行及常见问题,以及注释、关键字、常量、数据类型等Java基础语法知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1_Java语言发展史(了解)

目标:了解Java语言发展史

java是哪家公司哪一年推出的?

​ sun公司在1995推出的编程语言

java之父是谁?

​ 詹姆斯.高斯林

java的主要发展历程?

​ 1995由sun公司推出。

​ 2004推出JDK1.5,这是里程碑式的版本。

​ 2009年sun公司被oracle(甲骨文公司)收购。

​ 目前最新版本JDK12。

java的三大技术架构(了解)

​ JavaSE:java标准版,主要用于桌面应用软件的开发。比如计算器,QQ软件等。

​ JavaEE:java企业版,基于JavaSE的企业级应用的开发。比如淘宝,京东,ERP系统等。(大型互联网)

​ JavaME:java微型版,应用于移动设备和电子类产品的嵌入式开发。比如手机游戏,手机软件等。(安卓,IOS,Html,微信小程序)

2_Java语言跨平台原理

目标:理解java语言的跨平台特性和原理

java语言的特点

​ java语言具有简单易学、面向对象、健壮性、安全性、与平台无关性等特点。

什么是平台?

​ 平台即操作系统,目前主流的有微软Windows系统,苹果Mac系统,Linux系统

​ qq.exe

什么是java跨平台?

​ 通过java语言编写的应用程序可以在不同的操作系统上直接运行。具有一次编译,到处运行的特点。

java如何实现跨平台?

​ 通过JVM虚拟机实现的跨平台。

​ 在不同的操作系统上安装对应的JVM虚拟机。

[外链图片转存失败(img-gwfNctzT-1562913922040)(assets/1559034236533.png)]

3_JVM、JRE、JDK

目标:理解JVM、JRE、JDK三者之间的关系

JVM、JRK、JDK三者之间的关系?

JVM:Java虚拟机,保证java程序跨平台。(Java Virtual Machine)

JRE: Java运行环境,包含JVM和核心类库。如果只是想运行java程序,只要安装JRE即可。
	(Java Runtime Environment)
	
JDK:Java开发工具包,包含JRE和开发工具。如果程序员想要开发java程序,需要安装JDK环境。
   (Java Development Kit)
   
开发工具包括:编译工具javac.exe  ,运行工具java.exe 等。

JVM、JRE、JDK关系图解:

[外链图片转存失败(img-A9IUaACU-1562913922047)(assets/1559034654031.png)]

JDK是开发工具,包含JRE和开发工具,JRE是运行程序的工具,包含JVM和核心类库,JVM是保证java程序跨平台的工具。

4_JDK的下载和安装

目标:能独立安装JDK

下载官网:www.oracle.com

傻瓜式安装(不推荐)

​ 跟着点击下一步即可,但默认的安装路径是在C:\Program Files下,不便于软件的管理。

指定路径安装(推荐)

​ 将JDK安装到指定目录下,比如E:\develop\java\jdk-11

注意:安装目录下不要有中文或空格等特殊字符。

安装目录文件介绍

目录名称说明
bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。
conf该路径下存放了JDK的相关配置文件。
include该路径下存放了一些平台特定的头文件。
jmods该路径下存放了JDK的各种模块。
legal该路径下存放了JDK各模块的授权文档。
lib该路径下存放了JDK工具的一些补充JAR包。jar包:写好并打包的java程序。

5_常用DOS命令(了解)

目标:了解常用的DOS命令

如何进入DOS命令行窗口

​ 快捷键win + R打开运行窗口,输入cmd,按回车进入。

[外链图片转存失败(img-nOtz9u9k-1562913922049)(assets/1561454946337.png)]

常用DOS命令

操作说明
盘符名称:盘符切换。E:回车,表示切换到E盘。
dir查看当前路径下的内容。
cd 目录进入单级目录。cd develop,表示进入develop文件夹。
cd …回退到上一级目录。
cd 目录1\目录2…进入多级目录。cd develop\java,表示进入develop下的java文件夹。
cd \回退到盘符根目录。
cls清屏。
exit退出命令提示符窗口。

6_Path环境变量的配置

目标:完成JDK环境变量的配置,理解配置环境变量的意义

配置JDK的path环境变量的意义?

可以在任意路径下使用JDK的bin目录下提供的开发工具。

配置步骤?

1、此电脑—>属性—>高级系统设置—>高级—>环境变量

[外链图片转存失败(img-BmzdTvde-1562913922052)(assets/1559995877083.png)]

2、新建系统变量

​ 变量名:JAVA_HOME

​ 变量值:JDK的安装目录(到bin目录的上一层)

[外链图片转存失败(img-ZDffcEN9-1562913922056)(assets/1559996259183.png)]

3、将 %JAVA_HOME%\bin 添加到Path变量中。 %环境变量名% 引用某指定的环境变量

[外链图片转存失败(img-UATKFU8Y-1562913922058)(assets/1559997880428.png)]

4、打开DOS系统,输入javac,验证是否配置成功。

[外链图片转存失败(img-1EAPxmV3-1562913922064)(assets/1559998052944.png)]

7_HelloWorld案例

目标:独立编写并运行HelloWorld案例

Java程序开发运行流程?

​ 编写代码:编写.java后缀的源文件

​ 编译代码:将.java文件编译成.class后缀的字节码文件

​ 运行程序:使用 java工具运行编译好的字节码文件

java程序编译和运行的命名是什么?
编译命令 :javac 源文件名.java
运行程序: java 类名

[外链图片转存失败(img-4wnvZZHh-1562913922068)(assets/1559998845417.png)]

HelloWorld代码

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("HelloWorld");
	}
}

8_HelloWorld案例常见问题

目标:了解HelloWorld案例的常见问题

​ 1)、中文符号问题。(java中的符号都是英文的)

​ 2)、单词大小写问题。(java是区分大小写的)

​ 3)、文件扩展名问题。(java源文件扩展名为.java)

​ 4)、程序主方法main书写问题。(main为程序的主入口,单词不能写错)

​ 5)、文件名和类名不一致问题。(public限制java文件名和类名要一致)

上午回顾
java语言发展史
	1995年sun公司推出的。
	java之父:詹姆斯.高斯林
	
	2004年,JDK1.5,里程碑式的版本
	
	2009年sun被oracle收购
	
	最新官网版本JDK12

java语言跨平台原理
	依靠JVM虚拟机实现跨平台,需要在各自的操作系统上安装对应的虚拟机版本。

什么是JVM、JRE、JDK,以及之间的关系

    JVM:java虚拟机,保证java程序跨平台运行。
    JRE:java运行环境,包含了JVM+核心类库,运行java程序,安装JRE即可。
    JDK:java开发工具,包含JRE+开发工具(安装目录下的bin目录),开发人员需要安装JDK。


常用DOS命令
	切换盘符  盘符:  D:
	进入文件夹  cd 文件目录
	进入多级文件夹 cd \目录1\目录2
	
	回退一级 cd ..
    回退多级 cd ..\..
	回退根目录 cd \
	
	清除屏幕 cls
	查看目录  dir
	退出窗口  exit
	
java程序执行步骤
	编写代码  NotePad++   idea  Eclipse
	编译代码  javac  源文件名.java
	运行代码  java  类名

HelloWorld案例
public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}

9_Notepad的安装和使用

NotePad++基本设置

​ 设置 --> 首选项 --> 新建,格式选择Windows,编码选择ANSI。

[外链图片转存失败(img-darSrFo6-1562913922072)(assets/1561449954918.png)]

10_注释

注释的作用?

​ 对代码进行解释说明,便于开发人员理解和维护代码。

注释不会被程序编译和运行。

注释的分类?

​ 单行注释 // 注释内容,单行注释可以嵌套。

​ 多行注释 /* 注释内容 */,多行注释不能嵌套使用。

​ 文档注释 /** 注释内容 */,文档注释不能嵌套使用。

11_关键字(理解)

什么是关键字?

​ 在java语言中有特殊意义的英文单词。

java关键字的特点?

​ 单词全部小写。

​ 在高级开发工具中,关键字会有特殊的颜色标记。

java中的关键字

​ goto和const是java中的预留关键字。

[外链图片转存失败(img-N6UoDR01-1562913922077)(assets/1559038173703.png)]

12_常量

什么是常量?

​ 在程序运行过程中,其值不可以发生改变的量

常量的分类

字符串常量:使用双引号 "" 括起来的0到多个字符。 	"java" ,"黑马程序员""""  ""A"
    
字符常量:使用单引号 '' 括起来的单个字符。 'a' , '0' ,'我'
    
整数常量:正负整数  10  -20
    
小数常量:带小数点的数字  -3.14   5.12

布尔常量:表示真或假,只有truefalse两个值。

空常量:值为null,不能使用输出语句直接输出。

案例代码

public class ChangLiang{
	public static void main(String[] args){
        
		// 字符串常量:使用双引号 "" 括起来的【0到多个字符】。 
		System.out.println("java");
		System.out.println("黑马");
		System.out.println("");
		System.out.println("   ");
		System.out.println("A");
		System.out.println("-------------");
		System.out.println("10");
    
		// 字符常量:使用单引号 '' 括起来的【单个字符】。 
		System.out.println('A');
		System.out.println('黑');
		//System.out.println('');   //编译错误,字符常量必须是单个字符,不能没有
		System.out.println(' ');
		//System.out.println('  '); //编译错误,字符常量必须是单个字符,不能多个
		//System.out.println('10');
		System.out.println("-------------");
	
		// 整数常量:正负整数  
		System.out.println(10);
		System.out.println(-10);
	
		// 小数常量:带小数点的数字  
		System.out.println(-10.90);
		System.out.println(5.12);
		
		// 布尔常量:表示真或假,只有true或false两个值。
		System.out.println(true);
		System.out.println(false);
		System.out.println(10>20);

		// 空常量:值为null,不能使用输出语句直接输出。学习数组的时候会讲解
		//System.out.println(null);  //编译错误,不能使用输出语句直接输出空常量	
	}
}
/*
	需求:使用常量在屏幕上输出一个学生的信息,包含姓名、性别、年龄、身高、地址。
*/
public class ConstantTest{
	public static void main(String[] args){
		
		System.out.println("林志玲"); // 字符串常量
		System.out.println('女'); //字符常量
		System.out.println(35);  //整数常量
		System.out.println(175.5);  //小数常量
		System.out.println("香港");// 字符串常量
		
	}
}

13_数据类型

java是强类型的语言,每一个数据都有对应的数据类型。

位:计算机计算的基本单位,计算机底层是二进制 0 1

字节:计算机存储的基本单位,1字节=8位。

java数据类型分类?

​ 基本数据类型:4型8种

​ 整数:byte short int long

​ 小数:float double

​ 字符:char

​ 布尔:boolean

整数默认是:int类型

小数默认是:double类型

​ 引用数据类型:字符串,数组,类,接口 ,null

基本数据类型分类

[外链图片转存失败(img-Lq9CuiKs-1562913922080)(assets/1561450750068.png)]

【练习题】下面哪些是Java中的基本数据类型?( ADE )
A.byte
B.Byte  
C.String  //字符串  类  引用类型
D.char   
E.long

14_变量

什么是变量?

​ 变量指程序运行过程中,其值在一定范围内会发生变化的量

变量的定义格式?

数据类型  变量名 = 初始化值;
int  a = 10;
byte b = 127;

变量使用的注意事项?

1、变量可以定义时初始化,也可以先定义,使用前进行初始化。
double d = 3.14;

double d;
d = 3.14;

2、没有初始化的变量不能直接使用。
int a ;
System.out.println(a);  //编译报错,
	
3、相同范围内,变量名不能重复。


4、整数默认是int类型,定义long类型时需要加L 或者l,建议加L。
	long num = 10L;

5、小数默认是double类型,定义float类型的时候需要在数字后面加F或者f,建议加F。
	float f = 3.14F;

6、一行代码上可以定义多个变量。(不推荐)
int a=10,b=20;

int a,b =20;
a=10;
/*
	需求:使用变量定义并输出一个学生的信息,包含姓名、性别、年龄、身高、地址。
*/
public class VariableTest{
    public static void main(String[] args){
        String name = "林志玲";
    }
}

15_标识符

标识符的作用?

​ 给包,==类,==方法,变量起名的符号。

标识符的组成规则?

大小写英文字母、数字、下划线_、美元符$、中文(不推荐)

​ 注意事项:

​ 不能是数字开头

​ 不能是关键字

​ 区分大小写

标识符的命名规范?

小驼峰式命名:变量名、方法名

​ 第一个单词首字母小写,从第二个单词开始每个单词的首字母大写。

​ userName,maxValue等

大驼峰式命名:类名

​ 每个单词的首字母都大写。

​ String, ArrayList等

建议:标识符的起名尽量做到见名知意。

【练习题】下列不可作为java语言变量名的是( DEF  )
A、a1 
B、$1 
C、_1  
D、5a  
E、num@  
F、class  
G、String //可以作为变量名,不建议

16_类型转换

隐式类型转换(自动类型转换)

  • 范围小的类型到范围大类型的转换,系统会自动进行类型提升,称为自动类型转换。

byte、short、char —> int —> long —> float —> double

//自动类型转换案例代码
public class ChangeDemo{
    public static void main(String[]  args){
        double d = 10; //10默认是int类型,转为较大范围的double类型,属于自动类型转换。
        
        //int a = 88.8; //编译报错,88.8默认是double,8个字节,int占4个字节
        int a = (int)88.8;
        System.out.println(a);  //88  ,精度丢失
        
        byte b = 15;
        short s = b; //byte转short类型,属于自动类型提升。
        
        int a = s; //short类型转int类型,属于自动类型提升。
        
        long num1 = 19L;  //8个字节
        float f = num1;  //4个字节  
        
        byte  bb = 10;
       // char c = bb;  //类型不兼容
    }
}

强制类型转换

​ 从范围大的类型到范围小的类型的转换,需要进行强制类型转换。

  • 格式:

    ​ 目标数据类型 变量名 = (目标数据类型)变量值(常量值);

  • 弊端:

    会造成数据精度丢失。尽量少用强制转换。

【多选题】以下关于数据类型的转换,说法正确的是( AC )

A:long num = 100L;
   float f = num;
   System.out.println(f);
   以上代码能正常编译运行,并输出100.0

B:int类型的数据转为double类型,需要强制转换。//不需要强转,整数转小数,自动转换

C:int类型转成short砍掉2个字节,可能造成数据丢失。  //

D:byte b = 130;  //只能输出-128 127,编译报错
   System.out.println(b);
   以上代码能正常编译运行,并输出130

下午回顾

注释的分类
	单行注释  //单行注释
	多行注释  /*多行注释 */
	文档注释 /**文档注释 */
	
java关键字的特点
	单词全部小写。
	在高级开发工具中,关键字会有特殊的颜色标记。
		public  class void true false 
        byte  short int  long  float  double  char  boolean

常量的分类:
字符串常量:表示0到多个字符,使用""引起来
字符常量:只能表示单个字符,使用''引起来
整数常量
小数常量
布尔常量 true,false
空常量  null ,不能使用System.out.println()输出

java中的数据类型

	基本类型:
		整型:
			byte  short int  long  
		浮点型(小数)
			float  double 
        字符:
			char  
		布尔类型:
			boolean
			
	引用类型:
		String  数组  类
		
变量的定义格式
	数据类型  变量名  =  初始化值;
注意事项:
	先定义,再使用
	没有赋值的变量不能直接使用
	相同范围内,变量名不能重复
	一行代码可以定义多个变量(不建议)


标识符的组成规范
	大小写字母,数字,下划线 美元符,中文(不建议)
	不能数字开头
	不能是关键字
	区分大小写
	
	命名规范:小驼峰命名法  maxValue  name
			大驼峰命名法 ConstantDemo  String

java中的类型转换
	自动类型转换 :小类型转大类型
	byte  short  int  long  float  double
		  char
	强制类型转换
		格式:目标数据类型  变量名  = (目标数据类型)变量值或常量值;
		int  a  = (int)88.8;
	强转会造成数据精度丢失。

引起来
整数常量
小数常量
布尔常量 true,false
空常量 null ,不能使用System.out.println()输出

java中的数据类型

基本类型:
	整型:
		byte  short int  long  
	浮点型(小数)
		float  double 
    字符:
		char  
	布尔类型:
		boolean
		
引用类型:
	String  数组  类

变量的定义格式
数据类型 变量名 = 初始化值;
注意事项:
先定义,再使用
没有赋值的变量不能直接使用
相同范围内,变量名不能重复
一行代码可以定义多个变量(不建议)

标识符的组成规范
大小写字母,数字,下划线 美元符,中文(不建议)
不能数字开头
不能是关键字
区分大小写

命名规范:小驼峰命名法  maxValue  name
		大驼峰命名法 ConstantDemo  String

java中的类型转换
自动类型转换 :小类型转大类型
byte short int long float double
char
强制类型转换
格式:目标数据类型 变量名 = (目标数据类型)变量值或常量值;
int a = (int)88.8;
强转会造成数据精度丢失。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值