JAVA程序设计-课件全套1-9 Java环境搭建 - -实现动态数据库连接_第1页
JAVA程序设计-课件全套1-9 Java环境搭建 - -实现动态数据库连接_第2页
JAVA程序设计-课件全套1-9 Java环境搭建 - -实现动态数据库连接_第3页
JAVA程序设计-课件全套1-9 Java环境搭建 - -实现动态数据库连接_第4页
JAVA程序设计-课件全套1-9 Java环境搭建 - -实现动态数据库连接_第5页
已阅读5页,还剩376页未读 继续免费阅读

下载本文档

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

文档简介

Java程序设计单元一Java环境搭建

情景导入小张毕业后进入了一家网络科技公司,该公司主要业务为计算机的软硬件服务,在入职之后,小张被分配到公司所属的软件研发部门,参与公司的软件维护项目。同部门入职的还有一些实习生,小张作为有工作经验的前辈,被部门经理安排为这批实习生进行培训。在充分考虑了当前常用编程语言的优劣及入门难易度之后,小张发现Java语言是使用范围最为广泛的语言之一,而且难易度适中,非常适合初学者进行学习,于是提报部门审核同意后,决定组织Java语言的培训,首先完成培训前的环境准备工作。1.小张发现的Java语言的优势体现在什么地方呢?

2.Java语言开发的环境如何搭建呢?

了解Java语言的发展及特点掌握jdk环境的安装配置了解开发工具eclipse的发展史及优势掌握开发工具eclipse的下载安装完成第一Java程序的编写运行本单元目标及任务团队研发环境搭建—JDK安装测试

研发工具的安装—eclipse的安装测试本单元思维导图千里之行,始于足下。——《道德经》要掌握Java编程思想,就必须先从学习Java基础开始。本学习单元将引领读者走进Java的世界,让读者了解Java语言的发展,并完成Java开发环境的搭建。1.1Java简介Java语言的发展始于1995年,Oracle公司原先的Sun公司旗下的产品,JamesGosling及其团队开发出下一代的面向对象的程序设计语言—Java语言。Java虚拟机(JavaVirtualMachine,JVM)。要运行Java程序就必须存在JVM,JVM是封在Java运行环境(JRE)中的。计算机如果想运行Java程序,那么必须安装JRE环境。

任务1团队研发环境搭建—JDK安装测试程序设计语言排行榜(Java位居前三)1.2Java语言特点任务1团队研发环境搭建—JDK安装测试01面向对象Java是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。02高性能Java的高性能主要是相对其他高级脚本语言来说的,随着JIT(JustinTime)的发展,Java的运行速度也越来越高。03多线程Java语言是多线程的,这也是Java语言的一大特性,它必须由Thread类和它的子类来创建。Java支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的run()方法,要执行的方法就写在run()方法体内。1.2Java语言特点任务1团队研发环境搭建—JDK安装测试04健壮性Java的强类型机制、异常处理、垃圾回收机制等都是Java健壮性的重要保证。对指针的丢弃是Java的一大进步。05简单性Java语言的语法与C语言和C++语言很相近,对Java来说,它舍弃了很多C++中难以理解的特性,如操作符的重载和多继承等。06安全性Java通常被用在网络环境中,为此,Java提供了一个安全机制以防止恶意代码的攻击。除了Java语言具有许多的安全特性以外,Java还对通过网络下载的类增加一个安全防范机制,分配不同的名字空间以防替代本地的同名类,并包含安全管理机制。1.3Java开发平台版本任务1团队研发环境搭建—JDK安装测试开发Java程序的平台分为三个版本:JavaSE1JavaEE2JavaME31.3Java开发平台版本任务1团队研发环境搭建—JDK安装测试JavaSE(JavaStandardEdition):标准版,定位在个人计算机上的应用,是Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口AWT及Swing,网络功能与国际化、图像处理能力以及输入输出支持等。在上世纪90年代末互联网上大放异彩的Applet也属于这个版本。Applet后来为Flash取代,Flash即将被HTML5取代。1.3Java开发平台版本任务1团队研发环境搭建—JDK安装测试JavaEE(JavaEnterpriseEdition):企业版,定位在服务器端的应用,JavaEE是JavaSE的扩展,增加了用于服务器开发的类库。如:JDBC是让程序员能直接在Java内使用的SQL的语法来访问数据库内的数据;Servlet能够延伸服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP是一种可以将Java程序代码内嵌在网页内的技术。1.3Java开发平台版本任务1团队研发环境搭建—JDK安装测试JavaME(JavaMicroEdition):微型版,定位在消费性电子产品的应用,JavaME是JavaSE的内伸,包含J2SE的一部分核心类,也有自己的扩展类,增加了适合微小装置的类库:javax.microedition.io.*等。该版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。1.4配置JDK环境任务1团队研发环境搭建—JDK安装测试什么是JDK?JDK全称JavaDevelopmentkit,即Java开发包。是Oracle提供的一套用于开发Java应用程序的开发包,它提供Java编译与运行所需的所有工具及环境。JDK包含了JRE和JVM,JRE(JavaRuntimeEnvironment)即Java运行环境,包括Java系统类库及JVM。JVM是Java程序运行虚拟机,在不同平台上所需的JVM不同,JVM是Java实现跨平台的最核心的部分。JDK、JRE和JVM三者之间的关系图1.4配置JDK环境JDK下载及安装登录到Oracle官网,这里提供了各主流操作系统下当前最新版本的JDK,可以根据自己机器的配置选择对应的文件来下载。

