今日内容

1. Java语言相关的介绍(发展历史<重要版本>、跨平台原理)
2. Java开发的环境(jvm/jre/jdk的关系、jdk的安装和环境变量的配置)搭建
3. Java的第一个入门程序(HelloWorld)
4. Java第一个入门程序的常见问题 ====>>> 自己写代码的时候避免这些问题 【难点】
5. Notepadd++高级记事本的使用
6. Java的基本语法 【重点】
	* 注释
	* 关键字
	* 常量
	* 变量(数据类型)
	* 标识符(语法规则)
	* 类型转换 【难点】

学习目标

1. 能够说出Java语言的跨平台原理
2. 能够独立下载并安装JDK
3. 能够独立配置path环境变量
4. 能够独立编写HelloWorld案例并编译执行
5. 能够说出Java中的8种基本数据类型
6. 能够定义基本数据类型的变量并使用变量名输出
7. 能够说出标识符的命名规则
8. 能够说出基本数据类型之间相互转换的规则

具体内容

1. Java语言发展史

  • Java语言是由谁, 在哪家公司开发的?
* Java语言:
	它是一门机器语言,不同与人与人之间交流方式(在中国使用普通话进行交流)

* Java是由詹姆斯.高斯林研发出来的,最早是SUN公司。后面SUN公司被Oracle公司收购!
  • Java语言的发展史?
* Java自1994年诞生,在1995年发行第一个版本(1.0),随着时间的推移,后面陆陆续续发行了其它版本,在后面的这些版本中,具有划时代意义是1.5版本,为了突出这个版本的里程碑意义,将其更名为5.0。在此版本后,也有很多其它的版本,目前最新的是14版本。但是市场主流使用的是8.0版本,我们教学也使用8.0版本!
  • Java语言的平台划分?【了解即可】
* Java语言分为三个领域:
	Java桌面开发: JavaSE的内容(做一些桌面的应用程序:扫雷、坦克大战、打飞机、贪吃蛇、斗地主) 【Java语言的基石】
	Java移动端开发:手机、平板(诺基亚的塞班系统)
	Java企业级开发:京东网上商城、顺丰物流、办公自动化管理系统

2. Java语言的跨平台原理【重要】★

  • 什么是跨平台?
* 平台:操作系统(Windows、Linux、Mac OS)
* 跨平台:同一个程序,能够在不同的操作系统中运行!
  • 跨平台的原理是?
* Java的跨平台,是通过不同版的虚拟机来实现的!
	java程序要想在windows系统中运行,那么只需要有一个windows版的虚拟机即可!
	java程序要想在Linux系统中运行,那么只需要有一个Linux版的虚拟机即可!
	java程序要想在Mac OS系统中运行,那么只需要有一个Mac OS版的虚拟机即可!
  • JVM本身可以跨平台吗?
不可以。【如果可以,那么只需要一个版本的jvm即可,但是不行啊】

1593393543295

3. JRE和JDK 【重要】

  • 什么是JDK?
  • 什么是JRE?
  • 什么是JVM?
  • 三者之间的关系是什么?
* JDK: java开发工具包	包含了jre和开发工具包(编译工具和运行工具)		编译工具:javac.exe		运行工具:java.exe		* JRE: java运行环境	包含了jvm和核心类库		核心类库:别人应该写好的一些程序。【我们自己在编写java程序的时候可以拿过来使用】* JVM: java虚拟机	java程序执行的地方!* 这三者都是软件!其中:jdk包含了jre,jre包含了jvm* 三者的关系:	jdk > jre > jvm* 结论:我们要想进行java开发,只需要有jdk就可以了!

4. JDK的下载和安装 ★

  • A:JDK的下载
	官网:http://www.oracle.com    Oracle公司的官网会不断的更新主页面!
  • B:JDK的安装

    大家的开发环境涉及的软件的版本尽量统一!!! ======>>>>避免就业班出现的一些不必要的麻烦!JDK它分为绿色版和安装板!	绿色版:直接解压压缩包就可以使用(一台电脑可以安装很多jdk)	安装版: 需要按照特定的步骤,一步一步的去执行安装操作(一台电脑只能安装同一个版本的一个jdk)	安装的原则:能使用绿色版就不使用安装板!我们这里使用JDK8,安装是傻瓜式的(下一步,下一步!) =======>>>安装路径不要有中文和特殊符号!D:【不要是系统盘】	Develop		Tlias			tlias			data		jdk			jdk1.8			jdk11.0		NotePad++		...jdk8在安装的过程中,出现了一个界面 ,3BL  千万不要关闭! 按照它默认的路径安装即可!!!!
    
  • C:验证安装是否成功

    进入安装JDK的bin目录,在当期目录的地址位置输入cmd回车,在弹出的DOS窗口里面分别输入javac回车和java回车,能够在屏幕看到一些内容,说明JDK安装成功!
    
  • JDK目录结构说明

