《Java程序设计基础》全套教学课件_第1页
《Java程序设计基础》全套教学课件_第2页
《Java程序设计基础》全套教学课件_第3页
《Java程序设计基础》全套教学课件_第4页
《Java程序设计基础》全套教学课件_第5页
已阅读5页,还剩1093页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Java程序设计基础》第1章Java语言概述第2章Java编程基础第3章

控制结构第4章

方法第5章

数组、字符串第6章OOP-p1第7章OOP-p2第8章

内嵌类与lambda表达式第9章

泛型与枚举第10章

异常处理第11章

文件与IO流第12章JavaFX图形用户界面程序设计全套可编辑PPT课件

第1章Java语言概述教学目标了解计算机基础知识,理解冯.诺依曼结构,理解数系,掌握二进制、八进制、十六进制、十进制的相互转换理解编程语言概念、程序的概念,理解编译执行和解释执行了解Java语言发展历史,理解Java语言特点能安装JDK理解Java简单程序涉及的基础语法元素理解Java应用程序的开发步骤理解源文件、字节码文件与类之间的关系了解Eclipse、IntelliJIDEA、NetBeans集成开发环境,能使用其中一种集成开发环境开发Java程序本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.1.1冯.诺依曼结构

(1/8)1945年,数学家冯.诺依曼提出了计算机制造的三个基本原则:采用二进制逻辑程序存储执行计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备)。这三个原则定义了所有现代通用电子计算机的基本范式,被称为“冯.诺依曼结构”。按照“冯.诺依曼结构”建造的计算机被称为存储程序计算机冯.诺依曼结构计算机的基本原理是存储程序原理,是把程序和数据存储到计算机内部存储器中的一种设计原理。冯.诺依曼结构如图1-1所示:本课件是可编辑的正常PPT课件1.1.1冯.诺依曼结构

(2/8)工作方式:在程序执行前,程序包含的指令和数据要先送入内存;一旦启动程序执行,则计算机必须能够在不需要操作人员干预下自动完成逐条指令取出和执行的任务。本课件是可编辑的正常PPT课件1-1冯.诺依曼结构不包含的部件()CPU输入设备通信设备输出设备ABCD提交单选题1分本课件是可编辑的正常PPT课件1-2冯.诺依曼结构的三个原则()采用二进制逻辑程序在线执行程序存储执行计算机由五个部分组成ABCD提交计算机由六个部分组成E采用二进制和十进制混合逻辑F多选题2分本课件是可编辑的正常PPT课件1.1.1冯.诺依曼结构——CPU:中央处理器(3/8)CPU(centralprocessingunit):计算机的大脑组成:控制单元、算术/逻辑单元控制单元:控制和协调其他组件的动作算术/逻辑单元:完成数值运算和逻辑运算CPU速度的衡量:Hz,MHz,GHz本课件是可编辑的正常PPT课件1.1.1冯.诺依曼结构——内存(Memory)(4/8)信息是如何存储在计算机中?电路开:1;电路关:0比特:一个二进制数0或1字节:最小的存储单元,由8个比特构成存储容量单位:KB、MB、GB、TB、PB各种类型的数据(如数字、字符)都被编码成字节序列。程序员无须关心数据的编码和解码,这些都是系统根据编码模式自动完成。现实世界中的数据,如“冰与火”、3.1415,如何被“0、1”所表示呢?本课件是可编辑的正常PPT课件1.1.1冯.诺依曼结构——内存(Memory)(5/8)内存:由一个有序的字节序列组成,用于存储程序及程序需要的数据。一个程序在执行之前必须先装入内存,因此,内存也是计算机执行程序的工作区域。本课件是可编辑的正常PPT课件1.1.1冯.诺依曼结构——外存(6/8)制作好的程序和有用的数据应能被永久地存放。然而,内存是一个易失的数据保存形式,即断电时存储在内存中的信息就会丢失。外存介质:物理地存储数据和程序指令。外存设备:(驱动器是对外存介质进行操作的设备)磁盘驱动器(存储介质:硬盘)光盘驱动器(存储介质:CD,DVD)USB闪存驱动器(存储介质:移动U盘、移动硬盘)本课件是可编辑的正常PPT课件1.1.1冯.诺依曼结构——输入/输出设备(7/8)键盘:用于输入的设备鼠标:是定点设备,用来在屏幕上移动一个成为光标的图形化指针显示器:显示信息(文本和图形)。屏幕分辨率:显示设备水平和垂直维度上的像素数。如1024X768。分辨率越高,图像越清晰。点距:像素之间以毫米为单位的间隔。点距越小,显示效果越好。本课件是可编辑的正常PPT课件1.1.1冯.诺依曼结构——计算机组成(8/8)计算机包括硬件和软件两个部分。硬件是看得见的物理部分,而软件是看不见指令,这些指令控制硬件并使得硬件完成特定任务。主要硬件如下图所示:本课件是可编辑的正常PPT课件1-3()是计算机的大脑硬件CPU内存磁盘ABCD提交单选题1分本课件是可编辑的正常PPT课件1-4这句话是否正确:内存中存储的数据在断电后也能保持不变。()正确错误AB提交单选题1分本课件是可编辑的正常PPT课件1-5计算机执行程序的工作区域是()CPU内存外存显示器ABCD提交单选题1分本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.1.2数系(1/9)十进制数系十进制数系是我们日常生活中常常使用的,它能使用的数字有十个:0、1、2、3、4、5、6、7、8、9。一个十进制数用一个或多个这些数字所组成的、首位不为数字0的一个序列表示。二进制数系二进制数系是计算机内部使用的,它能使用的数字有两个:0和1,其基数是2。一个二进制数是由0、1所组成的序列。本课件是可编辑的正常PPT课件1.1.2数系(2/9)十六进制数系十六进制数系的基数是16,能使用16个数字:0到9、A到F(也可以用小写,a到f),其中,A对应十进制数的10,B对应十进制数11,依此类推,F对应十进制数15。本课件是可编辑的正常PPT课件1.1.2数系(3/9)