将jdk-8u20-windows-x64.exe版本的文件下载到本地,然后双击此软件,默认安装到C:\ProgramFiles\Java\jdk1.8.0_20目录,各步骤使用默认安装即可。本课程使用的JDK版本是:jdk1.8。任务1团队研发环境搭建—JDK安装测试1.4配置JDK环境任务1团队研发环境搭建—JDK安装测试环境变量配置位置(1)在操作系统中,右击“此电脑”图标,依次选择“属性”—>“高级系统设置”,在弹出的“系统属性”对话框中,单击“环境变量”按钮。(2)在弹出的“环境变量”对话框中选择“系统环境变量”选项,单击“新建”按钮,依次添加以下的环境变量:JAVA_HOME(可选设置)、PATH(必须设置)、CLASSPATH(可选设置)。环境变量位置1.4配置JDK环境任务1团队研发环境搭建—JDK安装测试(1)JAVA_HOME在“系统变量”选项组中单击“新建”按钮,在弹出的“新建系统变量”对话框的“变量名”文本框中输入“JAVA_HOME”,在“变量值”文本框中输入JDK的安装路径,单击“确定”按钮,完成JAVA_HOME的配置(2)CLASSPATH在“系统变量”列表中找到Path变量,这是计算机中自带的变量,无须新建。可以发现Path变量中已经有了很多路径,双击Path变量名,弹出“编辑系统变量”对话框(Windows10的用户需单击“编辑文本”按钮),进行Path的配置。CLASSPATH的配置JAVA_HOME的配置1.4配置JDK环境任务1团队研发环境搭建—JDK安装测试(3)PATH在“系统变量”列表中找到Path变量,这是计算机中自带的变量,无须新建。可以发现Path变量中已经有了很多路径,双击Path变量名,弹出“编辑系统变量”对话框(Windows10的用户需单击“编辑文本”按钮),进行Path的配置。在文本框值的最后,输入“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”,单击“确定”按钮,完成Path配置。继续点击后续页面的“确定”按钮,完成环境变量配置。PATH变量配置PATH变量页面1.4配置JDK环境任务1团队研发环境搭建—JDK安装测试JDK环境测试按“Win+R”组合键,在弹出的“运行”对话框的文本框中输入“cmd”,打开命令行窗口。输入“java”,按“Enter”键,如果JDK正确配置,则会出现左下图所示的命行内容。输入“java-version”,按“Enter”键,可以查看JDK版本,如右下图所示课堂讨论与练习任务1团队研发环境搭建—JDK安装测试讨论讨论1:出现JDK版本查看失败提示,引起的原因是什么?讨论2:macOS系统安装与windows系统安装的区别是什么?巩固练习1.Java是面向_________的语言。2.Java可以在多种平台运行,体现了Java语言的_________特性。3.简述Java的特点。4.简述JDK和JRE的区别。2.1Eclipse简介Eclipse最初由IBM公司于2001年推出,旨在为Java开发提供一个开放、可扩展、跨平台的IDE。Eclipse最初只是一个Java集成开发环境,但随着时间的推移,它逐渐演变成了一个基于插件体系结构的通用IDE,支持多种编程语言和平台。Eclipse是目前最流行的Java集成开发工具,使用该集成环境开发Java应用程序,将大大提高开发效率。

优势:开放源码、可扩展性、跨平台、多语言支持、强大的调试功能、自动化测试工具。任务2研发工具的安装—eclipse的安装测试本课程使用的Eclipse版本是:2023-12(4.30.0)2.2Eclipse下载安装下载及安装Eclipse是针对Java编程的集成开发环境(IDE),读者可以根据自己的操作系统进行下载或者直接使用本书提供的安装包。如果自行下载的工具为一个ZIP压缩包,直接解压缩即可使用。解压缩完成后,进入Eclipse所在的文件夹,双击“eclipse.exe”程序,启动Eclipse即可。使用本书提供的安装包,左键双击安装包或者右键【以管理员身份运行】,进行安装,选择“EclipseIDEforJavaDevelopers”后续选择默认值,直到安装完成。点击电脑桌面上的Eclipse快捷键启动。任务2研发工具的安装—eclipse的安装测试2.3Eclipse的使用任务2研发工具的安装—eclipse的安装测试启动运行在Eclipse启动过程中会弹出一个对话框,这个对话框用于设置Eclipse的工作区(Workspace),即设置一个文件夹作为Java代码保存的位置,单击“Launch”按钮后,正式启动Eclipse。第一次启动后,会进入欢迎(Welcome)页面,关闭此页面后进入Eclipse工作页面Eclipse工作页面2.3Eclipse的使用任务2研发工具的安装—eclipse的安装测试新建项目在Eclipse工作页面中选择“File“→“New”→“javaProject”选项。打开新建项目的窗口,在“Projectname”文本框中输入“HelloWorld”,单击“Finish”按钮。新建项目2.3Eclipse的使用任务2研发工具的安装—eclipse的安装测试新建项目包新建的项目在屏幕左侧的包资源管理(PackageExplorer)窗口中显示,展开项目节点后,右键单击src文件夹,在弹出的快捷菜单中选择“New”→“Package”选项。在“Name”文本框中输入“FirstPackage”,单击“Finish”按钮。新建项目包2.3Eclipse的使用任务2研发工具的安装—eclipse的安装测试新建类文件右键单击新创建的FirstPackage项目包,在弹出的快捷菜单中选择“New”→“Class”选项。打开新建类文件的窗口,在“Name”文本框中输入“HelloWorld”,并选择附带方法的选项后,单击“Finish”按钮。在src文件夹中出现了一个HelloWorld.java文件,src就是保存Java代码的文件夹,之后要经常使用该文件夹。新建项目2.3Eclipse的使用任务2研发工具的安装—eclipse的安装测试代码编写双击HelloWorld.java,可以发现在窗口中间区域出现了代码编辑窗格。并且部分Java代码已经由Eclipse自动生成了。在文件中编写如右侧上图的代码。运行程序。在代码编辑区域中右键单击。在弹出的快捷菜单中选择“RunAs”→“JavaApplication”选项,Eclipse会自动编译并运行程序。运行结果在Console窗格中显示。运行结果Java文件课堂讨论与练习任务2研发工具的安装—eclipse的安装测试讨论讨论1:出现Eclipse安装失败,引起的原因是什么?讨论2:有哪些AI工具可以协助编程,提升编程效率?巩固练习1.Eclipse最初由公司_________于2001年推出试运行。2.在开发工具中新建项目时,通过路径“_________“→“New”→“javaProject”选项进行操作。3.简述Java开发工具Eclipse的优势特点。Java程序设计单元二Java编程基础

情景导入

小张刚入职,在软件研发部门参与公司的软件维护项目。在公司软件开发中,他发现Java是一种常用的编程语言,一种面向对象的语言,易于阅读、编写和学习。

很多开发人员使用Java来创建从桌面程序到复杂的Web应用程序的所有内容。

小张发现,在了解Java的发展历史及学会搭建Java开发环境后,学习Java的基本概念和语法是非常重要的,这对于未来从事软件开发工作打下坚实的基础。掌握基础知识可以帮助初学者更好地理解编程原理,提高解决实际问题的能力,并为后续深入学习其他项目做好准备。1.初识Java,Java的程序结构是什么样子呢?