目录名称				说明bin					该路径下存放了JDK的各种工具命令。javac.exe和java.exe就放在这个目录---------------------------------------------------------------------------------conf				该路径下存放了JDK的相关配置文件include				该路径下存放了一些平台特定的头文件jmods				该路径下存放了JDK的各种模块legal				该路径下存放了JDK各模块的授权文档lib					该路径下存放了JDK工具的一些补充JAR包
  • 5分钟时间自己操作一遍
JDK的安装说明:注意目录要求!			

5. 常用的DOS命令

  • 为什么要学习命令提示符?
  • 如何打开命令提示符(DOS窗口)?
* 为什么要学习命令提示符?	后面我们要使用javac.exe和java.exe开发工具,就必须进入指定的目录!* 如何打开命令提示符(DOS窗口)?	win+r(一起按), 输入框中输入 cmd,然后回车 * dos常用命令	① 盘符切换: 直接输入盘符名称:+回车   【盘符名称大小写均可】	② 查看当前盘符(目录)里面的内容:dir	③ 目录切换: cd 目录结构		D:\Develop\jdk\jdk1.8.0_172\bin>     【你也可以一次进入一个目录,执行多次cd命令】	④ 返回根目录:cd /	【可以从任意目录直接返回根目录】	⑤ 返回上一级目录: cd ..	⑥ 清屏目录: cls
在按下win+r之后输入的:	1. calc	-> 打开计算器	2. notepad -> 打开记事本

6. Path环境变量的配置 ★

  • 为什么要配置环境变量?
  • 如何配置?
总结:1. 为什么要配置环境变量?		正常情况,我们想要使用javac.exe和java.exe开发工具,必须进入指定的目录			D:\Develop\jdk\jdk1.8.0_172\bin	为了方便开发,我们不希望每次都进入这个目录,那么可以通过环境变量的配置实现在任意目录都可以直接使用这2个开发工具。	2. 如何配置?

win10配置截图:

image-20200905101418476

image-20200905102027006

image-20200905102223330

win7配置截图:

1564544390389

1564544413664

1564544481286

配置环境过程中可能出现的问题:1. 配置了环境变量,在DOS窗口执行javac命令不好使?		可能是你在配置环境变量之前打开了窗口,关闭窗口重新打开一个!2. 环境变量失效问题		Win10, 重启电脑之后, 可能就会失效		解决方案: 找到环境变量的path, 进入编辑文本, 不需要修改任何内容, 直接确定即可		Win10的同学,建议将%JAVA_HOME%\bin 上移到顶端		一个电脑可以安装多个版本的JDK,最终使用哪一个,取决于环境变量的配置!%JAVA_HOME%\bin;D:\Develop\jdk\jdk1.8.0_172

7. HelloWorld案例 ★

  • Java程序开发运行的基本步骤是什么?
* ①创建Java文件	新建一个文本文档,修改扩展名为.java =====>>> HelloWorld.java

image-20200905104723812

* ②使用记事本打开java文件,在java文件中编写java代码(源代码) [目前:固定写法(记忆),具体内容后续课程陆续讲到]  【程序员能够读懂!】
public class HelloWorld{	public static void main(String[] args){		System.out.print("Hello World!");	}}

image-20200905105055945

* ③编译java代码(对应java文件) 【让程序员能够读懂的内容,变成机器能够识别的内容】	借助jdk开发工具javac.exe!		在HelloWorld.java所在的目录(已经配置了环境变量),执行 javac HelloWorld.java即可!			注意:虽然我们配置了环境变量,但是它仅仅只是保证了可以在任意目录执行javac.exe或者java.exe文件,但是你还得给定java文件所在的位置!	        一旦将java程序编译成jvm能够识别的内容,那么会多出一个文件,它是以.class结尾的(字节码文件)!