本课件是可编辑的正常PPT课件1.1.2数系(4/9)

排列成b7b6b5b4b3b2b1b0,即可得到的转换后的二进制数是:10001001。本课件是可编辑的正常PPT课件1.1.2数系(5/9)二进制与十进制的相互转换上述十进制转换为二进制的计算过程,也可以用数学竖式来表示,如下所示。本课件是可编辑的正常PPT课件1.1.2数系(6/9)二进制与十六进制的相互转换二进制转换为十六进制:从左向右把每四位二进制数转换为一个十六进制数十六进制转换为二进制:把十六进制数的每一位转换为四位二进制数例如:0xB3F<——>0x101100111111本课件是可编辑的正常PPT课件1.1.2数系(7/9)

本课件是可编辑的正常PPT课件1.1.2数系(8/9)

本课件是可编辑的正常PPT课件1.1.2数系(9/9)十进制与十六进制的相互转换上述十进制数转化为十六进制数的计算过程,也可以用数学竖式来表示,如下所示将上述计算结果,排列成h2h1h0,即得到十六进制数:345。本课件是可编辑的正常PPT课件1-6十进制数145对应的二进制数是

[填空1],十六进制数是[填空2]。(备注:答案不需要前缀0x或0b)作答填空题2分本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.1.3编程语言和程序(1/6)程序:告诉计算机做什么的指令计算机不理解人类语言,因此,计算机程序需要使用计算机可以理解的语言编写。编程语言:程序员编写程序时使用的语言,能被计算机接受和处理,具有完备的语法规则,可以让程序员准确定义计算机所需的数据和应当采取的动作,从而让计算机完成指定任务。按时间顺序:机器语言、汇编语言、高级语言机器语言第一代计算机语言,是用二进制代码表示、能被计算机直接理解和执行的一种内置机器指令集合具有直接执行、速度快的特点如:表示“+”(11011010,某种机器指令集)本课件是可编辑的正常PPT课件1.1.3编程语言和程序(2/6)汇编语言:第二代计算机语言,也称为符号语言,是一种用助记符和符号地址表示每一条机器语言指令、仍然面向机器的编程语言汇编语言使用短的描述性单词(简称为助记符)来表示一条机器语言指令。如:add2,3,result需要使用汇编器将汇编语言程序转换成机器代码本课件是可编辑的正常PPT课件1.1.3编程语言和程序(3/6)汇编语言:第二代计算机语言,也称为符号语言,是一种用助记符和符号地址表示每一条机器语言指令、仍然面向机器的编程语言优点:汇编语言易于理解和记忆,有效降低编程难度。缺点:用汇编语言编写的程序不具有可移植性。而且,用汇编语言编程要知道CPU是如何工作以及数据所对应的寄存器单元或地址单元的状态。因此,用汇编语言进行编程,对程序员的要求也是很高的,还要针对不同类型的机器学习其对应的汇编语言。本课件是可编辑的正常PPT课件1.1.3编程语言和程序(4/6)高级语言第三代计算机语言,面向用户、独立于机器的指令系统、比较接近于人类的自然语言平台独立,高级语言程序可以在不同类型的机器上运行。语句:高级语言中的指令。如area=5*5*3.1415;举例:Java、C、Python、C++、C#本课件是可编辑的正常PPT课件1.1.3编程语言和程序(5/6)高级语言源程序(源代码):用高级语言编写的程序。源程序机器代码:编译执行和解释执行编译执行:将整个源代码翻译为机器代码文件,然后执行该机器代码文件本课件是可编辑的正常PPT课件1.1.3编程语言和程序(6/6)解释执行:解释器一次翻译并且执行程序的一条语句编译执行与解释执行效率比较?编译执行效率高本课件是可编辑的正常PPT课件1-7CPU能理解什么语言?()机器语言汇编语言高级语言Java语言ABCD提交单选题1分本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.2.1Java语言发展历史(1/2)起源:Oak(1991,JamesGosling)1990年Sun公司成立了由JamesGosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言快速发展:得益于Internet和Web的出现Java诞生:1995年5月Sun公司推出JavaDevelopmentKit(JDK)1.0a2版本,标志着Java的诞生印度尼西亚有一个重要的盛产咖啡的岛屿叫Java,中文译为爪哇,开发人员为这种新的语言起名为Java,其寓意是为世人端上一杯热咖啡Java平台:JavaSE(JavaStandardEdition),Java标准版JavaEE(JavaEnterpriseEdition),Java企业版JavaME(JavaMicroEdition),Java微型版本课件是可编辑的正常PPT课件1.2.1Java语言发展历史(2/2)JDK5JDK8JDK11JDK172029年9月2030年12月2026年9月自JavaSE9开始,新版本的发布以半年为周期本课件是可编辑的正常PPT课件课程思政1:与时俱进,终身学习信息技术的发展,知识更新越来越快;Java技术的更新步伐也是越来越快。只有不断学习更新的Java语言特性,才能跟上时代的步伐。应牢固树立与时俱进、终身学习的理念,不断更新知识,才能不负于国家和时代的重托。本课件是可编辑的正常PPT课件1.2.2Java语言特点和应用(1/3)简单的(simple)面向对象的(objectoriented)分布式的(distributed)解释型的(interpreted):字节码解释执行健壮的(robust)编译检测、异常处理、摒弃一些易发生错误的编程机制安全的(secure)安全的存储分配模型、不能直接操作内存、字节码验证体系结构中立的(architectureneural)可移植的(portable)高性能的(highperformance)字节码解释执行比其他解释执行语言编写的代码要快得多多线程的(multi-threaded)内置支持多线程,Object类的成员方法wait()、notify()、notifyAll()等用于多线程之间的同步,还有一个关键字synchronized也用于支持多线程的同步。动态的(dynamic)类是在运行时由JVM根据需要动态加载的,而不是在刚开始全部加载。当某个类发生了修改,不需要对整个应用程序进行编译。本课件是可编辑的正常PPT课件1.2.2Java语言特点和应用(2/3)体系结构中立的(architectureneural)Writeonce,runanywhere编译后产生的字节码文件可以跨平台执行可移植的(portable)Java语言的语言规范不依赖于机器平台源程序不需要修改,也可以在其他平台编译、执行本课件是可编辑的正常PPT课件1.2.2Java语言特点和应用(3/3)Java语言应用广泛:全球有数百万开发人员运行超过51亿台Java虚拟机….服务器端开发:Java在金融服务业的应用非常广泛,许多跨国投资银行例如:GoldmanSachs(高盛投资),Citigroup(花旗集团),Barclays(巴克莱银行)以及其他银行,都用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。大数据技术、机器学习:Hadoop、Mahout网站领域:SpringMVC,JSP….嵌入式领域:JavaME智能手机:Android本课件是可编辑的正常PPT课件课程思政2:软件定义一切与程序员职业道德2017年,中国计算机大会,梅宏教授的主题报告是《软件定义一切:挑战和机遇》结合当下的人工智能热潮,梅宏教授认为我们正在进入一个软件定义的时代。软件定义的技术本质是把原先一体化的硬件设施打破,将基础硬件虚拟化并提供标准化的基本功能,然后通过管控软件,控制其基本功能,提供更开放、灵活、智能的管控服务。梅宏,中国科学院院士,发展中国家科学院院士,中国计算机学会会士,IEEEFellow。在人-机-物融合计算的场景下,万物皆可互联、一切均可编程本课件是可编辑的正常PPT课件课程思政2:软件定义一切与程序员职业道德隐私与数据滥用作为日常工作的一部分,程序员可以访问大型数据集或数据库,它们或者包含金融交易信息、个人敏感信息,或者包含了级别划分为“秘密”“绝密”的信息。程序员应以对社会负责的态度,尊重隐私,遵守信息安全工作条例。计算机黑客通过自己的计算机,入侵远程计算机系统,非法提取数据或破坏系统。无论动机如何,都是非法的。本课件是可编辑的正常PPT课件课程思政2:软件定义一切与程序员职业道德抄袭和盗版软件未经允许使用他人的程序是一种缺乏职业道德的行为很多商业软件都受版权法的保护。违反版权法,会面临高额罚款计算机资源的滥用计算机系统访问权限或用户账户密码是私有财产当你获得一个权限,不应滥用这一权限本课件是可编辑的正常PPT课件1-8下列关于Java语言特点的叙述中,错误的是()Java是跨平台的编程语言Java支持多线程Java支持分布式计算Java是面向过程的编程语言ABCD提交单选题1分本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.2.3JDK安装(1/8)Java语言规范:对语言的技术定义,包括Java程序设计语言的语法和语义应用程序接口API(ApplicationProgramInterface):也称为库,包括为开发Java程序而预定义的类和接口。Java虚拟机(JavaVirtualMachine,JVM):运行Java字节码(bytecode)的虚拟机器。它是Java实现跨平台的基础。“一次编写,处处运行”Java运行时环境(JavaRuntimeEnvironment,JRE):由Java虚拟机、类库以及运行Java程序所需的一些核心文件组成。Java开发工具包(JavaDevelopmentToolkit,JDK):是JRE的超集,包含JRE的所有元素,以及用于开发和测试Java程序的工具。JDKJREJVM本课件是可编辑的正常PPT课件1-10()包含一套独立的程序集用于开发和测试Java程序,该程序集中的每个程序都是从命令行调用的。Java语言规范JavaAPIJavaJDKJavaIDEABCD提交单选题1分本课件是可编辑的正常PPT课件1.2.3JDK安装(2/8)JDK安装步骤:下载JDK17安装包:JavaSE17的下载网页(/java/technologies/downloads/#java17)执行安装包:可选择安装目录安装后目录:bin:包含所有可执行命令conf:包含开发和部署的配置文件include:包含编译本地代码时所使用的C/C++头文件,用于实现JVM等底层软件jmods:包含JMOD格式的平台模块,这个目录保存了核心模块,也就是官方提供的各种类库程序。legal:包含所使用协议的法律声明lib:包含非windows平台上的动态链接本地库,其子目录和文件不应由开发人员直接编辑或使用本课件是可编辑的正常PPT课件1.2.3JDK安装(3/8)JDK安装步骤:环境变量配置在命令行窗口用户通过DoS命令进行设置(1)setJAVA_HOME=D:\java\jdk17(2)echo%JAVA_HOME%(3)setPATH=%JAVA_HOME%\bin;%PATH%(4)java–version本课件是可编辑的正常PPT课件1.2.3JDK安装(4/8)JDK安装步骤:环境变量配置通过系统属性界面找到设置环境变量的界面进行设置本课件是可编辑的正常PPT课件1.2.3JDK安装(5/8)本课件是可编辑的正常PPT课件1.2.3JDK安装(6/8)本课件是可编辑的正常PPT课件1.2.3JDK安装(7/8)本课件是可编辑的正常PPT课件1.2.3JDK安装(8/8)本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.3.1一个简单程序(1/11)程序清单1-1Hello.java/**第一个简单程序*/publicclassHello{ //main方法是程序开始执行的入口方法 publicstaticvoidmain(String[]args){ //在控制台中显示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}Java应用程序的源文件后缀名是.java,源文件的文件名要与Java类名大小写一致。本课件是可编辑的正常PPT课件1.3.1一个简单程序(2/11)注释(comment):块注释、行注释/**第一个简单程序*/publicclassHello{