2.Java编程基础—变量、常量、数组和方法,你了解吗?

掌握Java的基本语法格式掌握常量、变量的定义和使用掌握数组的定义与使用掌握方法的定义与使用本单元目标及任务初识庐山真面目-Java文件结构

区分不同类型数据—变量和常量

合并变量—数组的定义

重复调用的代码块—方法

本单元思维导图不以规矩,不能成方圆。——《离娄章句上》Java语句的编写也需要严格的依据语法规则来完成。本学习单元将引领读者学习Java常识性知识,引导读者进一步了解Java语言,为步入本书后面知识的学习打下坚实的基础。1.1Java的基本语法Java程序代码必须放在一个类中,初学者可以简单地把一个类理解为一个Java程序。类使用class关键字定义,在class前面可以有类的修饰符,类的定义格式如下:

修饰符class类名{ 程序代码

}任务1初识庐山真面目-Java文件结构使用Eclipse编写程序1.2Java代码的注意事项任务1初识庐山真面目-Java文件结构01Java中的程序代码可分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法,功能执行语句用于实现具体的功能。每条功能执行语句的最后都必须用分号(;)结束。如下面的语句:System.out.println("这是第一个Java程序!");值得注意的是,在程序中不要将英文的分号(;)误写成中文的分号(;),如果写成中文的分号,编译器会报告“illegalcharacter”(非法字符)这样的错误信息。1.2Java代码的注意事项任务1初识庐山真面目-Java文件结构01Java语言是严格区分大小写的。在定义类时,不能将class写成Class,否则编译会报错。程序中定义一个computer的同时,还可以定义一个Computer。computer和Computer是两个完全不同的符号,在使用时务必注意。0203源文件名必须和类名相同。当保存文件的时候,应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。如果文件名和类名不相同则会导致编译错误。04所有的Java程序都由publicstaticvoidmain(String[]args)方法开始执行。1.3标识符和关键字任务1初识庐山真面目-Java文件结构01下面的这些标识符都是合法的。Usernameusername123user_name_userName$username下面的这些标识符都是不合法的!123usernameclass98.3在编程过程中,经常需要在程序中定义一些符号来标记一些名称,如包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。标识符可以由字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的关键字。下面的这些标识符都是合法的。Username

username123

user_name

_userName

$username下面的这些标识符都是不合法的!123username

class

98.3

1.3标识符和关键字任务1初识庐山真面目-Java文件结构注意事项:不能以数字开头1不能使用关键字2严格区分大小写31.3标识符和关键字任务1初识庐山真面目-Java文件结构01

Java占有的一些单词,有自己特殊的含义,我们称之为关键字。例如:publicstaticclassvoid关键字特点:关键字单词全部小写,高级的编辑软件会有颜色显示。关键字一律用小写字母标识,按其用途划分为如下几组。1.用于数据类型。用于数据类型的关键字有boolean、byte、char、double、float、int、long、new、short、void、instanceof。1.3标识符和关键字任务1初识庐山真面目-Java文件结构012.用于语句。

用于语句的关键字有break、case、catch、continue、default、do、else、for、if、return、switch、try、while、finally、throw、this、super。3.用于修饰

用于修饰的关键字有

abstract、final、native、private、protected、public、static、synchronized、transient、volatile。4.用于方法、类、接口、包和异常。

用于方法、类、接口、包和异常的关键字有class、extends、implements、interface、package、import、throws。1.3标识符和关键字任务1初识庐山真面目-Java文件结构01还有些关键字,如future、generic、operator、outer、rest、var等都是Java保留的没有意义的关键字。另外,Java还有3个保留字:goto、const、null。它们不是关键字,而是文字。包含从定义的值。和关键字一样,它们也不可以作为标识符使用。1.4Java注释任务1初识庐山真面目-Java文件结构Java注释有3种:单行注释、多行注释、文档注释1.单行注释单行注释用于对程序中的某一行代码进行解释,一般用来注释局部变量。单行注释用符号“//”表示,“//”后面为被注释的内容,具体示例如下:intc=10;//定义一个整型变量2.多行注释多行注释顾名思义就是注释的内容可以为多行,它以符号“/*”开头,以符号“*/”结尾。多行注释具体示例如下:/*intc=10; intx=5;*/1.4Java注释任务1初识庐山真面目-Java文件结构3.文档注释文档注释是以“/**”开头,并在注释内容末尾以“*/”结束。文档注释是对一段代码概括性的解释说明,可以使用javadoc命令将文档注释提取出来生成帮助文档。文档注释具体示例如下:/**name=“程序员”;*/任务2区分不同类型数据—变量和常量

小张发现有些数据在程序运行过程中值不能发生改变,有些数据在程序运行过程中值会发生改变,这两种数据在程序中分别被叫作常量和变量。在实际的程序开发中,可以根据数据在程序运行中是否发生改变来选择应该是使用变量还是常量代表它。本任务将针对Java的变量和常量进行详细讲解。2.1变量的定义及数据类型任务2区分不同类型数据—变量和常量变量是Java编程中基本的数据类型,程序中几乎所有的操作都需要用到变量。程序运行的时候,变量中存储的数据可以发生改变。Java变量分为基本类型和引用类型两种。变量类型变量名;intx;Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。语法格式使用变量前必须对变量赋值,首次对变量赋值称为初始化变量。语法格式变量类型变量名=值;intx=20;任务2区分不同类型数据—变量和常量基本数据类型任务2区分不同类型数据—变量和常量引用数据类型在程序中引用数据类型是以引用的形式存在的,即引用数据类型保存的值实际上是具体对象的句柄,并不是对象本身,这种形式类似于指针而不是指针如:Stringstr=newString("HelloWorld");再如;Students;s=newStudent("Tom",19,183);(见图)注

项注