image-20200905105738387

* ④执行字节码文件	借助jdk的开发工具java.exe!		在HelloWorld.class文件所在目录中执行命令: java HelloWorld

image-20200905110121216

注意:若修改了java源代码,要想生效,必须先保存文件,然后重新编译java文件生成新的字节码文件!

win10系统特别注意:

系统默认是将所有文件的扩展名隐藏了,所以务必将文件的扩展名的复选框勾选【文件的扩展名就不会是.java,而是.txt】
  • 10分钟时间练习
  • 使用java程序,在屏幕上输出
你不努力,谁也给不了你想要的生活!将来的你一定感谢现在拼命的自己!

8. HelloWorld案例常见问题

  • 总结

1.文件名与类名不一致【HelloWorld.java class Helloworld】

1593402233717

2.单词拼写错误 【void 写成了 viod或者 String写成了string】

1593402350672

1593402593701

3.main方法书写错误 将main写成了mian

1593402531586

4.类名(第三方类库)书写错误 【System写成了system】

1593402694268

5.代码结束未写分号

1593402766919

6.使用了中文的符号

1593402823550

说明:	★ BUG:编写的程序存在问题,不能正常执行!	★ 以后我们写java代码,每行代码结束,都会以;为标记!		★ 在书写代码的时候,我们输出中文,出现的结果不是预期的(没有报错),可能是文件保存的时候使用的编码不正确!	★ 以后但凡更改了java源代码,那么之后都需要重新编译再执行!	★ println和print的区别:		前者打印输出内容后,换行!		后者打印输出内容后,不换行!
  • 请找出下方HelloWorld案例的错误, 并修改
public class Demo {  // 类名与文件名称不一致!	public static void main(String[] args) {		System.out.println("HelloWorld");	}}

9. Notepad++ 软件的安装和使用

  • Notepad软件安装后的设置
软件安装:傻瓜式的下一步下一步完成,建议安装目录与之前的JDK在同一级创建一个目录设置 -> 首选项	A. 新建 -> windows ->  默认语言Java	-> 文件编码ANSI	B. 自动完成问题:我们已经配置了环境变量,为什么在编译java文件的时候,还要进入指定位置?	环境变量配置只是处理了 执行文件javac.exe和java.exe	要编译哪个文件,是不是也要找到这个文件的位置!
  • 5分钟时间安装并配置

10. 注释