//main方法是程序开始执行的入口方法 publicstaticvoidmain(String[]args){

//在控制台中显示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}本课件是可编辑的正常PPT课件1.3.1一个简单程序(3/11)类(class):定义一个类必须使用关键字class/**第一个简单程序*/publicclassHello{ //main方法是程序开始执行的入口方法 publicstaticvoidmain(String[]args){ //在控制台中显示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}本课件是可编辑的正常PPT课件1.3.1一个简单程序(4/11)关键字(keyword):关键字也称为保留字,是对编译器具有特定含义的词,不能用于其他目的。/**第一个简单程序*/publicclassHello{ //main方法是程序开始执行的入口方法

publicstaticvoidmain(String[]args){ //在控制台中显示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}本课件是可编辑的正常PPT课件1.3.1一个简单程序(5/11)主方法(mainmethod):Java程序执行的入口点,具有固定形式主类:拥有主方法的类/**第一个简单程序*/publicclassHello{ //main方法是程序开始执行的入口方法

publicstaticvoidmain(String[]args){ //在控制台中显示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}本课件是可编辑的正常PPT课件1.3.1一个简单程序(6/11)块(block):由配对的花括号({、})括住的区域/**第一个简单程序*/publicclassHello{ //main方法是程序开始执行的入口方法 publicstaticvoidmain(String[]args){ //在控制台中显示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}类块方法块本课件是可编辑的正常PPT课件1.3.1一个简单程序(7/11)语句(statement):由分号;结束的一行代码语句终止符:;(分号)空语句:单独一个分号所构成的语句/**第一个简单程序*/publicclassHello{ //main方法是程序开始执行的入口方法 publicstaticvoidmain(String[]args){ //在控制台中显示一行字符串:Hello,javaisfun!

System.out.println("Hello,javaisfun!"); }}System.out:标准输出对象println:可看成printline简写System.out.print():输出不换行本课件是可编辑的正常PPT课件1.3.1一个简单程序(8/11)字符串(String):一个双引号括住的字符序列String:字符串类型/**第一个简单程序*/publicclassHello{ //main方法是程序开始执行的入口方法 publicstaticvoidmain(String[]args){ //在控制台中显示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}本课件是可编辑的正常PPT课件1.3.1一个简单程序(9/11)Java.lang包:每个Java应用程序会默认导入一个包:javalang包,即相当于在类定义之前加上下面的一条导入语句:importjava.lang.*//导入Java基础语言包,一般是隐式导入/**第一个简单程序*/importjava.lang.*;publicclassHello{ //main方法是程序开始执行的入口方法 publicstaticvoidmain(String[]args){ //在控制台中显示一行字符串:Hello,javaisfun! System.out.println("Hello,javaisfun!"); }}本课件是可编辑的正常PPT课件1.3.1一个简单程序(10/11)本课件是可编辑的正常PPT课件1.3.1一个简单程序(11/11)扩展示例:编写一个程序,输出杨辉三角形的前3行publicclassprintYangTri{publicstaticvoidmain(String[]args){ System.out.println("1"); System.out.println("121"); System.out.println("12321");

}}本课件是可编辑的正常PPT课件1-11Java语言主方法的方法头是