意任务2区分不同类型数据—变量和常量变量名不能重复定义变量时,需要赋值。使用之前必须赋值什么类型的变量就只能存储什么类型的数据。定义long类型时,为了防止整数过大,在初始值后边加一个“L”即可。定义float类型时,为了防止类型不兼容,在初始值后边加一个“F”即可。使用变量时不能超出他的作用范围任务2区分不同类型数据—变量和常量常量就是在程序中固定不变的值,是不能改变的数据。例如,数字1、字符'a'、浮点数3.2等都是常量。在Java中,常量包括整型常量、浮点数常量、布尔常量、字符常量等。2.2常量的定义及使用任务2区分不同类型数据—变量和常量字符串常量用双引号括起来的内容(“HelloWorld”)整数常量所有整数(1,2,3…)小数常量所有小数(3.1,2.05,0.3…)字符常量用单引号括起来的内容(‘a’,’A’,’0’)布尔常量较为特有,只有true和false空常量null2.2常量的定义及使用语法格式:语法演示注意:常量名一般使用大写字符。程序中使用常量可以提高代码的可维护性。注意注意

当需要统计某公司员工的工资情况时,例如计算平均工资、最高工资等。假设该公司有50名员工,用前面所学的知识,程序首先需要声明50个变量来分别记录每位员工的工资,这样做会显得很麻烦。在Java中,可以使用一个数组来记住这50名员工的工资。数组是指一组数据的集合,数组中的每个数据被称作元素。数组可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。数组可分为一维数组和多维数组,本任务将主要围绕一维数组进行详细的讲解。任务3合并变量—数组的定义3.1数组的概念和定义任务3合并变量—数组的定义数组,顾名思义就是一组数据。数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java语言中提供的数组用来存储固定大小的同类型元素。如果需要存储大量的数据,例如需要读取50个数,那么就需要定义50个变量,显然重复写50次代码是没有太大意义的。为了解决这个问题,可以声明一个数组变量,如numbers[50]来代替直接声明50个独立变量number0,number1,…,number49。任务3合并变量—数组的定义数组的基本要素标识符:数组的名称,用于区分不同的数组数组元素:数组中存放的每个数据元素类型:数组元素的数据类型元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问任务3合并变量—数组的定义数组中的每个变量的数据类型是不变且相同的,当数组中每个元素都只带一个下标时这样的数组就被称为一维数组。一维数组是由数字组成的以单纯的排序结构排列的结构单一的数组,一维数组是计算机程序中最基本的数组。3.2一维数组的定义和使用

数组定义任务3合并变量—数组的定义int[]x; //声明一个int[]类型的

变量x=newint[100]; //为数组x分配100个元素空间上述语句就相当于在内存中定义了100个int类型的变量,第一个变量的名称为x[0],第二个变量的名称为x[1],以此类推,第100个变量的名称为x[99],这些变量的初始值都是0。任务3合并变量—数组的定义例如:任务3合并变量—数组的定义第一行代码声明了一个变量x,该变量的类型为int[],即声明了一个int类型的数组。变量x会占用一块内存单元,它没有被分配初始值。变量x的内存状态如右图。第二行代码x=newint[100];创建了一个数组,将数组的地址赋值给变量x。在程序运行期间可以使用变量x引用数组,这时变量x在内存中的状态会发生变化,如图。任务3合并变量—数组的定义上图描述了变量x引用数组的情况。该数组中有100个元素,初始值都为0。数组中的每个元素都有一个索引(也可称为角标),要想访问数组中的元素可以通过“x[0]、x[1]、……、x[98]、x[99]”的形式。需要注意的是,数组中最小的索引是0,最大的索引是“数组的长度-1”。在Java中,为了方便获得数组的长度,提供了一个length属性,在程序中可以通过“数组名.length”的方式获得数组的长度,即元素的个数。任务3合并变量—数组的定义数组的使用任务3合并变量—数组的定义

假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹。发射炮弹的动作需要编写100行代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决上述问题,通常会将发射炮弹的代码提取出来,放在一个{}中,并为这段代码起个名字,提取出来的代码可以被看作是程序中定义的一个方法。这样在每次发射炮弹的地方,只需通过代码的名称调用方法,就能完成发射炮弹的动作。需要注意的是,有些书中也会把方法称为函数。任务4重复调用的代码块—方法4.1方法的基本定义与使用方法就是一段可以重复调用的代码。方法(method)用来实现类的行为。一个方法通常是用来完成一项具体的功能(function),在Java语言中,每条指令的执行都是在某个特定方法的上下文中完成的。可把方法看成完成一定功能的“黑盒”,方法的使用者(对象)只要将数据传递给方法体(要么通过方法中的参数传递,要么通过对象中的数据成员共享),就能得到结果,而无需关注方法的具体实现细节。当我们需要改变对象的属性(状态)值时,就让对象去调用对应的方法,方法通过对数据成员(实例变量)一系列的操作,然后就再将操作的结果返回。任务4重复调用的代码块—方法任务4重复调用的代码块—方法在Java中,定义一个方法的语法格式如下:修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2,...){ 执行语句 ... return返回值;}任务4重复调用的代码块—方法对于方法的语法格式,具体说明如下:●修饰符:方法的修饰符比较多,例如,对访问权限进行限定的修饰符,static修饰符,final修饰符等,这些修饰符在后面的学习过程中会逐步介绍。●返回值类型:用于限定方法返回值的数据类型。●参数类型:用于限定调用方法时传入参数的数据类型。●参数名:是一个变量,用于接收调用方法时传入的数据。●

return关键字:用于返回方法指定类型的值并结束方法。●返回值:被return语句返回的值,该值会返回给调用者。任务4重复调用的代码块—方法方法的使用publicstaticintsum(inta,intb){

intresult=a+b;

returnresult;

}方法的调用方法主要有三种,分别是:单独调用、打印调用和赋值调用。4.2方法的重载在平时生活中经常会出现这样一种情况,一个班里可能同时有两个叫小明的同学,甚至有多个,但是他们的身高、体重、外貌等有所不同,老师点名时都会根据他们的特征来区分。在编程语言里也存在这种情况,参数不同的方法有着相同的名字,调用时根据参数不同确定调用哪个方法,这就是Java方法重载机制。所谓方法重载,就是在同一个作用域内方法名相同但参数个数或者参数类型不同的方法。任务4重复调用的代码块—方法任务4重复调用的代码块—方法所谓方法重载,就是在同一个作用域内方法名相同但参数个数或者参数类型不同的方法。例如,在同一个作用域内同时定义三个add()方法,这三个add()方法就是重载函数。任务4重复调用的代码块—方法

下面一个案例演示重载方法的定义与调用,在该案例中,定义三个add()方法,分别用于实现两个整数相加、三个整数相加以及两个小数相加的功能。感谢观看Java程序设计单元三

运算符与流程控制

情景导入

