




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JaVa程序设计任务式教程01任务1-1认识Java历史与开发环境02任务1-2安装与使用JDK03任务1-3Eclipse开发工具打印诗词目录CONTNETS单元一Java程序设计概述单元目标能够搭建Java开发环境,包括安装JDK、配置环境变量、安装Eclipse能够编写并运行简单的Java程序,例如输出“Hello,World!”能够使用Eclipse开发工具创建项目、编写代码、编译和运行程序培养对新技术的好奇心和学习热情,主动探索Java语言的奥秘养成严谨的编程习惯,注重代码规范和程序设计体验编程的乐趣,增强学习Java的兴趣和信心知识目标能力目标素养目标学习目标了解Java语言的发展历程、特点和应用领域理解Java虚拟机(JVM)、Java开发工具包(JDK)和Java运行时环境(JRE)的作用和关系掌握JDK的安装与配置方法,能够验证Java环境熟悉Eclipse开发工具的基本使用方法,包括创建项目、编写代码、编译和运行程序01任务1-1认识Java历史与开发环境Java发展史Java语言的特点Java语言开发分类Java技术平台Java运行流程JVM、JDK和JRE的关系任务1-1认识Java历史与开发环境-Java基础入门Java发展史1995年Sun发布JDK1.01998年JDK1.2更名为Java21999年J2SE、J2EE、J2ME2000年~2004年JDK1.31.42004年10月JDK5.02007年JDK6.0(目前使用版本)2009年Oracle公司以每股9.5美元收购Sun公司2011年正式发布JDK72014年正式发布了JDK8目前最新版本是JDK21任务1-1认识Java历史与开发环境-Java基础入门Java语言的特点Java语言是简单的Java语言是面向对象的Java语言是分布式的Java语言是健壮的Java语言是安全的Java语言是体系结构中立的Java语言是可移植的Java语言是解释型的.Java是高性能的Java语言是多线程的Java语言是动态的Java语言的主要特点是面向对象、平台独立性、安全性及高性能等特性。Java作为一门具有广泛应用的编程语言,其特点不仅在于语言本身的设计,还在于它所提供的丰富类库和工具,以及它所倡导的编程理念。Java语言的特点:任务1-1认识Java历史与开发环境-Java基础入门Java技术平台Java平台分为JavaSE、JavaEE、JavaME三个版本JavaSE:整个Java技术的核心和基础。是JavaEE和JavaME编程的基础Java平台标准版(JavaPlatformStandardEdition,JavaSE)是为开发普通桌面和商务应用程序提供的解决方案,是三个平台中最核心的部分,JavaEE和JavaME都是从JavaSE的基础上发展而来,JavaSE平台中包括了Java最核心的类库,如字符串、集合、IO、数据库操作及网络编程等JaveEE:提供企业应用开发的完整解决方案Java平台企业版(JavaPlatformEnterpriseEditon,JavaEE)是为开发企业级应用程序提供的解决方案,主要用于开发、装配及部署企业级应用程序,提供了Servlet、JSP、JavaBean、EJB、WebService等相应技术JavaME:用于控制移动设备和信息家电等设备Java平台微型版(JavaPlatformMicroEdition,JavaME)是为开发电子消费产品和嵌入式设备提供的解决方案,主要用于微型数字电子设备上软件程序的开发任务1-1认识Java历史与开发环境-Java基础入门Java运行流程Java程序的运行必须经过编写、编译和运行3个步骤。1.编写源代码:是指在Java开发环境中进行程序代码的输入,最终形成后缀名为.java的Java源文件。2.编译源代码:是指使用Java编译器对源文件进行错误排査的过程,编译后将生成后缀名为.class的字节码文件,不像C语言那样生成可执行文件。3.执行程序:是指使用Java解释器将字节码文件翻译成机器代码,执行并显示结果。任务1-1认识Java历史与开发环境-Java基础入门JVM、JDK和JRE的关系JVM(Java虚拟机)、JDK(Java开发工具包)和JRE(Java运行时环境)是Java技术体系中的三个核心组件JVM是运行Java程序的核心虚拟机,但运行Java程序不仅需要核心虚拟机,还需要类加载器、字节码校验器及Java的基础类库等,因此JVM只是Java运行环境JRE的一部分。开发Java程序时,除了一些开发工具外,还需要运行Java程序,因此JDK中包含有JRE。02任务1-2安装与使用JDK下载JDK 安装JDKJDK目录介绍配置JDK 任务1-2安装与使用JDK-Java环境配置下载JDKJDK是整个Java开发环境的核心,它包含了Java的运行环境,Java工具和Java基础的类库。本书中使用的是JDK8.0版本,读者可以直接从Oracle公司的官方网站(/index.html)下载任务1-2安装与使用JDK-Java环境配置安装JDKWindows64位平台下JDK的安装过程任务1-2安装与使用JDK-Java环境配置JDK目录介绍bin目录:binary(二进制的)的缩写,该目录放一些可执行程序,javac.exe(java编译器)、java.exe(java运行工具)。include目录:因为JDK是用从语言和C++开发的,所以这个目录用来存放C语言的头文件。lib目录:library的缩写,java的库文件。jre目录:java运行程序的环境。任务1-2安装与使用JDK-Java环境配置配置JDK右击【我的电脑】,选择【属性】选项,进入到系统窗口点击【环境变量】按钮,打开【编辑系统变量】对话框,添加变量名“JAVA_HOME”及变量值“C:\ProgramFiles\Java\jdk-1.8”(JDK的安装目录)选中【path】项,单击【编辑】按钮,打开【编辑系统变量】对话框,添加“%JAVA_HOME%\bin”、“%JAVA_HOME%\jre\bin”目录任务1-2安装与使用JDK-Java环境配置验证JDK是否安装成功可在命令行窗口中输入“javac”命令,验证JDK是否安装成功,若成功则如右图所示03任务1-3Eclipse开发工具打印诗词Eclipse介绍Eclipse安装与启动Eclipse工作台Eclipse透视图使用Eclipse进行程序开发任务1-3Eclipse开发工具打印诗词-
Eclipse工具Eclipse介绍Eclipse最初是IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。但是,众多插件的支持使得Eclipse有高度的灵活性,包括Java开发工具(JavaDevelopmentKit,JDK)任务1-3Eclipse开发工具打印诗词-
Eclipse工具Eclipse安装在浏览器的地址栏输入
,进入Eclipse官网单击Download超链接,进入EclipsePackags页面,如图1-16所示。在新页面中,单击“DownloadPackages”链接,进入下载页面后在EclipseIDEforJavaDevelopers栏中选择下载对应系统的版本Eclipse开发包下载完成后,直接解压缩到指定的目录,并创建一个快捷运行图标任务1-3Eclipse开发工具打印诗词-
Eclipse工具Eclipse启动启动后会弹出一个对话框,提示选择工作空间(Workspace),工作空间用于保存Eclipse中创建的项目和相关配置。可使用默认设置,亦可自行配置任务1-3Eclipse开发工具打印诗词-
Eclipse工具Eclipse启动确认工作空间配置之后,会进入Eclipse的欢迎界面,关闭欢迎界面窗口,进入到Eclipse主界面任务1-3Eclipse开发工具打印诗词-
Eclipse工具Eclipse工作台介绍Eclipse的主窗口被称为“工作台”(Workspace),在这个工作台上,开发者可以创建、编辑、构建和调试各种项目。工作台为用户提供了一个统一的视图,可以查看和管理所有的项目文件和资源。编辑区:这是进行代码编辑的地方,支持语法高亮、代码补全、智能提示等功能。资源视图(PackageExplorer):以树状结构显示项目中的文件和目录,方便用户浏览和管理项目资源。问题视图(ProblemView):显示项目中存在的编译错误或警告,方便开发者快速定位和修复问题。输出视图(Console):用于显示程序的输出信息,例如编译输出、调试输出等。变量视图(VariablesView):在调试程序时,用于查看和编辑当前作用域内的变量值。控制台视图(DebugView):提供调试程序时的控制台,可以查看程序的运行状态,执行断点、单步执行等操作。任务1-3Eclipse开发工具打印诗词-
Eclipse工具Eclipse透视图透视图(Perspective)是一系列视图的布局和可用操作的集合。例如,Eclipse提供的Java透视图就是与Java程序设计相关的视图和操作的集合,而调试透视图是程序调试有关的视图和操作的集合。切换透视图,用户可以通过透视图按钮在不同的透视图之间切换,也可以在菜单栏中选择Window→Perspective→OpenPerspective→Other打开其他透视图,在弹出的OpenPerspective对话框中选择要打开的透视图任务1-3Eclipse开发工具打印诗词-
Eclipse工具Eclipse透视图重置透视图,在菜单栏选择Window→Perspective→ResetPerspective命令进行重置任务1-3Eclipse开发工具打印诗词-
Eclipse工具使用Eclipse进行程序开发在Eclipse窗口的菜单栏中选择File→New→JavaProject命令,或者在PackageExplorer视图中右击,然后选择New→JavaProject命令,创建Java项目任务1-3Eclipse开发工具打印诗词-
Eclipse工具使用Eclipse进行程序开发弹出NewJavaProject对话框,在该对话框中的Projectname文本框中输入项目名称,这里将项目命名为HelloJava,JDK选择1.8,然后单击【Finish】按钮完成项目的创建任务1-3Eclipse开发工具打印诗词-
Eclipse工具使用Eclipse进行程序开发创建完成之后,在PackageExplorer视图中便会出现HelloJava的Java项目在PackageExplorer视图中,鼠标右键单击HelloWorld项目下的src文件夹,选择【New】→【Package】创建包任务1-3Eclipse开发工具打印诗词-
Eclipse工具使用Eclipse进行程序开发在弹出的NewJavaPackage对话框中,Sourcefolder文本框表示项目所在目录,Name文本框表示包名称,这里将包命名为“com.mycom”创建完成之后,在HelloJava项目下的src文件夹中,便会出现包名对应的文件夹任务1-3Eclipse开发工具打印诗词-
Eclipse工具使用Eclipse进行程序开发在菜单【File】→【New】→【Class】或者鼠标右键单击包名,选择【New】→【Class】创建类任务1-3Eclipse开发工具打印诗词-
Eclipse工具使用Eclipse进行程序开发在弹出NewJavaClass对话框,其中Package文本框表示包名,此处会默认显示一个包名,也可以手动修改,而Name文本框表示类名,这里创建一个HelloWorld类,然后选中publicstaticvoidmain(String[]args)复选框,表示创建类时会自动生成main()方法,单击【Finish】按钮完成类的创建任务1-3Eclipse开发工具打印诗词-
Eclipse工具使用Eclipse进行程序开发创建完成之后,在HelloWorld项目下的包文件夹中,便会出现名为HelloWorld.java的类,并会在编辑区自动打开,编辑器中编写代码任务1-3Eclipse开发工具打印诗词-
Eclipse工具使用Eclipse进行程序开发程序编辑完成后,直接单击工具栏上的按钮运行程序,也可以右击PackageExplorer视图中的HelloWorld.java文件或文本编辑区,选择RunAs→JavaApplication命令运行程序任务1-3Eclipse开发工具打印诗词-任务实现使用Eclipse打印诗词1.打开Eclipse开发工具,创建一个新的Java项目。2.在项目中创建一个新的Java类,命名为InspirationalPoem,选择编写默认main方法。3.在main方法中使用System.out.println(""),在控制台打印诗词语句。4.保存代码,编译并运行程序,观察控制台输出结果。1 publicclassInspirationalPoem{2 publicstaticvoidmain(String[]args){3 //使用println方法逐句打印诗词4 System.out.println("不畏浮云遮望眼,只缘身在最高层。");5 System.out.println("会当凌绝顶,一览众山小。");6 System.out.println("山重水复疑无路,柳暗花明又一村。");7 System.out.println("长风破浪会有时,直挂云帆济沧海。");8 }9 }任务1-3Eclipse开发工具打印诗词-任务实现使用Eclipse打印诗词运行结果如图教学总结本单元首先介绍了Java语言的发展历史以及相关特性,在windows系统平台中搭建Java开发环境和配置JDK环境变量的方法,Java的运行机制,最后介绍了Eclipse开发工具的特点、下载、安装、基本操作以及入门程序的编写。通过单元的学习,读者能够对Java语言以及其相关特性有一个概念上的认识,重点需要读者掌握的是Java开发环境的配置、Java的运行机制以及如何使用Eclipse工具开发简单的应用程序。单元总结THANKSJaVa程序设计任务式教程01任务2-1打印产线工件配送清单02任务2-2商品折扣计算03任务2-3模拟自动节温器目录CONTNETS单元二Java开发基础单元目标能够声明不同类型的变量,并进行赋值操作。能够使用运算符进行各种计算,例如算术运算、逻辑运算等。能够编写程序进行数据类型、运算符、数组的简单程序。培养对数据类型的敏感性,选择合适的数据类型表示数据。增强逻辑思维能力,理解运算符的运算规则。提高代码的可读性和可维护性,编写规范的代码。知识目标能力目标素养目标学习目标理解Java语言中不同数据类型的表示范围和使用方法。掌握各种运算符的运算规则和优先级。理解数组和字符的概念和基本使用方法。能够使用数据类型和运算符编写简单的Java程序01任务2-1打印产线工件配送清单语句和表达式语法基本格式注释标识符关键字常量、变量、变量的作用域任务2-1打印产线工件配送清单-Java基本语法语句和表达式在Java编程语言中,语句和表达式是构建程序的基本元素。语句是编程语言中的基本命令单元,所有需要完成的任务都可以被细化为独立的语句序列,它代表并指导计算机执行程序中的单个或特定操作动作。Java程序中通常每条语句占一行,但这只是一种格式规范,并不能决定语句到哪里结束,语句以分号“;”结尾。表达式可以产生一个值的代码片段。表达式可以包含变量、常量、运算符和方法调用等。表达式不一定以分号结尾。语句可以包含表达式,但表达式不能包含语句intage=25;//语句:声明并初始化变量ageStringname="John";//语句:声明并初始化变量nameintnextYearAge=age+1;//语句:将表达式age+1的值赋给变量nextYearAgebooleanisAdult=age>=18;//语句:将表达式age>=18的值赋给变量isAdultif(isAdult){//语句:if语句,条件是表达式isAdultSystem.out.println(name+"isanadult.");//语句}else{System.out.println(name+"isnotanadult.");//语句任务2-1打印产线工件配送清单-Java基本语法语法基本格式-类Java中的程序代码都必须放在一个类中,初学者可以简单地把类理解为一个Java程序。类(class)是Java的基本结构,一个程序可以包含一个或多个类,Java使用class关键字声明一个类格式如下:修饰符
class类名{
//程序代码}任务2-1打印产线工件配送清单-Java基本语法语法基本格式-块Java中,"块"的概念通常指的是代码块,它是一段代码的集合,由大括号“{}”包裹。在Java语言中,块的作用非常广泛,通常用于程序的控制结构、定义变量和方法的作用域、初始化对象、异常处理等,使用代码块可以更好地组织代码,提高可读性。具体示例如下:
{//构造代码块
if(age>18)
System.out.println("姓名:"+name+",年龄:"+age);
}任务2-1打印产线工件配送清单-Java基本语法语法基本格式-注释注释是对程序的某个功能或者某行代码的解释说明,它只在Java源文件中有效,在编译程序时,编译器会忽略这些注释信息,不会将其编译到class字节码文件中去。注释主要分为单行注释、多行注释和文档注释。//这是一个单行注释intnum; //定义一个整型变量,这是一个单行注释单行注释用于对程序中的某一行代码进行解释,一般用来注释局部变量。单行注释用符号“//”表示,“//”后面为被注释的内容,具体示例如下:任务2-1打印产线工件配送清单-Java基本语法语法基本格式-注释多行注释可以注释的多行内容,它以符号“/*”开头,以符号“*/”结尾。多行注释具体示例,如右侧示例:/*这是一个多行注释可以跨越多行Int=10*/System.out.println("Hello,java!");文档注释是以“/**”开头,并在注释内容末尾以“*/”结束。文档注释是对一段代码概括性的解释说明,可以使用javadoc命令将文档注释提取出来生成帮助文档。文档注释具体示例,如右侧所示:/***这个方法用于打印问候语。**@paramname接收者的名字*/publicvoidsayHello(Stringname){System.out.println("Hello,"+name+"!");}任务2-1打印产线工件配送清单-Java基本语法语法基本格式-标识符在Java编程语言中,标识符(Identifier)是用来给类、接口、变量、方法、构造函数、字段、枚举常量等命名的字符序列。也就是说,任何一个变量、常量、方法、对象和类都需要有名字,这些名字就是标识符。标识符的命名规则如下:标识符以字母(A-Z,不区分大小写)、下划线(_)、美元符号($)开头,不能以数字开头。标识符可以包含字母、下划线、美元符号和数字。标识符是大小写敏感的,即Variable和variable被视为两个不同的标识符。标识符不能是Java关键字和保留字,例如if、for、while、return等。标识符建议使用有意义的名称,通常使用驼峰命名法,例如studentName、numberOfCourses等。任务2-1打印产线工件配送清单-Java基本语法语法基本格式-关键字关键字(keyword)是Java的关键字是事先定义被赋予特定含义的一些单词,对Java编译器有特殊意义的标识符。定义标识符时,不能和关键字相同,否则编译无法通过而引发错误。Java中的关键字如右侧表格所示:用于定义数据类型的关键字classinterfacebyteintshortvoidlongfloatdoublecharbooleanconst用于定义数据类型值的关键字trueflasenull
用于定义流程控制的关键字ifelseforswitchdefaultcontinuedowhilecasedefaultbreakcatchgoto
用于定义访问权限修饰符的关键字privateprotectedpublic
用于定义类,函数,变量修饰符的关键字abstractfinalstaticsynchronized
用于定义类与类之间关系的关键字extendsimplements
用于定义建立实例及引用实例,判断实例的关键字newthissuperinstanceof
用于异常处理的关键字trycatchfinallythrowthrows
用于包的关键字packageimport
其他修饰符关键字nativestrictfptransientvolatileassertabstract任务2-1打印产线工件配送清单-Java基本语法语法基本格式-关键字编写Java程序时,需要注意以下几点:所有的关键字都是小写的。不能使用关键字命名标识符。const和goto是保留字关键字,虽然在Java中还没有任何意义,但在程序中不能用来作为自定义的标识符。true、false和null虽然不属于关键字,但它们具有特殊的意义,也不能作为标识符使用。任务2-1打印产线工件配送清单-Java基本语法语法基本格式-常量常量就是在程序中固定不变的值,是不能改变的数据。例如,数字1、字符'a'、浮点数3.147等都是常量。Java语言中的常量也是有类型的,包括整型、浮点型、布尔型、字符型和字符串型、null。整型常量整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式,具体表示形式如下:二进制:由数字0和1组成的数字序列。在JDK8.0中允许使用字面值来表示二进制数,前面要以0b或0B开头,目的是为了和十进制进行区分,如:0b01101100、0B10110101。八进制:以0开头并且其后由0~7范围(包括0和7)内的整数组成的数字序列,如:0257。十进制:由数字0~9范围(包括0和9)内的整数组成的数字序列。如:257。十六进制:以0x或者0X开头并且其后由0~9、A~F(包括0和9、A和F)组成的数字序列,如0x25AF。任务2-1打印产线工件配送清单-Java基本语法语法基本格式-常量浮点数常量在Java中,浮点数常量用于表示带有小数部分的数值。Java支持两种类型的浮点数:float-单精度32位IEEE754浮点数。double-双精度64位IEEE754浮点数。浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数两种类型。其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或d结尾。当然,在使用浮点数时也可以在结尾处不加任何的后缀,此时虚拟机(JVM)会默认为double双精度浮点数。浮点数常量还可以通过指数形式来表示。具体示例如下:
3e2f4.6d0f3.14d3.022e+257f任务2-1打印产线工件配送清单-Java基本语法语法基本格式-常量字符常量字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号('')引起来,它可以是英文字母、数字、标点符号、以及由转义序列来表示的特殊字符。具体示例如下:
'a''1''&''\r''\u0000'字符串常量字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号("")引起来,具体示例如下: "HelloWorld""258"任务2-1打印产线工件配送清单-Java基本语法语法基本格式-常量布尔常量布尔常量即布尔型的两个值true和false,该常量用于区分一个事物的真与假null常量null常量只有一个值null,表示对象的引用为空任务2-1打印产线工件配送清单-Java基本语法语法基本格式-变量在程序中使用的值大多是需要经常变化的数据,用常数值表示显然是不够的。因此,每一种计算机语言都使用变量(variable)来存储数据,变量的值在程序运行中是可以改变的,使用变量的原则是“先声明后使用”,即变量在使用前必须先声明。定义的标识符就是变量名,内存单元中存储的数据就是变量的值。声明变量的语法格式如下:数据类型变量名;
如需声明多个相同类型变量时,可使用下面的语法格式:数据类型变量名1,变量名2,…,变量名n;
任务2-1打印产线工件配送清单-Java基本语法语法基本格式-变量对于变量的命名并不是任意的,应遵循以下4条规则:变量名必须是一个有效的标识符。变量名不可以使用Java关键字。变量名不能重复。应选择较有意义的单词作为变量名。任务2-1打印产线工件配送清单-Java基本语法语法基本格式-变量变量的作用域变量的作用域是指它的作用范围,只有在这个范围内,程序代码才能访问它。变量声明在程序中的位置决定了变量的作用域。在Java编程语言中,变量的作用域是指变量可以被访问和使用的区域。Java变量的作用域通常分为类级、实例级、方法级、块级:任务2-1打印产线工件配送清单-Java基本语法语法基本格式-变量类级作用域(ClassScope):也称为静态变量或成员变量。在类中声明,但在任何方法之外。使用static关键字修饰。可以在整个类中访问,包括静态方法和实例方法。生命周期与类相同,在类加载时创建,在类卸载时销毁。publicclassMyClass{staticintcount=0;//类级变量
publicstaticvoidmain(String[]args){System.out.println(count);//访问类级变量
}任务2-1打印产线工件配送清单-Java基本语法语法基本格式-变量实例级作用域(InstanceScope):也称为实例变量或非静态变量。在类中声明,但在任何方法之外。没有使用static关键字修饰。只能通过类的实例访问。生命周期与对象相同,在对象创建时创建,在对象销毁时销毁。publicclassMyClass{intvalue=10;//实例级变量
publicvoidmyMethod(){System.out.println(value);//访问实例级变量
}}任务2-1打印产线工件配送清单-Java基本语法语法基本格式-变量方法级作用域(MethodScope):也称为局部变量。在方法内部声明。只能在该方法内部访问。生命周期与方法调用相同,在方法调用时创建,在方法返回时销毁。publicclassMyClass{publicvoidmyMethod(){intx=5;//方法级变量System.out.println(x);}}任务2-1打印产线工件配送清单-Java基本语法语法基本格式-变量块级作用域(BlockScope):在代码块内部声明,例如if语句、for循环、while循环等。只能在该代码块内部访问。生命周期与代码块相同,在代码块执行时创建,在代码块结束时销毁。publicclassMyClass{publicvoidmyMethod(){for(inti=0;i<5;i++){//块级变量System.out.println(i);}//这里无法访问i}}1.使用常量定义表头名称和配送时间;2.使用string变量定义工件名称,使用int变量定义工件数量,并计算工件数量总和;3.按行打印表头名称和配送时间;按行打印工件名和工件数量和总数量和其他工件派单信息代码参考教材中的ListDemo.java实现代码中,使用静态变量定义了车间名称和配送单时间,定义一个整数类型的totalCount接收工件数量的和计算,使用“+”连接需要打印的变量值程序运行结果如下图任务2-1打印产线工件配送清单-任务实现02任务2-2商品折扣计算整数类型
浮点数类型字符类型布尔类型
自动类型转换强制类型转换任务2-2商品折扣计算-Java的数据类型数据类型-简介Java是一门强类型的编程语言,它对变量的数据类型有严格的限定。在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序会报错。在Java中变量的数据类型分为两种,即基本数据类型和引用数据类型任务2-2商品折扣计算-Java的数据类型数据类型-整数类型整数类型变量用来存储整数值,即数据中不含有小数或分数。在Java中,整数类型分为字节型(byte)、短整型(short)、整型(int)和长整型(long)四种,四种类型所占内存空间大小和取值范围类型占用空间取值范围byte8位(1字节)-27~27-1short16位(2字节)-215~215-1int32位(4字节)-231~231-1long64位(8字节)-263~263-1在为一个long类型的变量赋值时,所赋值的后面要加上字母L(或小写l),说明赋值为long类型。如果赋的值未超出int型的取值范围,则可以省略字母L(或小写l)任务2-2商品折扣计算-Java的数据类型数据类型-浮点数类型浮点数类型变量用来存储实数值。在Java中,浮点数分为两种:单精度浮点数(float)和双精度浮点数(double)。Java的浮点数遵循IEEE754标准,采用二进制数据的科学计数法来表示。浮点数类型所占内存空间大小和取值范围在Java中,一个小数会被默认为double类型的值,因此在为一个float类型的变量赋值时,在所赋值的后面一定要加上字母F(或者小写f),而为double类型的变量赋值时,可以在所赋值的后面加上字母D(或小写d),也可以不加类型占用空间取值范围float32位(4字节)-3.4*1038~3.4*1038double64位(8字节)-1.79*10308~1.79*10308任务2-2商品折扣计算-Java的数据类型数据类型-字符类型字符型变量用来存储单个字符,字符型值必须使用英文半角格式的单引号“'”引起来。Java语言使用char表示字符型,占用2个字节内存空间,取值范围为0~65535之间的整数。Java语言采用16位Unicode字符集编码,Unicode为每个字符制订一个统一并且唯一的数值,Unicode支持中文字符。具体示例如下: chara='b’; //为一个char类型的变量赋值字符b任务2-2商品折扣计算-Java的数据类型数据类型-布尔类型布尔类型变量用来存储布尔类型的值,布尔类型的值只有true“真”和false“假”两种。Java的布尔类型用boolean表示,占用1个字节内存空间。具体示例如下:booleanb1=true; //声明boolean型变量值为truebooleanb2=false; //声明boolean型变量值为falsebooleanb3=1; //不能用非0来代表真,错误booleanb4=0; //不能用0来代表假,错误任务2-2商品折扣计算-Java的数据类型数据类型-自动类型自动类型转换也称隐式类型转换,指两种数据类型转换过程中不需要显式地进行声明。Java会在下列的条件成立时,自动做数据类型的转换:转换的两种数据类型相互兼容。目标数据类型的取值范围比原数据类型大。类型转换只限该行语句,并不会影响原先定义的变量类型,而且自动类型转换可以保持数据的精确度,不会因为转换而丢失数据内容。任务2-2商品折扣计算-Java的数据类型数据类型-自动类型下面列出3种可以进行自动类型转换的情况,具体如下:整数类型之间可以实现转换。例如,byte类型的数据可以赋值给short、int、long类型的变量;short、char类型的数据可以赋值给int、long类型的变量;int类型的数据可以赋值给long类型的变量。整数类型转换为float类型。例如,byte、char、short、int类型的数据可以赋值给float类型的变量。其他类型转换为double类型。例如,byte、char、short、int、long、float类型的数据可以赋值给double类型的变量。任务2-2商品折扣计算-Java的数据类型数据类型-强制类型强制类型转换也称为显式转换,指两种数据类型转换过程中需要显式地进行声明。当转换的两种数据类型彼此不兼容,或者目标数据类型的取值范围小于原类型时,而无法进行自动类型转换,此时就需要进行强制类型转换publicclassTestTypeNumber{ publicstaticvoidmain(String[]args){ intn=128;
byteb=n; System.out.println(b); }}编译上述代码,byteb=n报错。错误原因:数据类型不兼容,不能将int类型转换成byte类型。解决办法:进行强制类型转换,将强制将int类型的值赋值给byte类型的变量。强制类型转换格式:目标类型
变量=(目标类型)值,进行强制类型转换,代码如下:byteb=(byte)n;任务2-2商品折扣计算-
任务实现1.定义一个int类型的变量,表示商品的原价。2.定义一个double类型的变量,表示折扣率(例如,8折则为0.8)。3.计算打折后的价格,即将原价乘以折扣率,将打折后的价格转换为String类型。4.打印出打折后的价格。代码参考教材中的DiscountCalculator.java由于打折后的价格为浮点类型,并且小数点后可能不止一位,所以定义了一个双精度浮点数discountedPrice变量中,在使用String.format将把打折后的价格转换为字符串类型程序运行结果如下图03任务2-3模拟自动节温器赋值运算符算术运算符关系运算符逻辑运算符位运算符三元运算符运算符优先级任务2-3模拟自动节温器-Java的运算符运算符-赋值运算符赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。通过一张表来展示Java中的赋值运算符及其用法运算符运算范例结果=赋值a=3;b=2;a=3;b=2;+=加等于a=3;b=2;a+=b;a=5;b=2;-=减等于a=3;b=2;a-=b;a=1;b=2;*=乘等于a=3;b=2;a*=b;a=6;b=2;/=除等于a=3;b=2;a/=b;a=1;b=2;%=模等于a=3;b=2;a%=b;a=1;b=2;任务2-3模拟自动节温器-Java的运算符运算符-算术运算符算术运算符主要用于整数和浮点型数据的运算,接下来通过一张表来展示Java中的算术运算符及其用法运算符运算范例结果一元运算符+正号22-负号b=5;-b;-5++前自增a=6;b=++a;a=6;b=7;++后自增a=2;b=a++;a=3;b=2;--前自减a=5;b=--a;a=1;b=4;--后自减a=7;b=a--;a=1;b=7;一元运算符+加28+2957-减31-2110*乘2*510/除7/51%取模7%52任务2-3模拟自动节温器-Java的运算符运算符-算术运算符算术运算符主要用于整数和浮点型数据的运算,接下来通过一张表来展示Java中的算术运算符及其用法运算符运算范例结果一元运算符+正号22-负号b=5;-b;-5++前自增a=6;b=++a;a=6;b=7;++后自增a=2;b=a++;a=3;b=2;--前自减a=5;b=--a;a=1;b=4;--后自减a=7;b=a--;a=1;b=7;二元运算符+加28+2957-减31-2110*乘2*510/除7/51%取模7%52任务2-3模拟自动节温器-Java的运算符运算符-算术运算符算术运算符的运算特点对于一元运算符,运算结果的类型与操作数的类型相同对于二元运算符,运算结果的数据类型一般为两个操作数中表达范围较大的类型,例如,一个整数和浮点数运算的结果为浮点数。自增、自减运算符有前缀和后缀两种形式,当是前缀形式(即++、--符号出现在变量的左侧)时,对变量实施的运算是“先运算后使用”;当是后缀形式(即++、--符号出现在变量的右侧)时,对变量实施的运算是“先使用后运算”。任务2-3模拟自动节温器-Java的运算符运算符-关系运算符关系运算符用于对两个常量或变量的大小进行比较,其结果是一个布尔值,即true或false。通过一张表来展示Java中的比较运算符及其用法运算符运算范例结果==相等于2==5false!=不等于6!=7true<
小于2<1false>
大于5>3true<=小于等于5<=3false>=大于等于5>=3true使用注意事项如下Java中,任何类型的数据(包括简单类型和对象类型),都可以通过“==”或“!=来比较是否相等。关系运算的结果只能是布尔值true和false。关系运算符的优先级要高于布尔运算符。任务2-3模拟自动节温器-Java的运算符运算符-逻辑运算符逻辑运算符用于对布尔类型的值或表达式进行操作,其结果仍是一个布尔值。接下来通过一张表来展示Java中的逻辑运算符及其用法运算符运算范例结果&与true&truetruetrue&falsefalsefalse&falsefalsefalse&truefalse|或true|truetruetrue|falsetruefalse|falsefalsefalse|truetrue^异或true^truefalsetrue^falsetruefalse^falsefalsefalse^truetrue!非!truefalse!falsetrue&&短路与true&&truetruetrue&&falsefalsefalse&&falsefalsefalse&&truefalse||短路或true||truetruetrue||falsetruefalse||falsefalsefalse||truetrue任务2-3模拟自动节温器-Java的运算符运算符-位运算符Java中的位运算继承于C语言,在软件开发中,直接使用位运算已经很少见了。基本概念了解一下,在面试中可能涉及位运算的基本概念。位运算只能作用于整型数据。整型数据在内存中以二进制形式存储,比如一个整数在内存中占用4个字节的空间,最高位是符号位,0表示整数,1表示负数。负数采用补码形式存储,负数的补码等于其原码取反再加1,比如-8的补码是:11111111111111111111111111111000任务2-3模拟自动节温器-Java的运算符运算符-位运算符通过一张表来展示Java中的位运算符及其用法运算符运算范例结果&按位与0&000&101&111&00|按位或0|000|111|111|01~取反~01~10^按位异或0^000^111^101^01<<
左移00000010<<20000100010010011<<201001100>>
右移01100010>>20001100011100010>>211111000>>>
无符号右移01100010>>>20001100011100010>>>200111000任务2-3模拟自动节温器-Java的运算符运算符-位运算符Java中的三元运算符(也称为条件运算符)是一种简洁的语法,用于根据条件选择两个值之一。它可以替代简单的if-else语句,使代码更紧凑易读。三元运算符语法格式:condition?value1:value2条件运算符的运算规则,condition:一个布尔表达式,其结果为true或false;如果condition为true,则返回value1值;如果condition为false,则返回value2值。条件运算符的基本使用示例如下:intscore=75;Stringgrade=(score>=90)?"A":(score>=80)?"B":"C";System.out.println("成绩等级:"+grade);//输出:成绩等级:B条件运算符“?:”可等价于选择结构语句中的“if...else”条件语句,属于是精简写法任务2-3模拟自动节温器-Java的运算符运算符-运算符优先级优先级就是在表达式运算中的顺序,运算符有不同的优先级。运算符的运算顺序称为优先级,而运算符的结合顺序称为结合性,Java大部分运算符是从左向右结合的,只有单目运算符、赋值运算符和三目运算符是从右向左运算的。下面列出Java中运算符的优先级,数字越小优先级越高优先级运算符运算符说明结合性1()[].,;分隔符从左向右2!+(正)–(负)~++--单目运算符从右向左3*/%算术运算符从左向右4+(加)–(减)5<<>>>>>位移运算符从左向右6<<=>=>instanceof关系运算符从左向右7==!=8&按位运算符从左向右9^10|11&&逻辑运算符从左向右12||13?:三目运算符从右向左14=+=*=/=%=&=|=^=<<=>>=>>>=赋值运算符从右向左任务2-3模拟自动节温器-
任务实现1.导入java.util.Scanner类,使用Scanner类用于从键盘读取输入。
Scannerscanner=newScanner(System.in);inti=scanner.nextInt();2.读取用户输入,使用Scanner对象的nextDouble()方法读取用户输入的室温,并将其存储在roomTemperature变量中。3.定义温度阈值,程序中定义了两个阈值:coldThreshold和hotThreshold,用于判断室温是否需要调整。4.根据室温与阈值的比较结果,使用三目运算符来确定应该执行的操作(打开加热器、打开降温或保持当前状态),并将操作存储在action变量中。5.输出当前室温以及根据室温决定节温器的操作动作。任务2-3模拟自动节温器-
任务实现代码参考教材中的SmartThermostat.java代码中,Scanner类接收用户输入的操作,需要在接收后关闭。在三元运算符中,使用关系比较符的嵌套,判断接收输入的室温与节温器降温或加热阈值的比较,判定节温器的需要执行的动作程序运行结果如下图教学总结本单元主要介绍了学习Java所需的基础知识。介绍了包括语句和表达式的使用、语法的基本格式、注释、标识符和关键字的识别、常量和变量的定义以及变量作用域、数据类型、运算符的使用。通过本单元的学习,逐步引导学习者深入理解Java编程的基础语法、格式以及变量和运算符等的使用技巧,能够将这些知识应用于解决实际问题,建立起扎实的Java编程基础。单元总结THANKSJaVa程序设计任务式教程01任务3-1求解圆面积02任务3-2BMI健康值评估04任务3-4购买餐饮罐装燃气目录CONTNETS单元三
程序设计逻辑结构基础03任务3-3神奇的自动贩卖机单元目标能够使用if语句、switch语句进行条件判断。能够使用for、while、do-while循环和循环嵌套设计循环操作。能够使用break、continue语句和标签控制循环的执行流程。能够使用方法实现程序设计中通用功能增强逻辑思维能力,设计合理的程序执行流程。提高代码的可读性和可维护性,编写结构清晰的代码。培养解决问题的能力,使用控制流程语句解决实际问题。知识目标能力目标素养目标学习目标理解控制流程语句的作用,掌握不同控制流程语句的使用方法。能够使用控制流程语句控制程序的执行流程。能够编写程序实现各种逻辑判断和循环操作。理解方法的概念和作用,掌握使用方法实现程序设计。01任务3-1求解圆面积顺序结构任务3-1求解圆面积-顺序结构顺序结构程序代码顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,在源代码中出现的顺序依次执行publicclassMain{ publicstaticvoidmain(String[]args){ //第一步:声明变量
inta=10; intb=20; //第二步:执行加法操作
intsum=a+b; //第三步:输出结果
System.out.println("计算结果:"+sum); }}任务3-1求解圆面积-任务实现1.使用键盘输入一个圆形的半径数值,并将输入的半径赋值给radius变量,然后关闭scanner。
Scannerscanner=newScanner(System.in);inti=scanner.nextInt();2.定义一个双精度变量area,使用数学函数和圆面积公式,求解面积。
doubleradius=Math.PI*radius*radius;3.将求解结构输出到控制台。代码参考教材中的CircleArea.java程序运行结果如下图02任务3-2BMI健康值评估基本if选择结构
if-else选择结构多重if选择结构嵌套if选择结构
Switch选择结构任务3-2BMI健康值评估-选择结构语句基本if选择结构if条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,否则执行后续语句。关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为false,则不执行if条件之后的语句。其语法格式如下:if(布尔表达式){
执行语句}基本if选择结构if条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,否则执行后续语句。关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为false,则不执行if条件之后的语句。其语法格式如下:if(布尔表达式){
执行语句}任务3-2BMI健康值评估-选择结构语句基本if选择结构if语句的具体用法如例3-1
判断一个人的年龄是否大于18岁,如果age值小于18则只输出“开始”,如果age值大于18则输出对应语句的结果publicclassRise{ publicstaticvoidmain(String[]args){ System.out.println("开始"); //如果年龄大于18岁,奋斗吧少年 intage=20; if(age>=18){ System.out.println("奋斗吧少年,青春路上绚丽多彩"); } }}上述代码中,运行结果任务3-2BMI健康值评估-选择结构语句if-else选择结构if-else语句是指如果满足特定条件,就执行符合当前条件事语句,否则就执行另一条件的语句。例如,要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则该数字就是一个奇数。其语法格式如下:if(布尔表达式){
执行语句1}else{
执行语句2}任务3-2BMI健康值评估-选择结构语句If-else语句的具体用法,如例3-2判断奇/偶数的程序publicclassOddorEven{ publicstaticvoidmain(String[]args){ intnum=256; if(num%2==0){ //判断条件成立,num能被2整除 System.out.println(num+"是一个偶数"); }else{//判断条件不成立,num不能被2整除 System.out.println(num+"是一个奇数"); } }}上述代码中,运行结果if-else选择结构任务3-2BMI健康值评估-选择结构语句多重if选择结构多重if选择结构在Java中是一种常用的控制结构,用于在多个互斥条件的判断条件的情况下进行决策。当一个条件不足以确定程序的执行方向时,可以使用多个elseif语句按顺序排列,每个条件分别进行判断,继而执行能满足条件对应的语句。每个if和elseif条件后面均必须跟随一个{}块,其中包含相应的代码,elseif可以有多个,但是它们必须按照逻辑顺序排列。最后一个elseif后面可以有一个可选的else块,用于处理所有其他情况。其语法格式如下:if(布尔表达式1){
执行语句1//条件1成立时的操作}elseif(布尔表达式2){
执行语句2//条件1不成立,条件2成立时的操作}elseif(布尔表达式3){
执行语句3//条件1和条件2都不成立,条件3成立时的操作}...//也可以最后用一个else来处理所有条件不成立的情况else{
执行语句//上述条件都不成立时的操作}任务3-2BMI健康值评估-选择结构语句多重if选择结构多重if选择顾客在实体连锁店结算商品,不同会员身份价格不同,超出1000元还有会语句的具体用法,如例3-3判断员惠上惠的案例,详见DiscountCalculator.java:……12 if(membershipLevel.equals("SVIP")){13 baseDiscount=0.86;//默认无折扣
14 }15 elseif(membershipLevel.equals("金卡会员")){16 baseDiscount=0.9;17 }18 elseif(membershipLevel.equals("银卡会员")){19 baseDiscount=0.95;20 }21 else22 {23 baseDiscount=1.0;24 }……设定买家为为“SVIP”会员,其折扣率为“0.86”,又因为其购买的商品总价为1200元,可继续享受额外的满1000的98折优惠,运行结果如右图任务3-2BMI健康值评估-选择结构语句嵌套if选择结构嵌套if语句是Java中常用的选择结构,用于处理需要根据多个条件进行判断的情况,嵌套if选择结构是指在一个if语句的代码块内部,再嵌套一个或多个if语句,形成多层判断的结构。它用于处理需要根据多个条件进行判断的情况。其语法格式如下:if(布尔表达式1){
执行语句1if(布尔表达式2){
执行语句2}else{
执行语句3}}else{
执行语句4}任务3-2BMI健康值评估-选择结构语句嵌套if选择语句的具体用法,如例3-4判断输入任意3个整数作为三角形的边长,判断是否符合三角形的构成,并判断三角形的类型,详见TriangleType.java……10if(a+b>c&&a+c>b&&b+c>a){//判断是否为合法三角形
11 System.out.println("这是一个合法三角形。");12 13 if(a==b&&b==c){14 System.out.println("这是一个等边三角形。");15 }elseif(a==b||a==c||b==c){16 System.out.println("这是一个等腰三角形。");17 }elseif(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){18 System.out.println("这是一个直角三角形。");19 }else{20 System.out.println("这是一个普通三角形。");21 }22 }else{23 System.out.println("这不是一个合法三角形。");24 }25 }……嵌套if选择结构任务3-2BMI健康值评估-选择结构语句运行程序后,根据用户输入的3组数字,利用三角形边长和的特性,判断是否能够构成三角形。如果成立输出“这是一个合法三角形”,并继续判断其边长特殊属于哪类三角形,并输出结果;如果所给出的数值不能构成三角形,则输出“这不是一个合法三角形”,程序结束,但输入3、4、5后程序运行结果:嵌套if选择结构任务3-2BMI健康值评估-选择结构语句switch选择结构也是一种很常用的选择结构语句,它由一个switch控制表达式和多个case关键字组成。与if条件语句不同的是,switch条件语句的控制表达式结果类型只能是byte、short、char、int、enum枚举以及String类型,而不能是boolean类型,其语法格式如下:switch(控制表达式){ case目标值1:
执行语句1 break; case目标值2:
执行语句2 break;
... case目标值n:
执行语句n break; default:
执行语句n+1 break;}Switch选择结构任务3-2BMI健康值评估-选择结构语句switch选择结构的具体用法,如例3-5在智能产线工位上的机械臂接收到上工位指令后执行操作的程序。详见RoboticArmController.javaSwitch选择结构……4 switch(commandCode){5 case1:6 System.out.println("机械臂执行抓取操作。");//执行抓取操作
7 break;8 case2:9 System.out.println("机械臂执行放置操作。");//执行放置操作
10 break;11 case3:12 System.out.println
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考物理类考试题及答案
- 肝腹水考试题目及答案
- 福斯特考试题目及答案
- 分析室考试题目及答案
- 防水工考试题目及答案
- 2025水果供应商合同范本 供货合同示例
- 动脉穿刺的考试题及答案
- 中国冰片烯二酸酐项目创业计划书
- 电气五防考试题及答案
- 电工评级考试题目及答案
- 2025中级工程机械维修工技能鉴定精练考试指导题库及答案(浓缩300题)
- 医院感染监测与管理方案2025
- 建筑劳务安全培训制度
- 《赵季平双簧管作品《陕南素描三首》的民族元素分析》
- 电工电子技术全套课件(完整版)
- 二十碳五烯酸乙酯软胶囊-临床用药解读
- 《水电工程水生生态调查与评价技术规范》(NB-T 10079-2018)
- 企业环境法律知识讲座
- 267条表情猜成语【动画版】
- 科研课题立项评审评分参照标准
- 人教课标实验版中国历史八年级上册近代化的探索戊戌变法全市一等奖
评论
0/150
提交评论