[填空1](String[]args)。

作答正常使用填空题需3.0以上版本雨课堂填空题1分本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.3.2Java应用程序开发步骤(1/2)

编辑源文件:扩展名必须是.java。编译Java源程序:用Java编译器(javac.exe)编译源文件,得到字节码文件。运行Java程序:使用Java解释器(java.exe)来解释执行字节码文件。本课件是可编辑的正常PPT课件1.3.2Java应用程序开发步骤(2/2)

示例本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.3.3源文件、字节码文件与类(1/2)一个Java应用程序可由若干个Java源文件构成的。一个Java源文件可以包含一个或多个类的定义。每个源文件一般包括:包(package)声明语句、导入(import)语句、类(class)的定义。其一般形式如下:每个类在编译后均会产生独立的字节码文件(*.class)。本课件是可编辑的正常PPT课件1-12对于一个Java源文件,import,class定义以及package正确的顺序是()package,import,classclass,import,packageimport,package,classpackage,class,importABCD提交单选题1分本课件是可编辑的正常PPT课件1.3.3源文件、字节码文件与类(2/2)含有多个类定义的源文件,只允许有一个公有类,即用public修饰的类,并用公有类的类名命名源文件。当一个源文件声明多个公有类时,编译时Java编译器会报错。源文件Rect.java中定义了两个类:公有类Rect、主类TestRect能否执行字节码Rect呢(即在命令行中使用javaRect)?本课件是可编辑的正常PPT课件1-13编译一个定义了3个类和10个方法的Java源文件后,会产生(

)个字节码文件?扩展名是(

)?13个字节码文件,扩展名为.class1个字节码文件,扩展名为.class3个字节码文件,扩展名为.java3个字节码文件,扩展名为.classABCD提交单选题1分本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.4集成开发环境集成开发环境(IntegratedDevelopmentEnvironment,IDE):编辑、编译链接、调试和在线帮助都集成在一个图形用户界面中。流行的IDE:EclipseIntelliJIDEANetBeans本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.4.1EclipseEclipse下载&安装:Eclipse使用展示Eclipse开发环境项目组织结构项目:JavaBasicTeaching包:chapter1类:Java源文件本课件是可编辑的正常PPT课件目录1.1计算机基础1.1.1