某景区新开发了一个旅游景点,需要搭建售票网点,采购售票、检票等相关设备,有部分功能委托我们来实现。现需要设计一个程序来将景点采购的设备进行入库,同时需要设计程序实现根据身高进行售票,并且统计能达到购票的人数。请根据选择结构语句与循环结构语句特点及Java语言中的运算符完成该项目。1.使用流程控制语句在编程中有哪些意义?了解Java中常见的运算符掌握算术、赋值、比较、逻辑运算符的使用了解运算符的优先级掌握if条件语句、if…else语句使用掌握switch条件语句的使用掌握while、do…while、for循环结构语句的使用本单元目标及任务景点设备入库—运算符的使用

景点员工入职—条件结构语句景点游客中心服务—循环结构语句本单元思维导图方以类聚,物以群分——《周易·系辞上》,Java语句的运算及流程控制包含不同的种类,需要根据具体的实例场景进行选择。

提出任务:

该景点新进了一批电脑主机和显示器,现需要对这两种商品进行入库,本任务要求编写一个模拟商品入库的程序,可以在控制台输入入库商品的数量,最后打印出仓库中所有商品详细信息,以及所有商品的总库存数和库存商品总金额。商品基本信息如下:品牌型号、尺寸、价格、配置、库存、总价。

任务1景点设备入库—运算符的使用3.1

运算符的使用在程序中经常出现一些特殊符号,如+、-、*、=、>等,这些特殊符号称作运算符。运算符用于对数据进行算术运算、赋值运算和比较运算等。在Java中,运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符等。任务1景点设备入库—运算符的使用知识准备—算术运算符任务1景点设备入库—运算符的使用Java中的算术运算符就是用来处理四则运算的符号,算术运算符是最简单、最常用的运算符号。‌知识准备—算术运算符任务1景点设备入库—运算符的使用说明如下。(1)两个整数相除的结果仍然是整数。例如,5/2的结果为2,而不是2.5。如果除法运算有小数参与,得到的结果会是一个小数。例如,2.5/10的结果为0.25。(2)在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。例如,(-5)%3=-2,而5%(-3)=2。。(3)自增与自减运算符既可以前置(放在变量前面,形如++a),也可以后置(放在变量后面,形如a++)。前置时表示先自增(或自减),再使用变量的值,后置时表示先使用变量的值,再自增(或自减)。例如,定义了三个int类型的变量a、b、x。其中a=1、b=2。当进行“intx=a+b++”运算时,由于运算符++写在了变量b的后面,则先进行a+b运算,再进行变量b的自增,最终结果x的值为3,b的最终值也为3。(4)算术运算符的优先级与数学中规定的相同,即先乘除后加减。‌知识准备—赋值运算符任务1景点设备入库—运算符的使用

赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。赋值运算符分为简单赋值运算符和复合赋值运算符。‌知识准备—赋值运算符任务1景点设备入库—运算符的使用说明如下。(1)赋值运算符用于给变量赋值,赋值运算符左边要求必须是变量。(2)在简单赋值运算符“=”前加上其他运算符,就可以构成复合赋值运算符,采用复合赋值运算符可使程序更加简洁。以“+=”为例,x+=3就相当于x=x+3,表达式首先会进行加法运算x+3,再将运算结果赋值给变量x。(3)在Java中可以通过一条赋值语句对多个变量进行赋值,具体示例如下:intx,y,z;x=y=z=5; //为三个变量同时赋值需要注意的是,下面的这种写法在Java中是不可以的。intx=y=z=5; //这样写是错误的‌知识准备—赋值运算符任务1景点设备入库—运算符的使用结合上述内容,请仔细阅读文件3-1的代码,思考运行的结果。publicstaticvoidmain(String[]args){ inta,b; a=30; b=40; System.out.println("a="+a+"\tb="+b); a+=10; b%=7; System.out.println("a="+a+"\tb="+b); }‌知识准备—比较运算符任务1景点设备入库—运算符的使用

比较运算符用于对两个数值或变量进行比较,比较运算结果是一个布尔值,即true或false。比较运算符又称关系运算符。Java中的比较运算符及用法如表所示。

‌知识准备—比较运算符任务1景点设备入库—运算符的使用

比较运算符用于对两个数值或变量进行比较,比较运算结果是一个布尔值,即true或false。比较运算符又称关系运算符。Java中的比较运算符及用法如表所示。说明如下。(1)通常情况下,比较运算符用于比较同一类型的操作数,且操作数之间能比较大小,比较才有效。(2)在Java中不允许比较运算符连用,如“3<4<5”是不合法的。(3)在比较运算中,不能将比较运算符“==”误写成赋值运算符“=”。知识准备—逻辑运算符任务1景点设备入库—运算符的使用