  • 什么是注释?
  • 注释的分类?
  • HelloWorld说明
1. 什么是注释?	对Java代码进行一些文字性的描述信息(解释代码是啥意思) 【注释是给人(程序员)看的】它是不参与程序执行的!!!2. 注释的分类?	单行注释: // 注释内容	多行注释: /* 注释内容 */	文档注释: /** 注释内容 */  【了解】
/**	这是一个文档注释:一般对类进行描述,我们使用文档注释	这个类是我们的第一个Java程序!		class:它是一个关键字(稍后讲解),它后面的内容就是一个类名	HelloWorld:它是一个类名(类是java里面的基本组织单位,所有的代码都是写在类中的)*/public class HelloWorld{	/*		这是一个多行注释,注释的内容可以写在多行!多行注释一般写在方法上面		main:这是一个方法(它是Java程序运行的入口方法) 【固定写法】	*/	public static void main(String[] args){		// 这是一个单行注释,注释的内容只能在当前行!		System.out.println("HelloWorld"); // 这是一条输出语句,输出完毕后会换行	}}
注意:注释的嵌套问题	多行注释中不能嵌套多行注释! 【在不清楚注释嵌套的情况下,就不要玩嵌套!!!】

11. 关键字

  • 什么是关键字?
  • 关键字有哪些特征?
总结:1. 什么是关键字?	在java中被赋予特殊含义的单词(被java语言内定了)!======>>>> 后面在定义变量(为变量取名)的时候不能使用这些关键字~	例如:		public class static void 	具体什么含义,在后续课程会陆续学习!2. 关键字的特征?【如何识别关键字】	① 它都是由一些小写的单词组成!(全部都是小写字母) 	② 在高级记事本中是高亮显示(有特殊的颜色) 	 	我们在后续会接触到很多关键字!我们每接触一个,就掌握一个!问题: main是关键字吗?	它不是关键字!但是它的确有特殊含义,主方法(程序入口方法)的单词是固定的!

12. 常量

  • 什么是常量?
  • 常量的分类有哪些?
	我们编写Java程序很多时候是需要描述一些事物的特征!(描述某位同学<姓名、年龄、身高、性别>)	而在这些数据中,性别是固定的(一旦出生后不可更改了)!总结:1. 什么是常量?	在java程序运行过程中,其数值不可改变的量!	2. 常量的分类?	字符串常量:标志是一对双引号!【双引号中间可以书写任意内容(不写也行)】		"HelloWorld","么么哒!","a","@",""	字符常量:标志是一对单引号!【单引号中间不能空着不写,而且只能出现单个字符】		'a','1','国','@'  【‘’ 这是错误的!】	整数常量:全部都是数字,不能有小数点		100,-58	小数常量:全部都是数字,有小数点		3.14,-10.5	布尔常量:只有2个取值(true,false) 【"true" 错误,它是一个字符串常量】	空常量:null(只有这么一个取值,不能直接打印输出) 【面向对象章节会学习到】	3. 注意问题	① 字符串常量,里面可以空着不写任何内容    ② 字符常量,不能空着不写,不能写多个字符(单个字母,单个数字,单个汉字都是一个字符)    ③ 布尔常量,不能加双引号    ④ 空常量,不能直接打印输出
public class Demo01{	public static void main(String[] args){		// 字符串常量		System.out.println("$");		System.out.println("itheima");		System.out.println("国");		System.out.println("");				// 字符常量		System.out.println('a');		System.out.println('1');		System.out.println('@');		System.out.println('男');		System.out.println(' ');				// 下列三种字符常量对应代码都是错误的!		// System.out.println('abc');		//System.out.println('10');		//System.out.println('');				// 整数常量		System.out.println(100);		System.out.println(-58);				// 小数常量		System.out.println(3.14);		System.out.println(-10.5);				// 布尔常量:只有2个取值		System.out.println(true);		System.out.println(false);				// 空常量 【不能直接打印输出】		//System.out.println(null);			}}

10分钟时间练习
请在屏幕上输出一个学生的信息,包含姓名、性别、年龄、身高、地址。

public class Demo02{	public static void main(String[] args){		// 姓名(字符串常量)		System.out.println("虞姬");				// 性别(字符常量)		System.out.println('女');				// 年龄(整数常量)		System.out.println(18);				// 身高(单位m,小数常量)		System.out.println(1.65);		//System.out.println(1.65+"米");				// 地址(字符串常量)		System.out.println("北京市顺义区白各庄");	}}

13. Java中的数据类型 ★

  • 为什么要有数据类型?
  • Java的基本数据类型一共分为哪些?
总结:1. 为什么要有数据类型?	所有的数据都是要进行存储的!数据类型的出现就是为了让JVM合理的为数据分配合适的空间!★★★★★	【我们写的java程序在JVM中运行,JVM它是一款软件,软件运行会消耗内存】		int number = 100;  // int类型占据4个字节空间,数值100可以使用byte类型存储!	byte number = 100; // byte类型只占据1个字节空间			在计算机中,存储数据的最小单元是 bit(位),存储的数据都是二进制(里面只有0和1)的,每1个0或者1就代表一个位。在计算集中,存储数据的最小单位是字节byte(每8个位就成为了1个字节),而显示文件的大小通常是KB或者更高的单位。	1byte = 8bit    1KB = 1024 byte    1MB = 1024 KB    1GB = 1024 MB    1TB = 1024 GB      	在前面我们定义了字符串常量、布尔常量等等它在内存中都会占据空间   2. 数据类型分类 【非常重要!】	★ 基本数据类型:四类八种 【今天的重点】		整型:			byte	1个字节			short	2个字节   			int		4个字节			long	8个字节		浮点型:			float	4个字节			double	8个字节    	字符型:    		char	2个字节    	布尔型:    		boolean	1个字节		★ 引用数据类型:数组、类、接口 【后续课程陆续学习】	    字符'国'占据多少位?16位! 【字符占据2个字节,每个字节8个位】    注意:	类型的取值范围与占据空间的大小无关的!!!!!	byte类型的最大取值 127	在没有特殊说明的情况下,整数默认的是int类型,浮点数默认的是double类型			  
1568106285169

14. 变量 ★

  • 什么是变量?
  • 变量的格式是?
  • 变量的作用?
总结:1. 什么是变量?	变量:在程序运行过程中,值可以改变的量,本质是内存中一块区域(java程序都是在内存中运行的!)	变量组成: 数据类型 变量名称 变量值 三部分构成!2. 变量的定义格式	格式1:先定义变量,后赋值		数据类型 变量名称;		变量名称 = 变量值;	例如:				int number;        number = 100;	格式2:在定义变量的同时,直接赋值		数据类型 变量名称 = 变量值;	例如:		int number = 100;			简而言之:		byte/short/int/long/float/double/char/boolean a;        a = 值;【根据不同的类型赋不同的值】					byte/short/int/long/float/double/char/boolean a = 值;【根据不同的类型赋不同的值】	3. 变量的使用	获取变量的值:		格式:变量   [可以进行输出]			System.out.println(number);	修改变量的值:		格式:			变量名称 = 新的变量值;			number = 200;		4. 变量的作用	能够非常方便修改程序中那些需要变动的值!		System.out.println(true);		System.out.println(true);		System.out.println(true);		System.out.println(true);		System.out.println(true);	上面使用常量,要修改需要全部挨个完成,如果使用变量会非常方便    	boolean flag = true;    	System.out.println(flag);		System.out.println(flag);		System.out.println(flag);		System.out.println(flag);		System.out.println(flag);				// 如果要将输出到数据弄成false		使用变量,我们只需要将 flag = false;// 代码演示:public class VariableDemo{	public static void main(String[] args){		// 定义变量(先定义后赋值)		boolean flag; // 定义变量,没有赋值的		flag = true; // 为变量赋值		// 定义变量(在定义的同时直接赋值)		char ch = 'A';				// 获取变量的值(打印输出)		System.out.println(flag);		System.out.println(ch);				// 修改变量的值		flag = false;		ch = '牛';				System.out.println(flag);		System.out.println(ch);	}	}		
  • 变量的扩展讲解:
1. 变量可以先定义, 再赋值.也可以在定义的时候直接赋值!2. 一条语句可以定义n个变量.【能看懂即可,一般开发不会使用,但是面试会出现!】
public class VariableDemo2{	public static void main(String[] args){						// 在一个语句中定义多个变量(未赋值)		int x,y,z;  // 一次性定义了3个变量,没有赋值		// 为变量赋值		x = 10;		y = 20;		z = 30;		// 使用变量		System.out.println(x);		System.out.println(y);		System.out.println(z);		System.out.println("-----------------");				// 在一个语句中定义多个变量同时赋值		int m=10,n=20,p=30;		// 使用变量		System.out.println(m);		System.out.println(n);		System.out.println(p);	}	}
  • 10分钟练习: 请分别定义byte、short、int、double、char以及boolean这6种类型的变量,并将值输出到屏幕上。
/**	请分别定义byte、short、int、double、char以及boolean这6种类型的变量,并将值输出到屏幕上。*/public class VariableDemo3{	public static void main(String[] args){		// 定义byte类型的变量		byte a = 10;		System.out.println(a);				// 定义short类型的变量		short b = 20;		System.out.println(b);				// 定义int类型		int c = 30;		System.out.println(c);				// 定义double类型的变量		double d = 12.03;		System.out.println(d);				// 定义char类型的变量		char e = 'a';		System.out.println(e);				// 定义boolean类型的变量		boolean f = true;				System.out.println(f);			}	}

15. 变量的注意事项

  • 总结:
1. 定义变量的时候(定义在方法中),需要先赋值,后使用	【定义在方法中变量我们称之为局部变量】        public static void main(String[] args){            // 定义变量            int a; // 定义了变量,没有赋值            System.out.println(a);  // 错误: 可能尚未初始化变量a             //【执行javac命令出现的错误,我们称之为编译报错;执行java命令报错,我们称之为运行时报错!】        }		2. 变量在定义的时候,变量名称重复				public static void main(String[] args){            // 定义变量            int a; // 定义了变量,没有赋值            char  a = 'a'; // 在定义一个变量 (错误: 已在方法 main(String[])中定义了变量 a),简而言之,变量名称不允许重复!        }        3. 定义long类型的数据时,建议在后面添加一个L		//long b = 10000000; // 右侧是一个int类型的数值(整数默认是int类型,当前的数值没有超过int类型的最大取值)		//long b = 100000000000; // 右侧是一个int类型的数值(整数默认是int类型,当前数值超过了int类型的最大取值,所以会报错!)		long b = 100000000000L; // 加了L说明数值是一个long类型的,没有超过long类型的最大取值,代码正确!  	4. 定义float类型的数据,后面添加F		//float d = 3.15; // 小数默认是double,你将这个double类型的数值赋值给一个float类型的变量,出现了不兼容类型的错误			float d = 3.15F; // 明确指定这个小数是一个float类型

16. 标识符 ★

  • 什么是标识符?
  • 标识符的组成规则?
总结: 【学习标识符主要注意2个问题:它的规则?能够识别标识符是否符合要求!】1. 什么是标识符?	就是我们为 类名、变量名称、方法名称取名字!都是自定义!2. 标识符的组成	只能是 数字(0-9)、字母(a-z或者A-Z)、下划线(_)、美元符号($)	
标识符的命名规范1. 硬性要求:	★ 不能以数字开头	★ 不能是关键字(关键字已经被内定了,赋予了特殊的含义!)	★ 严格区分大小写的	★ 只能是 数字(0-9)、字母(a-z或者A-Z)、下划线(_)、美元符号($)			2. 江湖规矩(软性要求)    ★ 见名知意,别人一看到类名就知道这个类是干啥的,比如:public class Student{} ====>>> 这个类是用于描述学生信息的  	针对类名:大驼峰  		类名:描述朋友  			一个单词:单词的首字母大写,比如:Friend  			多个单词:每个单词的首字母都要大写:比如,男朋友  BoyFriend  	针对变量名称、方法名称:小驼峰  		变量/方法名称:  			一个单词:每个字母都是小写  int number = 10;  			多个单词:第一个单词的首字母小写,其它的单词的首字母都大写 int oddNumber = 9;

17. 类型转换 ★

  • 类型转换的分类有?
  • (隐式)转换指的是?
  • (强制)转换指的是?
总结:	1. 类型转换分为 自动类型转换和强制类型转换	2. 自动类型转换(我们不用手动处理)   		将小范围的数值赋值给大范围的变量!   			只要遵循范围的规则:【类型转换都是数字型的!布尔类型不参与类型转换!】   				byte--->>short--->>>int--->>long--->>float--->>double   				char--->>>int--->>long--->>float--->>double   		例如:        	long number = 100; // 将小范围的数值100(int类型),赋值给大范围(long类型)的变量number      	   		byte b = 100; // 代码也没有问题,比较特殊(还有short),只要数值没有超过byte的最大取值范围即可!       	3. 强制类型转换(手动处理)		将大范围的数值赋值给小范围的变量        	处理的格式:  小范围数据类型 变量名称 = (小范围的数据类型)大范围数值;                例如:        	long c = (long)3.15;  // 小数默认是double类型,将大范围的数值赋值给小范围的变量,必须强转!			System.out.println(c); // 3   		强制转换存在2个问题:			丢失精度:大范围的浮点数转成小范围的整数				long c = (long)3.15;  // 小数默认是double类型,将大范围的数值赋值给小范围的变量,必须强转!				System.out.println(c); // 3   			数据溢出:大范围的整数转成小范围的整数 【有一个水桶,里面有10L水,然后倒入一个容量只有1L的水杯】				byte d = (byte)200L;				System.out.println(d); // -56						★ 强制类型转换风险极大,慎用!!!			

面试题:问题: 下面的程序是否有问题,如果有问题,请指出并说明理由(必须掌握!!!!)

​ byte b1 = 3;
​ byte b2 = 4;
​ byte b3 = b1 + b2;

错误原因: 因为所有整数默认都是int类型, 所以b1和b2相加的时候, 会先将自己提升为int类型		 两个int相加的结果还是int, 将int结果赋值给byte, 必须加入强转解决方案: byte b3 = (byte)(b1 + b2);
	byte b = 3 + 4;	 // 这句话不会出现编译错误	原因是3和4是两个常量, Java有常量优化机制, 在编译的时候就会将3和4计算出一个结果	并自动判断结果是否在byte的取值范围内.
	double d = 20;	System.out.println(d); // 没有,自动转换,结果为 20.0	long l = 10;				System.out.println(l);	long l2 = 12345678998765432L;
posted @ 2021-04-29 18:09  690091010  阅读(67)  评论(0)    收藏  举报