冯.诺依曼结构1.1.2数系1.1.3编程语言和程序1.2Java语言概述1.2.1Java语言发展历史1.2.2Java语言特点和应用1.2.3

JDK安装1.3Java简单程序开发

1.3.1一个简单程序1.3.2Java应用程序开发步骤1.3.3源文件、字节码文件与类1.4集成开发环境1.4.1Eclipse1.4.2IntelliJIDEA本课件是可编辑的正常PPT课件1.4.2IntelliJIDEA下载:/idea/使用演示:项目javaIdeaTest包chapter1类Main本课件是可编辑的正常PPT课件作业见QQ群作业编程题1-4:源文件命名:Ex+学号后四位+章号(两位,不足两位补0)+题号(两位,不足两位补0),例如:学号四位0802,第1章,编程题第1题,命名为:EX08020101.java编程题提交到QQ群作业中,提交代码以及运行结果截图。本课件是可编辑的正常PPT课件Takeabreak本课件是可编辑的正常PPT课件第2章Java编程基础教学目标(1)了解ASCII码,理解Unicode码、标识符、关键字(2)理解变量、常量(3)理解赋值语句与赋值表达式(4)了解并使用交互式工具Jshell(5)理解八种基本数据类型以及数据类型转换(6)理解并应用控制台输入/输出(7)理解并应用算术运算符、增强赋值运算符、关系运算符、逻辑运算符、条件运算符,并能进行混合运算(8)理解并应用数学函数(9)理解编程的步骤和算法概念,能用算法描述问题的解决方案;了解编程、算法思维和计算思维的关系(10)了解并遵守良好的编程规范,理解程序设计风格、注释、命名习惯(11)理解并避免三类程序设计错误本课件是可编辑的正常PPT课件目录运算符和表达式求值数学函数编程与算法编程规范