逻辑运算符用于对布尔型数据进行运算,其结果仍然是布尔值。说明如下。(1)逻辑运算符可以针对结果为布尔值的表达式进行运算。例如,x>3&&y!=0。(2)运算符“&”和“&&”都表示与操作,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false。虽然运算符“&”和“&&”都表示与操作,但两者在使用上还有一定的区别。在使用“&”进行运算时,不论左边为true或者false,右边的表达式都会进行运算。在使用“&&”进行运算,当左边为false时,右边的表达式就不再进行运算,因此“&&”被称作短路与。知识准备—逻辑运算符任务1景点设备入库—运算符的使用(3)“||”运算符为短路或,当运算符“||”的左边为true时,右边的表达式不再进行运算。intx=0;inty=0;booleanb=x==0||y++>0上面的代码块执行完毕后,b的值为true,y的值仍为0。原因是运算符“||”的左边表达式x==0结果为true,那么右边表达式将不进行运算,y的值不发生任何变化。知识准备—逻辑运算符下面通过一个案例深入了解“&”与“&&”的区别publicclassFile302_Example02{publicstaticvoidmain(String[]args){intx=0;//定义变量x,初始值为0inty=0;//定义变量y,初始值为0intz=0;//定义变量z,初始值为0booleana,b;//定义boolean变量a和ba=x>0&y++>1;//逻辑运算符&对表达式进行运算System.out.println(a);System.out.println("y="+y);b=x>0&&z++>1;//逻辑运算符&&对表达式进行运算System.out.println(b);System.out.println("z="+z);}}任务1景点设备入库—运算符的使用任务分析01商品信息入库在本任务实施中,需要定义不同的商品信息,包括型号、尺寸、价格、配置和库存数等信息。02显示库存清单,统计库存总数打印显示商品的信息,并且汇总所有的库存总数。任务1景点设备入库—运算符的使用任务实施01步骤1输入代码记录清单中2种商品的详细信息,包括品牌型号、尺寸、价格、配置和库存数。02步骤2实现商品入库:先打印商品的详细信息,用户在输入入库的数量,计算出总价,最后打印输出任务1景点设备入库—运算符的使用步骤3打印所有商品的信息。此处商品信息应该与列表顶部的商品信息的顺序一致,否则会造成商品信息显示错乱。0304步骤4显示清单底部信息,包括总库存数与库存商品的总金额。讨论讨论1:在一些比较复杂的表达式进行运算时,怎么样判断运算符参与运算的先后顺序?讨论2:在为变量赋值时,当两种类型彼此不兼容,或者目标类型小于源类型时,需要怎么做?巩固练习1.设inta=2;,则a+=3;执行后,变量a的值为_________。2.表达式10/4的结果为_________。3.表达式(int)(4.5+5)的结果为_________。4.表达式20<<2的结果为_________。任务1景点设备入库—运算符的使用课堂讨论与练习

提出任务:

该景区现有售票员岗、导游岗、设备维护岗、保安岗、清洁工岗、总经理等6个岗位。景区新招了一批新员工,编写一个程序实现新入职的员工的部门分配,要求根据用户输入的员工姓名和应聘信息确定员工应该分配到哪个岗位。若公司没有与输入的岗位匹配的部门,则进行相关提示。

任务2景点员工入职—条件结构语句3.2条件结构语句Java中有一种特殊的语句叫做选择语句,它也需要对一些条件做出判断,从而决定执行哪一段代码。选择语句分为if条件语句和switch条件语句。任务2景点员工入职—条件结构语句知识准备—if条件语句任务2景点员工入职—条件结构语句If条件语句分为3中语法格式,每一种格式都有其自身的特点,下面分别进行介绍。(1)if语句if语句是指如果满足某种条件,就进行某种处理。例如,小明妈妈跟小明说“如果你考试得了100分,星期天就带你去游乐场玩”。

“如果”相当于Java中的关键字if,“小明考试得了100分”是判断条件,需要用()括起来,“妈妈星期天带小明去游乐场”是执行语句,需要放在{}中。伪代码如下:if(小明考试得了100分){妈妈星期天带小明去游乐场}‌

上述例子描述了if语句的用法,在Java中,if语句的具体语法格式如下:if(条件语句){

代码块}上述格式中,判断条件是一个布尔值,当判断条件为true时,{}中的执行语句才会执行。if语句的执行流程如图所示。

任务2景点员工入职—条件结构语句知识准备—if条件语句知识准备—if…else语句任务2景点员工入职—条件结构语句if…else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。例如,要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则该数字就是一个奇数。if…else语句具体语法格式如下:if(判断条件){

执行语句1}else{

执行语句2}‌

上述格式中,判断条件是一个布尔值。当判断条件为true中时,if后面{}中的执行语句1会执行。当判断条件为false中时,if后面{}中的执行语句2会执行。if语句的执行流程如图所示。下面通过一个案例学习if…else语句具体用法。

任务2景点员工入职—条件结构语句知识准备—if…else语句知识准备—if…else多分支语句任务2景点员工入职—条件结构语句if…else多分支语句用于对多个条件进行判断,进行多种不同的处理。例如,对一个学生的考试成绩进行等级划分,如果分数大于80分,则等级为优;如果分数大于70分,则等级为良;如果分数大于60分,则等级为中;如果分数小于60分,则等级为差。if…else多分支语句格式:if(判断条件1){

执行语句1}elseif(判断条件2){

执行语句2}...elseif(判断条件n){

执行语句n}else{

执行语句n+1}‌

上述格式中,判断条件是一个布尔值。当判断条件1为true时,if后面{}中的执行语句1会执行。当判断条件1为false时,会继续执行判断条件2,如果判断条件2为true时,则执行语句2会执行……,依次类推,如果所有的判断条件都为false,则意味着所有的条件均不满足,else后面{}中执行语句n+1会执行。if…else多分支语句的执行流程如图3-5所示。

任务2景点员工入职—条件结构语句知识准备—if…else多分支语句

switch条件语句也是一种很常用的选择语句,和if条件语句不同,它只能针对某个表达式的值做出判断,从而决定程序执行哪一段代码。如果使用if…else语句实现,则代码太过繁琐,不便于阅读。为此,Java提供了switch语句实现这种需求,switch语句使用switch关键字描述一个表达式,使用case关键字描述和表达式结果比较的目标值,当表达式的值和某个目标值匹配时,就执行对应case下的语句。

任务2景点员工入职—条件结构语句知识准备—switch条件语句

switch(表达式){ case目标值1:

执行语句1 break; case目标值2:

执行语句2 break;

...... case目标值n:

执行语句n break; default:

执行语句n+1 break;}任务分析0102用户输入信息对应分配岗位打印显示商品的信息,并且汇总所有的库存总数。获取用户的姓名及应聘岗位信息打印显示商品的信息,并且汇总所有的库存总数。任务2景点员工入职—条件结构语句03输出员工姓名及岗位信息打印显示商品的信息,并且汇总所有的库存总数。任务实施01步骤1使用两个String数据接收用户输入的内容。02步骤2使用switch条件语句根据语言判断所被分配的岗位任务2景点员工入职—条件结构语句步骤3在switch条件语句中打印新员工姓名加所处的部门。03讨论讨论1:如果case标签中的代码块没有以break语句结束,程序会继续执行哪一段代码?讨论2:switch语句表达式的值是什么类型?巩固练习1.已知inta=10;语句System.out.println((a>0)?a++:--a);的输出结果是_________。2.System.out.println(3+"5");的输出结果是_________。3.System.out.println(3*2+“5");的输出结果是_________。任务2景点员工入职—条件结构语句课堂讨论与练习

提出任务:

该景区设立了游客服务中心,提供充电、休息、饮水、寄存及商品采购等服务,其中开设了一个便利超市,现要求编写一个智能购物程序,以水果类为例,采购橘子、梨、火龙果、苹果和香蕉五种水果商品,用户输入商品序列号进行商品购买,用户输入购买数量后计算出所需要花费的钱,一次购买结束后,需要用户输入“Y”或“N”,“Y”代表继续购买,“N”代表购物结束。任务3景点游客中心服务—循环结构语句3.3循环结构语句在Java中有一种特殊的语句称为循环语句,可以将一段代码重复执行。循环语句分为while循环语句、do...while循环语句和for循环语句3种,本节将对这3种循环语句进行详细讲解。任务3景点游客中心服务—循环结构语句知识准备—while循环语句任务3景点游客中心服务—循环结构语句while循环语句与选择结构语句类似,都是根据判断条件决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。while循环语句的语法结构如下:while(循环条件){执行语句...}‌

在上面的语法结构中,{}中的执行语句被称作循环体,循环体是否执行取决于循环条件。当循环条件为true时,循环体就会执行。循环体执行完毕,程序继续判断循环条件,如果条件仍为true则继续执行循环体,直到循环条件为false时,整个循环过程才会结束。While语句的执行流程如图所示。

任务3景点游客中心服务—循环结构语句知识准备—while循环语句

do...while循环语句和while循环语句功能类似,语法结构如下:do{执行语句...}while(循环条件);在上面的语法结构中,关键字do后面{}中的执行语句是循环体。do...while循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件决定是否继续执行。do...while循环的执行流程3-8所示。

任务3景点游客中心服务—循环结构语句知识准备—do…while循环语句

for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。for循环语句的语法格式如下:for(初始化表达式;循环条件;操作表达式){

执行语句 ...}在上面的语法格式中,for关键字后面()中包括了三部分内容:初始化表达式、循环条件和操作表达式,它们之间用(;)分隔,{}中的执行语句为循环体。

任务3景点游客中心服务—循环结构语句知识准备—for循环语句对自然数1~4求和演示for循环的使用

循环嵌套是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,其中最常见的是在for循环中嵌套for循环。

任务3景点游客中心服务—循环结构语句知识准备—循环嵌套语句任务分析0102用户输入购买商品对应的序列号及购买数量让用户填写购买商品的序列号以及购买的数量,需要使用到Scanner类。定义商品的价格先定义5个商品的价格,double类型,再打印出5种商品的价格。任务3景点游客中心服务—循环结构语句03用户输入购买商品对应的序列号及购买数量循环选择购买的条件语句,使用while嵌套switch语句来实现任务实施01步骤1根据任务分析可知,定义5种商品的单价以及一个String类型的数据“a”与int类型的数据“i”。02步骤2打印各个商品的价格供用户选择。任务3景点游客中心服务—循环结构语句步骤3实现用户多次购买,建议使用while循环语句嵌套switch条件语句。03讨论讨论1:dowhile循环与while循环的区别?讨论2:for循环一般用在循环次数已知还是未知的情况下?巩固练习1.break语句和continue语句中能用来结束本次循环的是_________。2.下列程序段的输出结果是_________。intsum=0;for(int=0;i<10;i+=6){sum+=i;}System.out.println(sum);3.求1~100中所有3的倍数之和。任务3景点游客中心服务—循环结构语句课堂讨论与练习谢谢观看Java程序设计单元四

面向对象(一)

情景导入同学A和同学B在同一家公司的软件研发部门实习,该公司主要业务为生产各种类型的铅笔、尺子以及橡皮擦等学习文具,在公司信息化建设过程中,同学A和同学B被分配到同一个项目组进行订单生产系统的研发,对不同的生产制造设备进行管理。在系统研发的过程中,需要对不同的生产制造设备进行统一管理,既需要对不同设备的统一性(统一性表示不同类型设备具有统一的数量、价格、重量等属性以及统一的制造、测试等生产行为)进行管理,也需要对不同类型设备的差异性(差异性表示不同类型设备存在不同的具体数量、价格、重量,生产行为也因生产不同的产品有差异)进行管理。同学A和同学B需要对公司现有的铅笔生产设备以及生产行为进行信息化管理。1.当前企业的信息化系统开发一般采用什么编程思想?了解面向对象编程思想与特征掌握Java类与对象的定义、创建与使用掌握对象成员的访问控制了解并掌握类的封装、继承和多态掌握构造方法的定义与使用本单元目标及任务初次设计铅笔生产程序—初识面向对象编程

二次优化铅笔生产程序—类的定义与创建对象铅笔生产程序使用权控制—对象成员的访问控制铅笔生产程序的客户化—掌握类的封装特性实现铅笔价格的管控—构造方法的定义和重载本单元思维导图横看成岭侧成峰,远近高低各不同。不识庐山真面目,只缘身在此山中。——《题西林壁》,学习面向对象思想,需要完成某种任务(或者需要实现某种功能)时,要客观和全面考虑让谁去完成(谁去实现),即哪个对象通过什么样的方式去完成什么样的任务(哪个对象怎样去实现)。4.1

面向对象简介面向对象的编程思想是以对象为中心,将组成问题的相关事务构成一个个对象,对象的作用是将现实世界中某个事物以何种行为解决问题映射成为程序语言。通常一个程序中会包含许多对象,对象之间互有联系,相互配合实现功能,当业务变更变动功能时,只需要修改相关联的对象。面向对象的特点主要包含三个特征,分别为:封装、继承和多态。任务1初次设计铅笔生产程序—初识面向对象编程4.1

面向对象简介任务1初次设计铅笔生产程序—初识面向对象编程面向对象编程思想-优点1、运维难度低‌

面向对象的编程方式具有高复用性、易扩展,适合大规模项目。通过封装、继承和多态性,可以设计出低耦合的系统,使系统更加灵活、易于维护‌。‌2、抽象能力强‌

面向对象编程可以很好地映射真实世界的事物和概念,通过抽象将问题领域中的实体转化为类和对象,从而更好地理解和处理问题‌。‌3、代码复用性高‌

面向对象编程中的类和对象可以被多次调用和重复使用,减少代码冗余,提高开发效率‌。4.1面向对象简介任务1初次设计铅笔生产程序—初识面向对象编程‌面向对象编程思想-缺点‌1、学习难度较高

面向对象编程的理解和掌握难度对于初学者较大,需要耗费更多的精力来学习‌。‌2、相比较而言执行效率略低‌

由于面向对象编程需要实例化对象,内存开销较大,相对面向过程编程执行效率略低。‌4.1面向对象简介面向过程的编程思想是以过程为中心,以事件流程为出发点,将问题进行分析,将整个问题的解决过程分解成一系列步骤,用方法实现每个步骤,问题的解决过程即一系列方法的调用过程。

任务1初次设计铅笔生产程序—初识面向对象编程4.1面向对象简介任务1初次设计铅笔生产程序—初识面向对象编程面向过程编程思想-优点1、相比较而言执行效率高‌

面向过程的编程方式流程化具体步骤清楚,便于节点分析,且没有额外的封装和继承的开销,因此在需要高性能的场景下表现优异,如单片机、嵌入式开发、Linux/Unix等。‌2、简单易理解‌

面向过程的编程方式步骤清晰,易于理解,适合小规模项目‌。对于较大规模和大规模的工程可能会变得非常困难‌。4.1面向对象简介任务1初次设计铅笔生产程序—初识面向对象编程‌面向过程编程思想-缺点1、代码复用性低‌

面向过程的编程方式代码重用性较低,每个步骤都需要仔细分析和设计,扩展能力差,后期维护难度较大‌。2、‌运维难度较大大‌

随着项目的复杂性增加,维护一个大规模的面向过程程序可能会非常困难‌。4.1面向对象简介任务1初次设计铅笔生产程序—初识面向对象编程01封装封装是面向对象的核心思想,也就是把客观事物封装成抽象的类,类中包含对象的属性和行为,可自行设置属性和行为是否对外可见或隐藏。02继承继承主要描述的是类与类之间的关系,通过继承可以在不改变原有类的情况下,对原有类进行扩展。继承的过程即从一般到特殊的过程。03多态多态是指父类中定义的属性和方法被其他子类继承后。它们可以表现为子类的数据类型或行为,这使得同一个属性和方法在不同的子类中具有不同的语义。往往多态存在的三个必要条件分别为继承、重写、父类引用指向子类对象。任务1初次设计铅笔生产程序—初识面向对象编程讨论讨论1:面向对象编程如何降低运维成本的?讨论2:思考面向过程的使用场景有哪些?巩固练习1.面向对象的三个基本特征是_________、_________、_________。2.简述什么是面向对象。4.1面向对象简介4.2

类的定义与创建对象

在面向对象中,为了做到让程序对现实事务的描述与现实保持一致,面向对象思想中提出了类和对象两个概念。类和对象是Java程序中最重要的基本单元,其中类表示某类群体的普遍性的抽象,对象表示具体的事物。任务2二次优化铅笔生产程序—类的定义与创建对象对象属性行为类:对这些具有共同特征的对象的概括、归纳和抽象表达。4.2

类的定义与创建对象

例如人类可以表示一个类,而具体的个人,如小明、小李等则可称之为对象。现实生活中,人类都具有姓名、年龄、身高、体重等信息,也具有工作、学习等行为。这些信息在面向对象的概念中称为属性,行为在类中称为方法。而小明、小李等具体的个人则是人类中的对象。任务2二次优化铅笔生产程序—类的定义与创建对象类对象对象对象4.2

类的定义与创建对象

类的定义:类为模板,根据模板创建的实例则是对象,一个类对应多个对象。类中可以定义成员变量和成员方法,类的定义格式如下:class类名{属性; 方法(){};}任务2二次优化铅笔生产程序—类的定义与创建对象4.2

类的定义与创建对象

对象的创建与使用:类是事物的抽象,通过创建类的对象才能使用类,创建对象的具体格式如下(new为创建对象的关键字):类名

对象名称=new类名();任务2二次优化铅笔生产程序—类的定义与创建对象4.2

类的定义与创建对象

示例:在右面的示例中我们定义了RedArmy类,并且声明了num属性、attackEnemy()和reload()两个方法,并且在main()方法中创建了redArmy对象。任务2二次优化铅笔生产程序—类的定义与创建对象4.2

类的定义与创建对象

每种编程语言都有自己的操纵内存中元素的方式,是直接操纵元素还是用某种基于特殊语法的间接表示(例如C和C++里的指针)来操纵对象?下面通过图示对JAVA对象的引用传递进行说明。任务2二次优化铅笔生产程序—类的定义与创建对象1234.2

类的定义与创建对象任务2二次优化铅笔生产程序—类的定义与创建对象讨论讨论1:创建两个对象,如何修改一个对象时另一个对象同步修改?讨论2:对象变量和基本数据类型变量的存放空间是否相同?巩固练习1.在Java中,使用关键字_________来定义一个类。2.创建一个类的实例(对象)时,我们使用关键字_________后面跟上类名,并可能包含参数列表。3、简述Java中类的定义和对象创建的过程。4.3

对象成员的访问控制

在项目实施过程中,随着项目复杂度增加,为了保证项目进度的正常推进,复杂功能模块需要项目组成员之间合作开发,每个开发成员希望自己定义的部分类中的属性和方法只服务于当前类的属性或方法,而不希望被其他成员调用服务于其他类,这违背了设计的初衷。因此针对代码实现过程中类、属性、方法的访问权限控制,Java提供了4种访问控制权限,分别是private、default、protected和public。任务3铅笔生产程序使用权控制—对象成员的访问控制4.3

对象成员的访问控制(1)private:private属于私有访问权限,用于修饰类的属性和方法。如果使用private关键字修饰进行修饰,则该属性或方法只能在本类中进行访问。任务3铅笔生产程序使用权控制—对象成员的访问控制publicclassPencil{ privateStringcolor;}4.3

对象成员的访问控制(2)default:default属于默认访问权限。如果一个类中的属性或方法没有使用任何访问权限修饰符修饰,则该属性或方法就是默认的访问权限,默认的访问权限可以被本包中的其他类访问,但是不能被其他包的类访问。任务3铅笔生产程序使用权控制—对象成员的访问控制publicclassPencil{ privateStringcolor;Stringtype;}4.3

对象成员的访问控制(3)protected:protected属于受保护的访问权限。一个类中的成员使用了protected访问权限,则只能被本包及不同包的子类访问。任务3铅笔生产程序使用权控制—对象成员的访问控制publicclassPencil{ privateStringcolor;Stringtype;protectedDoubleprice;}4.3

对象成员的访问控制(4)public:public属于公共访问权限。如果一个类中的成员使用了public访问权限,则该成员可以在所有类中被访问,不管是否在同一包中。任务3铅笔生产程序使用权控制—对象成员的访问控制publicclassPencil{ privateStringcolor;Stringtyp

温馨提示

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

最新文档

评论

0/150

提交评论