程序设计错误标识符与关键字变量与常量赋值语句&表达式Jshell基本数据类型2.12.22.32.42.52.62.72.82.92.10目录本课件是可编辑的正常PPT课件2.1标识符与关键字编码&解码:编码是字符映射到其二进制序列的过程,解码是编码的逆过程计算机编码方案:ASCII(AmericanStandardCodeforInformationInterchange)码、Unicode码、GBK码、ISO-8859-1码;其中,GBK码对多大2万多的简繁汉字进行编码。ASCII码与Unicode码标识符关键字内容本课件是可编辑的正常PPT课件2.1.1ASCII码和Unicode码ASCII码:基于拉丁字母的一套电脑编码系统,占用一个字节ASCII(AmericanStandardCodeforInformationInterchange)是“美国信息交换标准编码”的英文字头缩写ASCII码规定了用从0(0x00)到127(0x7F)的128个数字来代表信息的规范编码,包括33个控制码、一个空格码、和94个形象码Unicode码:Unicode码的出现是为了解决ASCII码只能表示128字符的限制占两个字节,表示65536个字符Unicode标准引入了补充字符集(supplementarycharacter),可支持1112064个字符一个Unicode字符使用两个字节,用\u开头的4位16进制数表示,范围从\u0000到\uFFFFUnicode码包含ASCII码,Unicode码的前128个字符(从\u0000到\u007F)与ASCII码的128字符一致示例:TestUnicode.java本课件是可编辑的正常PPT课件2.1.2标识符标识符:Java字母和Java数字组成的长度无限制的字符序列,字符序列的开头必须是Java字母,是用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列。简单地说,标识符就是一个名字。标识符语法规则(1)由字母、数字构成,长度不限。(2)标识符以字母开头,不能以数字开头。(3)标识符不能是保留关键字(reservedkeyword),也不能是字面常量true、false、null。(4)标识符可以是上下文关键字(contextualkeyword),然而应尽量避免使用。本课件是可编辑的正常PPT课件2.1.2标识符Java字母:从整个Unicode字符集中提取,该字符集支持当今世界上使用的大多数书写脚本,包括中文、日文和韩文等的大型字符集。Java字母不仅包括大写和小写ASCII拉丁英文字母:A-Z(\u0041-\u005a)和a-z(\u0061-\u007a),而且包括汉语中的汉字、希腊字母、日文、韩文、俄文以及其他许多语言的文字出于历史原因,Java字母还包括ASCII美元符号($,或\u0024)和下划线(_,或\u005f)建议:美元符号$应该只在机器生成的源代码中使用,不要用来命名标识符下划线(_)可用于由两个或多个字符组成的标识符中,但由于单个下划线是关键字,因而不能用作单字符标识符。标识符举例有效:Hello_Java,$23,hello$,_count,你好,计数器无效:23$,#count,hello-world,hello?本课件是可编辑的正常PPT课件2.1.3关键字关键字是具有特定用途或特定意义的词,可分为保留关键字和上下文关键字保留关键字是由ASCII字符组成的51个字符序列,不能用作标识符。上下文关键字是由ASCII字符组成的16个字符序列。这16个字符序列可以被解释为上下文关键字或其他标记(即可使用的标识符),具体取决于它们出现的上下文。本课件是可编辑的正常PPT课件2.1.3关键字保留关键字本课件是可编辑的正常PPT课件2.1.3关键字上下文关键字本课件是可编辑的正常PPT课件2-1Java语言标识符使用的字母是指英文字母及美元符号$,这句话是否正确()正确错误AB提交单选题1分本课件是可编辑的正常PPT课件2-2下列变量定义中,不合法的是()int$Xint_123;intsummer_2010_gross_sale;int#dim;ABCD提交单选题1分本课件是可编辑的正常PPT课件2.2变量与常量变量常量内容2.2.12.2.2本课件是可编辑的正常PPT课件2.2.1变量变量是指在程序中可以被改变的量,具有4个基本要素:变量名:用来指代变量,可以使用合法标识符来命名数据类型:Java语言支持的各种数据类型存储单元:用来在内存中存储变量值的,不同的数据类型对存储单元有不同的要求变量值:在程序运行某个时刻的取值,被存储于该变量的存储单元中变量用于表示特定类型的数据,在使用之前,必须先进行声明和初始化。语法:数据类型变量名;举例:intcount;doubleradius;doubleintrstRate;几个变量为同一类型,允许同时声明语法:数据类型变量1,变量2,…,变量n;举例:charletter1,letter2,letter3;本课件是可编辑的正常PPT课件2.2.1变量通常变量具有初始值,而且变量在使用前必须具有初始值。变量可在声明后被初始化,也可在声明时一同初始化,还可被Java编译器默认初始化声明一个变量同时初始化的语法形式如下:

数据类型变量名=初值;例如:charletter1=‘中’;如果需要同时声明和初始化同一类型的多个变量,可采用如下语法形式:数据类型变量名1=初值1,变量名2=初值2,…,变量名n=初值n;例如,下面的一条语句:inti=2,j=3,k=5;本课件是可编辑的正常PPT课件2.2.2常量命名常量(namedconstant)是一个代表不变值的标识符,简称常量。常量必须在声明时进行初始化,使用关键字final。常量名是一个合法标识符,常常采用大写英文字母。程序分析:CalcuCircleArea.javafinaldatatypeCONSTANTNAME=VALUE;finaldoublePI=3.14159;finalintSIZE=3;本课件是可编辑的正常PPT课件2.3赋值语句、赋值表达式赋值语句:语法:变量=表达式;举例:inty=1;intx=5*(3/2);x=y+1;如果用一个值给多个同类型变量赋值,也是可以的,其语法形式如下:变量名1=变量名1=…=变量名1=值;//链式赋值例如:令i,j,k均为整型变量,可以如下进行赋值:i=j=k=5;赋值语句去掉分号(;)就是赋值表达式。例:System.out.println(x=1);i=j=k=1;x=1;System.out.println(x);k=1;j=k;i=j;等价于本课件是可编辑的正常PPT课件2-3将1赋给变量x,下面正确的代码是()

1=x;x=1;x:=1;1:=x;ABCD提交单选题1分本课件是可编辑的正常PPT课件讨论请指出并修改下面代码中的错误错误在于:j、k不是已定义好的变量本课件是可编辑的正常PPT课件2.4JshellJshell(JavaShellTool)是自JavaSE9开始引入的一个命令行交互工具以REPL(Read-eval-printloop,读取-计算-打印循环)方式交互式评估Java语言的声明、语句和表达式Jshell可接受Java语句、变量定义、方法定义、类定义、导入语句和表达式。这部分输入的代码被称为代码段(snippet)在代码段被输入后,Jshell对其进行计算,并立即提供反馈。根据输入的代码段和选择的反馈模式,反馈信息包括从操作的结果和解释到无任何信息操作演示:启动-jshell,演示代码片段执行,退出-/exit本课件是可编辑的正常PPT课件2.4Jshell本课件是可编辑的正常PPT课件2.4Jshell-/edit命令本课件是可编辑的正常PPT课件2.4Jshell-/save命令本课件是可编辑的正常PPT课件2.4Jshell-/history、/list命令/save还可以存储指定的代码片段,使用代码段ID来指定。本课件是可编辑的正常PPT课件2.4Jshell-/drop本课件是可编辑的正常PPT课件2.4Jshell-/open、Tab补全本课件是可编辑的正常PPT课件2-4Jshell启动的命令是

[填空1]

,退出的命令是

[填空2]

作答填空题2分本课件是可编辑的正常PPT课件2.5基本数据类型2.5.1整型2.5.2浮点类型2.5.3字符类型2.5.4布尔类型2.5.5类型转换2.5.6输入基本数据类型2.5.7格式化控制台输出本课件是可编辑的正常PPT课件2-5下列选项中,()不属于Java语言的基本数据类型。整数类型数组类型浮点类型字符类型ABCD提交单选题1分本课件是可编辑的正常PPT课件2.5.1整型(1/2)Java语言提供了5种整数类型,其表示值的范围和占用存储空间大小整型字面值是可以赋值给一个整型变量的常量值,如123、24等。整型字面值默认为int型为了表示一个长整型的整型字面值,需要在整型字面值后加L或l(L的小写字母)。本课件是可编辑的正常PPT课件2.5.1整型(2/2)默认情况下,整型字面值是一个十进制整数。Java语言也支持二进制、八进制、十六进制的整型字面值。二进制整型字面值使用前置0b(零b)或0B,如二进制数0b1010表示十进制整数10。八进制整型字面值使用前置0(零),如八进制数017表示十进制整数15。十六进制整型字面值使用前置0x(零x)或0X,如十六进制数0xA5表示十进制整数165。在使用时,凡是十进制整型字面值使用的地方,二进制、八进制、十六进制整型字面值都可以使用。例如,下面一段代码:inti1=0b1010;System.out.println(i1);//输出10一些数值型字面值数字比较多,为了提高程序的易读性,Java语言允许在一个数值型(整数类型、浮点类型)字面值中使用下划线分隔两个数字,但是下划线不能位于开头和结尾处。

例如:123_456_789,10_5678_3456,9876_5432_1234L本课件是可编辑的正常PPT课件2.5.2浮点类型(1/5)Java语言提供两种浮点类型:float(单精度浮点型)和double(双精度浮点型)浮点型字面值是带小数点的,默认为双精度浮点型double。例如,3.14就是一个double类型浮点字面值为了表示单精度浮点型字面值,需要在浮点型字面值后加字母f或F,例如,3.14f或3.14Fdouble型浮点字面值也可以加后缀d或D,例如,3.14d、3.14D、3.14都是等价的浮点型字面值溢出:超出double类型取值范围本课件是可编辑的正常PPT课件2.5.2浮点类型(2/5)Java语言用于表示溢出和出错情况的三个特殊浮点数值是:正无穷大(Infinity)、负无穷大(-Infinity)、NaN(NotaNumber,不是一个数字)通过使用常量表达式(如1f/0f、-1d/0d、0.0/0),可以表示无限(Infinity)、NaN,而不会产生错误本课件是可编辑的正常PPT课件2.5.2浮点类型(3/5)浮点型字面值也可以用a×10𝑏形式的科学记数法表示123.456:1.23456e+2或1.23456e20.0123456:1.23456e-2E或e(exponent):指数在浮点型字面值中,下划线也可用作数字之间的分隔符,既可用于表示整数部分的数字之间,也可用于表示小数的数字之间,还可用于表示指数部分的数字。但是,小数点前后不允许有下划线。下面是float型字面值的合法例子:5.f.5f1f3.14f1e-1f.1E2f12_34.5_678_923f5.003_7654e+2_3f2e-3f下面是double型字面值的合法例子:5.d.5d0d3.14d1e-1d.1E2d12_34.5_678_923d5.003_7654e+2_03d2e-201本课件是可编辑的正常PPT课件2.5.2浮点类型(4/5)浮点型精度:单精度浮点型(float):7位有效数字,至多7-8位小数位双精度浮点型(double):16位有效数字,至多15-17位小数位本课件是可编辑的正常PPT课件2.5.2浮点类型(5/5)浮点型精度示例:System.out.print(1f/3f);//结果是0.33333334,小数点后8位,7位有效数字System.out.print(1d/3d);//结果是0.3333333333333333,小数点后16位,16位有效数字System.out.print(1000f/3f);//结果是333.3334,小数点后4位,7位有效数字System.out.print(1000d/3d);//结果是333.3333333333333,小数点后13位,16位有效数字本课件是可编辑的正常PPT课件2-6以下哪个是不正确的字面值()5_234e+1_25345_2.039dABCD提交单选题1分本课件是可编辑的正常PPT课件2.5.3字符类型(1/4)字符数据类型char表示单个字符,占用两个字节,本质上是一个无符号整数,表示0-65535之间的整数,对应字符的Unicode编码:从\u0000至\uffff字符字面值是用单引号括住的单个字符或是一个转义序列(escapesequence)charch1='中';//字符'中'赋值给char型变量charch2='α';//字符'α'赋值给char型变量charch3='\u4E2D';//转义序列,用Unicode码给char型变量赋值charch4='"';//用双引号"给char型变量赋值本课件是可编辑的正常PPT课件2.5.3字符类型(2/4)如果要输出:Hesaid,"Hello!"语句:

System.out.println("Hesaid,"Hello!"");是否正确?转义序列由反斜杠(\)后面加上一个字符或一些数位组成。转义字符:反斜杠(\)一个转义序列被作为单个字符处理一些特殊字符的转义序列如下表所示(下一页PPT)正确语句:System.out.println("Hesaid,\"Hello!\"");本课件是可编辑的正常PPT课件2.5.3字符类型(3/4)需要注意的是,值为换行符(LF)的字符字面值、值为回车(CR)的字符字面值、值为单引号的字符字面值,不能用其Unicode码的转义序列来表示,只能用其转义序列“\n”、“\r”、“\'”表示。本课件是可编辑的正常PPT课件2.5.3字符类型(4/4)转义序列\’、\t的使用示例:在给字符变量赋值时,使用转义序列双引号和直接用双引号,效果一样本课件是可编辑的正常PPT课件2.5.4布尔类型布尔类型是仅有值为true或false的数据类型,其声明的变量是一个具有值为true或false的变量,使用关键字boolean声明,占用1个字节。布尔类型声明的变量可简称为布尔变量。布尔变量的声明如下所示:boolean变量名;示例:本课件是可编辑的正常PPT课件2.5.5类型转换(1/4)类型转换:一种数据类型是可以向另一种数据类型转换一个整数3可以转换成一个浮点数3.0d,一个浮点数2.0f可以转换成一个整数2隐式类型转换:总是可以将一种数值类型的数值直接赋值给支持更大范围数值类型的变量byte、short、int、long、float、double,按顺序,表示数的范围是越来越大的doubled1=20;//正确显式类型转换:把一个范围大的数值类型数值赋给一个范围小的数值类型变量,必须进行显式类型转换,也称为强制类型转换。一般语法形式如下:

目标数据类型变量名=(目标数据类型)表达式;例如:inti1=(int)43.2;四舍五入取整:(整型)(浮点类型数值+0.5)例如:inti2=(int)(43.6+0.5);本课件是可编辑的正常PPT课件2.5.5类型转换(2/4)字符类型与其他基本数据类型的转换字符类型表示的数值范围,低于三种数值类型(long、float、double)所支持的数值范围。因此,字符类型字面值可以直接隐式类型转换为这三种类型,反之,就必须使用显式类型转换。例如:longi3=98L;charc1=(char)i3;//显式类型转换,c1的值为'b'longi4='a';//隐式类型转换,i4的值为97Ldoubled2='a';//隐式类型转换,d2的值为97.0charc2=(char)97.7;//显式类型转换,c2的值为'a'本课件是可编辑的正常PPT课件2.5.5类型转换(3/4)字符类型与其他基本数据类型的转换byte、short、int类型与字符类型在进行相互转换时,赋值语句右边的表达式值或字面值只要不超出转换后数据类型的取值范围,可以直接相互赋值,即隐式转换。如果赋值语句右边的字面值超出转换后数据类型的取值范围,就需要进行显式类型转换。例如:bytei5='a';//隐式类型转换,i5的值为97shorti6='\u0065';//隐式类型转换,i6的值为101inti7='a';//隐式类型转换,i7的值为97charc1=97;//隐式类型转换,c的值为'a'charc2=65536;//编译器报错,超出范围bytei8='\u0165';//编译器报错,超出范围shorti9='\uf365';//编译器报错,超出范围charc3=i5;//编译器报错charc4=i6;//编译器报错charc5=i7;//编译器报错本课件是可编辑的正常PPT课件2.5.5类型转换(4/4)布尔类型不能与其他基本数据类型进行相互的数据类型转换例如:booleanb1=5>3;//5>3的运算结果为true,布尔变量b的值为truefloatf1=(int)b1;//编译器报错booleanb2=(boolean)5;//编译器报错本课件是可编辑的正常PPT课件2-7将一个double型变量d赋值给一个float型变量x,正确的语句是()x=(long)dx=(int)d;x=d;x=(float)d;ABCD提交单选题1分本课件是可编辑的正常PPT课件2-8下面语句的正确性:doubled=3;()

inti=3.0;()正确正确正确错误错误错误错误正确ABCD提交单选题1分本课件是可编辑的正常PPT课件2.5.6输入基本数据类型(1/3)System.out:标准输出设备System.in:标准输入设备1.创建一个Scanner对象Scannerinput=newScanner(System.in);2.使用nextDouble()方法获取一个双精度浮点值

System.out.print("Enteradoublevalue:");Scannerinput=newScanner(System.in);doubled=input.nextDouble();本课件是可编辑的正常PPT课件2.5.6输入基本数据类型(2/3)Scannerinput=newScanner(System.in);intvalue=input.nextInt();本课件是可编辑的正常PPT课件2.5.6输入基本数据类型(3/3)导入语句:特定导入:在导入语句中指定单个具体的类,importjava.util.Scanner;通配符导入:通过使用星号*作为通配符(wildcardcharacter),导入一个包中所有的类,例如,importjava.util.*;导入语句只是告诉Java编译器在哪里能够找到程序中需要用到的类,并不是直接将包中所有类的信息加载到JVM中特定导入和通配符导入在性能上没有什么差别。示例1:ComputeRectAreajava(输入一个长方形的宽和高,计算其面积)示例2:ComputeAVG.java(要求用户连续输入3个单精度浮点数,并计算它们的平均值)示例3:StrCharInputDemo.Java(展示next()、nextLine()方法的使用以及字符的输入)注意:为了避免输入错误,一定不要在方法nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论