整套课件-Android应用程序开发初级教程_第1页
整套课件-Android应用程序开发初级教程_第2页
整套课件-Android应用程序开发初级教程_第3页
整套课件-Android应用程序开发初级教程_第4页
整套课件-Android应用程序开发初级教程_第5页
已阅读5页,还剩272页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 Android系统概述小节安排Android系统概述1.1、基础知识 1.2、Android系统 1.1 基础知识 智能手机系统简介 智能手机(Smartphone ),是指像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、 游戏等第三方服务商提供的程序,通过此类程序对手机的功能进行扩充,并可以通过移动通信网络实现无线网络接入的手机的总称。 智能手机就是安装了某个操作系统的手机,能够安装在手机上的操作系统有:Android, iOS, Windows Mobile, Symbian, BlackBerry, Palm等。 常见的智能手机操作系统android(谷歌) ios(

2、苹果) wp(微软)黑莓(rim) bada(三星)oms(移动)41.1 基础知识-手机操作系统介绍AndroidAndroid是Google开发的基于Linux平台的开源手机操作系统。涵盖移动信息设备工作所需的全部软件,包括操作系统用户界面应用程序正在逐渐成为目前移动信息设备应用程序开发的最主要的平台,而且必将成为今后移动信息设备应用程序开发的主流工具。 1.1 基础知识-手机操作系统介绍SymbianSymbian是一家软件公司,研发与授权Symbian操作系统。Symbian将代表全球行业标准的Symbian OS操作系统,授权给全球手机领导厂商使用,包括摩托罗拉、诺基亚、三星、西门子

3、与索尼爱立信。 通过Symbian OS C+ SDK构建应用。 Symbian OS C+ SDK包含:工具应用程序接口类库和文档1.1 基础知识-手机操作系统介绍iPhoneiPhone由苹果公司的Mac OS X发展而成,包含以下功能:网络桌面级的电子邮件网页浏览及地图搜索等功能全新的用户界面采用Object-c做为开发语言,其中Object-c的内核是C语言的,并基于C语言实现了一些面向对象的特性。 1.1 基础知识-手机操作系统介绍BlackBerryBlackBerry (黑莓)是RIM公司的手提无线通信设备品牌。其特色是支援推动式电子邮件、移动电话、文字短信、互联网传真、网页浏览

4、及其他无线资讯服务。BlackBerry开发平台分为三部分,分别是:黑莓浏览器开发快速程序开发Java程序开发9智能系统对比及Android的优势 目前主要的智能操作系统还有Windows Mobile、Symbian、Mac OS X(苹果 iPhone)等。以下为各主要智能系统的主要使用厂商及主要特点对比:操作系统主要使用厂商主要特点Windows Mobile (微软)三星、多普达、 LG 界面和电脑类似,消费者容易接受、可供下载的内容少,不易个性化 Symbian (塞班) 诺基亚、三星、索爱 发展时间长,成熟度高,累计软件众多,扩展性差,不适应硬件快速发展 MAC OS (苹果) 苹

5、果 操作界面华丽,各版本兼容性好,品牌魅力强大,软件收费昂贵Android(安卓) 摩托罗拉、HTC、三星、LG 发展速度快,免费软件多,界面个性化程度高,整体保有量上升迅速,有快速形成消费者使用习惯的趋势小节安排Android系统概述1.1、基础知识 1.2、Android系统 Android历史The origin of “android” Android最先出现在法国作家利尔亚当在1886年发表的科幻小说未来夏娃中,作者将外表像人类的机器起名为Android,这也就是Android小人名字的由来。Android系统来历 Android系统一开始并不是由谷歌研发出来了,Android系统原

6、来的公司名字就叫做Android,谷歌公司在2005收购了这个仅成立22月的高科技企业。Android历史12Android 用甜点作为它们系统版本的代号的命名,从Andoird 1.5 发布开始,作为每个版本代表的甜点的尺寸越变越大,并按照26个字母数序:纸杯蛋糕(Cupcake 1.5),甜甜圈(Donut 1.6),松饼(clair 2.0/2.1),冻酸奶(Froyo 2.2),姜饼(Gingerbread 2.3),蜂巢(Honeycomb 3.0)冰激凌三明治(Ice Cream Sandwich 4.0) 果冻豆(Jelly Bean 4.1)最新一代android系统也命名为果

7、冻豆(Jelly Bean 4.2)下面就带大家了解下Android系统的发展历史 13Android1.1 Robot(机器人)Android 1.5 Cupcake(纸杯蛋糕) Android 1.6Donut(甜甜圈)Android2.0/2.0.1/2.1Eclair(松饼) Android 2.2/2.2.1Froyo(冻酸奶)Android 2.3Gingerbread(姜饼)Android 3.0Honeycomb(蜂巢)Android 4.0 Ice Cream Sandwich(冰激凌三明治) Android 4.1 Jelly Bean(果冻豆)Android 4.2 Je

8、lly Bean(果冻豆)Android历史Android 优势Android 优势系统的开放性和免费性Android操作系统免费向开发人员提供 Android采用WebKit浏览器引擎,比iPhone等其他手机更强调搜索功能,界面更强大。 相关厂商的大力支持从组建开放手机联盟开始,Google一直向服务提供商、芯片厂商和手机销售商提供Android平台的技术支持。Android项目目前正在从手机运营商、手机制造厂商、开发者和消费者那里获得大力支持。2013 Q1 智能手机操作系统市场份额1516Android 面临的挑战Android 面临的挑战Android系统在技术上仍有许多需要完善的地

9、方不支持桌面同步功能自身系统的一些bugAndroid由开放手机联盟去开发、维护、完善。是否会重蹈当年Linux和Windows之争的覆辙?与Windows Mobile、iPhone、Blackberry都会与Android的竞争。结束Thank you!第二章 Android开发基础小节安排AndroId开发基础2.1、Android技术简介 2.3、编写第一个Android应用程序 2.2、开发环境的搭建 2.4、剖析Android应用程序 2.3、编写第一个Android应用程序 2.2、开发环境的搭建 系统架构1.应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包

10、包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写。2.应用程序框架 开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。3.系统运行库 Android 包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。4. Linux 内核 Android 的核心

11、系统服务依赖于Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。Linux 内核也同时作为硬件和软件栈之间的抽象层。系统架构系统架构小节安排AndroId开发基础2.1、Android技术简介 2.3、编写第一个Android应用程序 2.2、开发环境的搭建 2.4、剖析Android应用程序 2.3、编写第一个Android应用程序 2.2、开发环境的搭建 开发环境的搭建 JDK(Java Development Kit)EclipseADT(AndroidDevelopmentToolkit)Android SDK24* Android开发软硬件要求安装JDK

12、和配置Java开发环境Android应用程序使是用Java语言编写,需要Java运行环境JRE(Java Runtime Environment,JRE)。但若需要进行一步完成Java应用程序开发的话,则应直接安装JDK。而JDK中包含了JRE。下载最新版JDK打开浏览器,在地址栏中输入: /index.html 进入Oracle的官方主页*安装JDK*Java开发环境的配置*Eclipse的安装Eclipse的下载页面:/downloads*Eclipse安装*Android SDK和ADT插件的安装和配置Android SDK安装*Android SDK的安装过程*Android SDK配

13、置*安装和配置ADT 在Eclipse和Android SDK正确安装后,就可以来安装和配置ADT插件了。ADT的安装分为在线安装和手动安装两种方式。在线安装步骤启动Eclipse,点击“help”菜单,选择“Install New Software”*离线安装步骤访问/tools/sdk/eclipse-adt.html获取当前最新版本的ADT Eclipse离线安装包在Eclipse中,点击“help”菜单,选择“Install New Software”*ADT的配置:设置Android SDK的安装路径*小节安排AndroId开发基础2.1、Android技术简介 2.3、编写第一个A

14、ndroid应用程序 2.2、开发环境的搭建 2.4、剖析Android应用程序 2.3、编写第一个Android应用程序 2.2、开发环境的搭建 Android项目创建和运行 在这里介绍一个最简单的实例项目Hello world的创建和运行过程。使大家能够在安装完成Android开发环境后能够对Android应用程序开发的整个过程有所了解,并能亲自动手创建和管理自己的应用项目。*创建Android项目1)打开Eclipse开发工具,新建一个项目创建Android项目2)点击“Next”按钮,输入新建项目参数创建Android项目3)单击“Next”按钮,设置Activity的名字和Custo

15、m Launcher Icon*模拟器创建和Android项目运行Google公司从Android 1.5开始引入了Android虚拟设备(Android Virtual Device,AVD)的概念,它是一个经过配置的模拟器。AVD是对Android模拟器进行自定义的配置清单,创建AVD时可以配置的选项包括:模拟器外观、支持的Android版本、触摸屏、轨迹球、摄像头、屏幕分辨率、键盘、GSM、GPS、Audio录放、SD卡支持、缓存区大小等等。*1)在Eclipse中选择“Windows”“Android Visual Device Manager”模拟器创建和Android项目运行*2)

16、点击左边的“Virtual Devices”选项,再点击右边的“New.”按钮模拟器创建和Android项目运行*运行我们第一个Android项目配置项目运行的AVD。操作步骤如下:点击“Run”,选择“Run Configurations”菜单命令,打开“Run Configurations”对话框*运行我们第一个Android项目在打开的“Run Configurations”对话框左边的导航器中选择的“Android Application”选项,创建一个Android项目运行配置。*运行我们第一个Android项目点击“Target”选项卡,选择“Automatically”单选框,在

17、AVD列表框中选择我们刚才创建的AVD“abc”*小节安排AndroId开发基础2.1、Android技术简介 2.3、编写第一个Android应用程序 2.2、开发环境的搭建 2.4、剖析Android应用程序 2.3、编写第一个Android应用程序 2.2、开发环境的搭建 *剖析Android应用程序 Android项目工作区概览*第部分:表示专门存放我们编写的 java 源代码的包;第部分:代表系统资源ID,类似于C语言的*.h文件,该目录不用开发人员维护,但又非 常重要的目录。该目录用来存放由 Android 开发工具所生成的目录。该目录下的所有文件都不是我们创建的,而是由 ADT

18、自动生成的,请千万不要手工修改R.java文件;第部分:Android4.2表示当前SDK是4.2,是目前最新版本;第部分:表示资源文件,其中layout布局你可以认为就是界面第部分:每一个Android项目都包含一个清单(Manifest)文件-AndroidManifest.xml,它存储在项目层次中的最底层,该文件是功能清单文件,该文件列出了应用中所使用的所有组件,如“activity”,以及广播接收者、服务等组件,清单可以定义应用程序及其组件的结构和元数据。Android项目的组成1、src文件夹 该文件夹是放项目源代码的,单击前面的“+”,可逐层展开它,里面有个MainActivit

19、y.java文件,是Activity程序,类似于java中的主类。可以理解为它是一个UI的容器,直接跟用户打交道的类。Android项目的组成2、gen文件夹 该文件夹中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件,这个文件由Android开发工具自动生成。Android开发工具会根据你放入res目录的xml界面文件、图标以及常量,自动同步更新修改R.java文件。这个文件是只读文件,一般不要修改它。Android项目的组成3、Android 4.2.2 表示现在使用的Android SDK的版本是4.2.2。4、assets 包含应用系统需要使用到的资源

20、文件,诸如mp3、视频等较大的文件。注意它不会在R.java中自动生成ID。Android项目的组成5、res文件夹 资源目录,包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时,会被R.java自动记录。新建一个项目res目录下会有三个自动生成的子目录:drawabel、layout、values。 Android项目的组成1)drawabel-?dpi:包含一些你的应用程序用到图标文件(*.png、*.jpg),hdpi表示存放大约240dpi的高分辨率的图片资料,ldpi表示存放大约120dpi的低分辨率图片资料,mdpi表示存放大约160dpi的中等分辨率的图片资料,xhdp

21、i表示存放大约320dpi的超高分辨率的图片资料。2)menu目录:主要放置设计的OptionsMenu和ContextMneu的菜单项。3)layout:存放界面布局文件(activity_main.xml),界面布局文件主要用于摆放不同的显示组件。在MainActivity.java中通过 setContentView(R.layout.activity_main)语句来调用布局文件activity_main.xml。 Android项目的组成6、AndroidManifest.xml 每个应用程序都有一个AndroidManifest.xml在它的根目录里。这个文件提供了关于这个应用程序

22、的基本信息,记录应用中所使用的各种组件。系统在运行之前必须知道这些信息。今后要开发Activity、Broadcast、Service都要在AndroidManifest.xml中进行定义。另外如果要使用系统自带的服务如拨号服务、应用安装服务、GPRS服务等都必须在AndroidManifest.xml中声明权限。当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。* Android项目分析1、布局文件(reslayoutactivity_main.xml)双击“reslayoutactivity_main.xml”打开布局文件。注意

23、代表布局文件图形界面;代表布局文件代码界面。* Android项目分析2、strings文本资源文件(resvaluesstrings.xml)双击“resvaluesstrings.xml”打开文本资源文件。与布局文件一样:代表文本资源图形界面;代表文本资源代码界面。 * Android项目分析3、R.java文件(gen/com.genwoxue.hello/R.java)双击“gen/com.genwoxue.hello/R.java”打开资源ID文件。* Android项目分析4、AndroidManifest.xml文件* Android项目分析5、MainActivity.java

24、(src/com.genwoxue.hello/MainActivity.java) 双击“src/com.genwoxue.hello/MainActivity.java”程序文件。Android模拟器启动和运行效果*结束Thank you!第三章 Java程序设计基础小节安排Java程序设计基础 3.1、Java产生的历史与现状2.2、开发环境的搭建 3.2、 Java的特点 3.5、面向对象程序设计 3.3、Java的工作原理 3.5、面向对象程序设计 3.5、面向对象程序设计 3.6、面向对象应用综合开发实例 3.5、面向对象程序设计 3.4、 Java基础语法 3.2、 Java的特

25、点 Java语言的发展史JAVA起源:1982年Sun Microsystems诞生于美国斯坦福大学校园1990年一切从James Gosling准备离职开始JAVA之父 James Gosling绿色小组诞生Java语言的发展史JAVA起源(二):绿色小组的研究方向和Oak语言的产生JAVA名称的由来Java语言的发展史JAVA起源(三):绿色小组辛勤工作,但努力并未得到回报1995年初,”硅谷-好莱坞”互联网及娱乐业的研讨会上,JAVA成为了明星2000-2001年Sun最兴盛时,股票峰值曾达258.75美元/股,公司估价超过2000亿美金Java的现状 *Java是Sun公司推出的新的一

26、代面向对象程序设计语言,特别适合于Internet应用程序开发,它的平台无关性直接威胁到Wintel的垄断地位。 Sun在JAVA“白皮书”中指出: JAVA是一种“简单、面向对象、分布式、解释型、健壮、安全、体系结构中立、可移植、高性能和动态”的编程语言Bill Gates说,Java是最卓越的程序设计语言 Java的现状 *1.计算机产业的许多大公司购买了Java的许可证,包括IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情愿的Microsoft。这一点说明,Java已得到了工业界的认可。2.众多的软件开发商开始支持Ja

27、va的软件产品。例如:Borland公司正在开发的基于Java的快速应用程序开发环境Latte,预计产品会在1996年中期发布。Borland公司的这一举措,推动了Java进入PC机软件市场。Sun公司自己的Java开发环境JavaWorkshop已经发布。数据库厂商如:Illustra,Sysbase,Versant,Oracle都在开发CGI接口,支持HTML和Java。今天是以网络为中心的计算时代,不支持HTML和Java,应用程序的应用范围只能限于同质的环境(相同的硬件平台)。Java的现状 *3. Intranet正在成为企业信息系统最佳的解决方案,而其中Java将发挥不可替代的作用

28、。Intranet的目的是把Internet用于企业内部的信息系统,它的优点表现在:便宜,易于使用和管理。用户不管使用何种类型的机器和操作系统,界面是统一的Intrnet浏览器,而数据库、Web页面、应用程序(用Java编的Applet)则存在WWW服务器上,无论是开发人员,还是管理人员,或是用户都可以受益于该解决方案。Java语言正在不断发展和完善,Sun公司是主要的发展推动者,较通用的编译环境有JDK(JavaDevelopKit)与JWS(JavaWorkshop)。还有很多其他公司正在开发Java语言的编译器与集成环境,预计不久Java语言的正确性与效率都将会提高,用户用Java编程和

29、现在用C+编程一样方便。小节安排Java程序设计基础 3.1、Java产生的历史与现状2.2、开发环境的搭建 3.2、 Java的特点 3.5、面向对象程序设计 3.3、Java的工作原理 3.5、面向对象程序设计 3.5、面向对象程序设计 3.6、面向对象应用综合开发实例 3.5、面向对象程序设计 3.4、 Java基础语法 3.2、 Java的特点 Java的特点*Java是一种纯面向对象的网络编程语言,它具有如下特点:1)简单、安全可靠Java是一种强类型的语言,由于它最初设计的目的是应用于电子类消费产品,因此就要求既要简单又要可靠。Java的结构类似于C和C+,它汲取了C和C+优秀的部

30、分,弃除了许多C和C+中比较繁杂和不太可靠的部分,它略去了运算符重载、多重继承等较为复杂的部分;它不支持指针,杜绝了内存的非法访问。它所具有的自动内存管理机制也大大简化了程序的设计与开发。Java主要用于网络应用程序的开发,网络安全必须保证,Java通过自身的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。Java的特点*2)面向对象Java是一种完全面向对象的语言,它提供了简单的类机制以及动态的接口模型,支持封装、多态性和继承(只支持单一继承)。面向对象的程序设计是一种以数据(对象)及其接口为中心的程序设计技术。也可以说是一种定义程序模块如何“即插即用”的机制。面向对象的概念其实

31、来自于现实世界,在现实世界中,任一实体都可以看作是一个对象,而任一实体又归属于某类事物,因此任何一个对象都是某一类事物的一个实例。在Java中,对象封装了它的状态变量和方法(函数),实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或者重新定义父类或者超类所提供的方法,从而实现了代码的复用。Java的特点*3)分布式计算Java为程序开发者提供了有关网络应用处理功能的类库包,程序开发者可以使用它非常方便地实现基于TCP/IP的网络分布式应用系统。Java的特点*4)平台的无关性Java是一种跨平台的网络编程语言,是一种解释执行的语言。Java源程序被Java编

32、译器编译成字节码(Byte-code)文件,Java字节码是一种“结构中立性”(architecture neutral)的目标文件格式,Java虚拟机(JVM)和任何Java-使能的Internet浏览器都可执行这些字节码文件。在任何不同的计算机上,只要具有Java虚拟机或Java使能的Internet浏览器即可运行Java的字节码文件,不需重新编译(当然,其版本向上兼容)。实现了程序员梦寐以求的“一次编程、到处运行”(write once,run every where!)的梦想。Java的特点*5) 多线程Java的多线程(multithreading)机制使程序可以并行运行。线程是操作

33、系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。Java的同步机制保证了对共享数据的正确操作。多线程使程序设计者可以在一个程序中用不同的线程分别实现各种不同的行为,从而带来更高的效率和更好的实时控制性能。Java的特点*6) 动态的一个Java程序中可以包含其他人写的多个模块,这些模块可能会遇到一些变化,由于Java在运行时才把它们连接起来,这就避免了因模块代码变化而引发的错误。 Java的特点*7) 可扩充的Java发布的J2EE标准是一个技术规范框架,它规划了一个利用现有和未来各种Java技术整合解决企业应用的远景蓝图。正如SUN MicroSystems所述:J

34、ava是简单的、面向对象的、分布式的、解释的、有活力的、安全的、结构中立的、可移动的、高性能的、多线程和动态的语言。Java特点某种意义上来说,Java不仅是编程语言,还是一个开发平台。Java技术给程序员提供了许多工具编译器、解释器、文档生成器和文件打包工具等同时Java还是一个程序发布平台。两种主要的“发布环境”首先是Java运行时环境(java runtime environment,简称JRE)包含了完整的类文件包;其次,许多主要的浏览器都提供了Java解释器和运行时环境。Java特点(三个平台架构)J2SE(Java 2 Standard Edition):标准版主要目的是为台式机和

35、工作站提供一个开发和运行的平台。包括标准的Java 2 SDK、工具、运行时环境和API,适用于Java程序设计语言编写、部署和运行Applet和应用程序的开发人员,是桌面开发和低端商务应用的解决方案。J2EE(Java 2 Enterprise Edition):企业版主要目的是为企业计算提供一个应用服务器的运行和开发平台。J2EE本身是一个开放的标准,任何软件厂商都可以推出自己的符合J2EE标准的产品,通过基于标准化模块组件和一整套的相关服务能够自动处理应用程序行为的许多细节,从而大大简化了多层企业应用程序的构造和部署。IBM、Oracle、BEA、HP等29家已经推出了自己的产品,其中尤

36、以BEA公司的WebLogic产品和IBM公司的WebSphare最为著名。Java特点(三个平台架构)J2ME(Java 2 Micro Edition):小型版主要是面向消费类电子产品,为消费类电子产品提供一个Java的运行平台,使得Java程序能够在手机、机顶盒、PDA等产品上运行包含高度优化的Java运行时环境,致力于电子消费产品和嵌入式设备的解决方案。Java特点(三个平台架构)Java平台架构J2MEJ2EEJ2SE几个Java技术术语Java虚拟机(JVM)用软件仿真计算机硬件JAVA运行系统是对JVM的具体实现,其作用是完成类的装载、代码验证和代码的解释执行;Java应用程序编

37、程接口(API)Sun提供的各种常用类和接口(事先写好的代码),可供Java程序员直接使用,以减少编程的工作量和难度。类似微软的基础类库MFC。Java开发工具包(JDK)Sun提供的java开发工具包,包含类库、编译运行工具等87小节安排Java程序设计基础 3.1、Java产生的历史与现状2.2、开发环境的搭建 3.2、 Java的特点 3.5、面向对象程序设计 3.3、Java的工作原理 3.5、面向对象程序设计 3.5、面向对象程序设计 3.6、面向对象应用综合开发实例 3.5、面向对象程序设计 3.4、 Java基础语法 3.2、 Java的特点 Java虚拟机 Java虚拟机其实是

38、软件模拟的计算机,它可以在任何处理器上(无论是在计算机中还是在其它电子设备中)解释并执行字Java的字节码文件。Java的字节码被称为Java虚拟机的机器码,它被保存在扩展名为.class的文件中。Java的工作原理 Java的工作原理 一个Java程序的编译和执行过程如图3-1所示。首先Java源程序需要通过Java编译器编译成扩展名为.class的字节码文件,然后由Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码并执行。小节安排Java程序设计基础 3.1、Java产生的历史与现状2.2、开发环境的搭建 3.2、 Java的特点 3.5、面向对象程序设计 3.3、Jav

39、a的工作原理 3.5、面向对象程序设计 3.5、面向对象程序设计 3.6、面向对象应用综合开发实例 3.5、面向对象程序设计 3.4、 Java基础语法 3.2、 Java的特点 Java输入和输出方式 Java基础语法字符界面下的输入输出方法 1. 输入方法格式: System.in.read();功能:该方法的功能是从键盘上接受一个字符,按照byte类型的数据处理。若将它转换为字符型,它就是字符本身;若转换为整型,它是扩展字符的ASCII码值(0255)。2. 输出方法格式1: System.out.print(表达式);格式2: System.out.println(表达式);功能:在屏

40、幕上输出表达式的值。这两个方法都是最常用的方法,两个方法之间的差别是,格式1输出表达式的值后不换行,格式2在输出表达式的值后换行。标识符和关键字 Java基础语法用户标识符是程序员对程序中的各个元素加以命名时使用的命名记号。在Java语言中,标识符是以字母、下划线(”_”)或美元符(”$”)开始,后面可以跟字母、下划线、美元符和数字的一个字符序列。例如:userName,User_Name,_sys_val,Name,name,$change 等为合法的标识符。而:3mail,room#,#class 为非法的标识符。注意:标识符中的字符是区分大小写。例如,Name和name被认为是两个不同的

41、标识符。问题: 是/不是 标识符?myVariable 9pinsMYVARIABLE i a+ctesting1-2-3_myvariablejava¨My Variable$myvariable _9pins Its标识符的习惯命名能表达明确意义的英文单词命名,并采用规范的单词缩写形式与单词分隔形式。表示常量时标识符全部用大写字母和下划线表示,如PI,SALES_TAX。表示类名或接口名时,标识符用大写字母开头,如CreditCard。表示变量名和方法名,以小写字母开头,单词之间不要有分隔符,第二及后面单词第一个字符用大写字母,如authorName。Java关键字具有特殊含义的字符

42、序列例如: public、 static和class 具有特殊用途,不能作为变量名、方法名和类名数据类型基本数据类型类型内容默认值内存空间取值范围booleantrue/falsefalse8位true或falsecharUnicodeu000016位u0000-uFFFFbyte整数08位-128+127short整数016位-32768+32767int整数032位-2147483648+2147483647long整数0L64位-9223372036854775808 +9223372036854775807float浮点0.0f32位3.40282347E+381.40239846E-

43、45double浮点0.0d64位1.79769313486231570E+308 4.94065645841246544E-324变量和常量所谓常量就是在程序运行过程中保持不变的量即不能被程序改变的量,也把它称为最终量。常量可分为标识常量和直接常量(字面常量):1) 标识常量标识常量使用一个标识符来替代一个常数值,其定义的一般格式为:final 数据类型 常量名=value,常量名=value ;其中final 是保留字,说明后边定义的是常量即最终量; 数据类型 是常量的数据类型,它可以是基本数据类型之一;常量名 是标识符,它表示常数值value,在程序中凡是用到value值的地方均可用常量

44、名标识符替代。例如: final double PI=3.1415926; /定义了标识常量PI,其值为3.1415926注意:在程序中,为了区分常量标识符和变量标识符,常量标识符一般全部使用大写书写。2)直接常量(字面常量)直接常量就是直接出现在程序语句中的常量值,例如上边的3.1415926。直接常量也有数据类型,系统根据字面量识别,例如:21,45,789,1254,-254 表示整型量;12L,123l, -145321L 尾部加大写字母L或小写字母l表示该量是长整型量;456.12,-2546,987.235 表示双精度浮点型量;4567.2145F,54678.2f 尾部加大写字母

45、F或小写字母f表示单精度浮点型量。 Java常量Java常量包括基本数据类型常量、字符串(String)常量和null 布尔(boolean)常量只有两个:true 和 falsec, u0061, u0051 和 u005a 是char常量.34是int常量1.5, 45.6, 76.4E8和-32.0是double常量34L是long常量. 1.5F, 45.6f, 76.4E8F和-32.0F是float常量“Hello World!”是String常量null是引用数据类型的常量任意引用数据类型的常量(null)变量和常量2变量变量是程序中的基本存储单元,在程序的运行过程中可以随时改变

46、其存储单元的值。1) 变量的定义变量的一般定义如下:数据类型 变量名=value , 变量名=value ;其中:数据类型 表示后边定义变量的数据类型;变量名 变量名,是一个标识符,应遵循标识符的命名规则。可以在说明变量的同时为变量赋初值。例如:int n1=456,n2=687;float f1=3654.4f,f2=1.325fdouble d1=2145.2; 变量的四个要素变量名:程序通过变量名访问变量的值。变量类型:变量类型由程序员显式地声明,类型决定了变量对应存储区域的大小以及如何解释存储在其中的二进制串。存储单元:一个变量与内存中某一区域相关联,存储单元即指该区域的起始地址。值:

47、变量对应的内存区域中存放的数据即为变量的值。在程序运行的不同时刻,变量的值可能不同。名字类型值存储单元变量在内存中的存储方式int ID = 42889;String s = “Hello World!”;42889IDE3FA08C1S栈Hello World!”;String堆Java变量必须属于某种类型变量值也必须与变量类型相匹配例如:int studentNumber; / 声明单个变量double velocity, distance; / 声明多个变量studentNumber=30;/ 给变量赋以整数30int studentNumber=30;/ 声明变量,并赋初值Java运算

48、符和表达式 运算符和表达式是构成程序语句的要素,必须切实掌握灵活运用,Java提供了多种运算符,分别用于不同运算处理。表达式是由操作数(变量或常量)和运算符按一定的语法形式组成的符号序列,一个常量或一个变量名是最简单的表达式。表达式是可以计算值的运算式,一个表达式有确定类型的值。Java运算符和表达式 运算符和表达式是构成程序语句的要素,必须切实掌握灵活运用,Java提供了多种运算符,分别用于不同运算处理。表达式是由操作数(变量或常量)和运算符按一定的语法形式组成的符号序列,一个常量或一个变量名是最简单的表达式。表达式是可以计算值的运算式,一个表达式有确定类型的值。1、算术运算符算术运算符包括

49、:+, -, *, /, +, -, %没有指数运算Math.pow(2.0, 3.0); / 2.03.0整数除法:截去余数7 / 5 结果为 1取模:返回余数7 % 5 结果为 21、算术运算符public class IncrementDecrement public static void main(String args) int i = 0; System.out.println(i+);System.out.println(+i); System.out.println(i-);System.out.println(-i);1、算术运算符public class Incremen

50、tDecrement2 public static void main(String args) int i = 0; i+; System.out.println(i); +i; System.out.println(i); i-; System.out.println(i); -i; System.out.println(i);2、关系运算符六个关系运算符: 、=、= 和 !=例如:1 2; / false3.5 != 1; / true 51.5 = 23.0; / true540 = 654; / true24 = 3*8; / trueboolean isEqual=(10 10);

51、 / isEqual= false;关系运算符的注意事项、=只能用来比较两个数值类型数据的大小不能用于String、boolean、array或其他类型若有两个变量x与y要比较是否相等,应该是写成x = y,而不是写成x = y,后者的作用是将y的值指定给x,而不是比较x与y是否相等。对于对象来说,两个对象参考之间使用=作比较时,是比较其名称是否参考至同一对象,而不是比较其内容。 关系运算符的注意事项String str1=new String(“welcome”); /创建一个对象,初始化String str2=new String(“welcome”); /创建一个对象,初始化String

52、 str3=str1; /创建一个对象,并利用对象str1的地址赋值str1=str2 /falsestr1=str3 /true3、布尔逻辑运算符六个布尔逻辑运算符: & (逻辑与, AND) | (逻辑或, OR) (逻辑异或, XOR ) !(逻辑非, NOT) & (短路与, AND) | (短路或, OR)3、布尔逻辑运算符(短路示例)例如,下面的程序语句说明了短路逻辑运算符的优点,用它来防止被0除的错误: if (denom != 0 & num / denom 10) 例如,考虑下面的语句: if(c=1 &e+ 、和 带符号右移不带符号右移移位操作是:先将整数写成二进制形式,然

53、后按位操作,最后产生一个新的数P37实例注意: 只用于整数5、赋值类运算符赋值类运算符包括:=、+=、-=、*=、/=、&=、|=、%=、=和=op1=op1 二元运算符 op2;等价于 op1二元运算符= op2;例如:a=a+b;等价于a+=b;5、赋值类运算符赋值运算符范例结果+=a += ba = a + b-=a -= ba = a - b*=a *= ba = a * b/=a /= ba = a / b%=a %= ba = a % b&=a &= ba = a & b |=a |= ba = a | b=a = ba = a b =a = ba = a =a = ba = a

54、b6、条件运算符条件运算符“? :”的表达式形式为“op1 ? op2 : op3”op1:布尔表达式:op1值为true,条件运算结果取op2的值。op1值为false,条件运算结果取op3的值。例如: int i=5; int k= ( (i=0) ? 1 : -1);得出k值为17、其他运算符其他运算符包括:(类型)、.、 、( )、instanceof和new例如:String str1=new String(“welcome”); char c=(char)a;运算符优先级一元后缀 . ( ) + -一元前缀 + - + = !创建和强制类型转换 new (type)倍数 * / %

55、增量 + -移位 关系 = = = &= = |=小节安排Java程序设计基础 3.1、Java产生的历史与现状2.2、开发环境的搭建 3.2、 Java的特点 3.5、面向对象程序设计 3.3、Java的工作原理 3.5、面向对象程序设计 3.5、面向对象程序设计 3.6、面向对象应用综合开发实例 3.5、面向对象程序设计 3.4、 Java基础语法 3.2、 Java的特点 面向对象程序设计什么是面向对象面向对象的方法将系统看作是现实世界对象的集合,在现实世界中包含被归类的对象。如前所述,面向对象系统是以类为基础的,我们把一系列具有共同属性和行为的对象划归为一类。属性代表类的特性,行为代表

56、有类完成的操作。例如:例如汽车类定义了汽车必须有属性:车轮个数、颜色、型号、发动机的能量等;类的行为有:启动、行驶、加速、停止等。对象是类的一个实例,它展示了类的属性和行为。例如,李经理的那辆红旗牌轿车就是汽车类的一个对象。面向对象技术基础对象是客观世界中的某个具体事物,对象的概念是面向对象技术的核心。面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现,它可以是有形的,也可以是无形的。比如:电视是一个具体存在的,拥有外形、尺寸、颜色等外部特性(或称属性)和开、关、设置等功能的实体。对象的基本概念从程序设计的角度来看,事务的属性或特性可以用变量来表示,行为或功能则用方

57、法来反映面向对象的程序设计方法就是将客观事物抽象成为“类”,并通过类的“继承”实现软件的可扩充性和可重用性类(class)类是同种对象的集合与抽象。 在面向对象的程序设计中,定义类的概念来表述同种对象的公共属性和特点。类是一种抽象的数据类型,它是具有一定共性的对象的抽象,而属于类的某一对象则被称为是类的一个实例,是类的一次实例化的结果。用面向对象程序设计解决实际问题的基本思想首先将实际存在的实体抽象成概念世界的抽象数据类型,这个抽象数据类型里面包括了实体中与需要解决的问题相关的数据和属性;然后再用面向对象的工具,如java语言,将这个抽象数据类型用计算机逻辑表达出来,即构造计算机能够理解和处理

58、的类;最后将类实例化就得到了现实世界实体的面向对象的映射对象,在程序中对对象进行操作,就可以模拟现实世界中的实体上的问题并解决之。对象、实体与类关系图抽象数据类概念世界实体现实世界对象类计算机逻辑的实现映射面向对象的特性 1)抽象所谓抽象就是不同的角色站在不同的角度观察世界。比如,当你购买电视机时,站在使用的角度,你所关注的是电视机的品牌、外观及功能等等。然而,对于电视机的维修人员来说,站在维修的角度,他们所关注的是电视机的内部,各部分元器件的组成及工作原理等。 其实,所有编程语言的最终目的都是提供一种“抽象”方法。在早期的程序设语言中,一般把所有问题都归纳为列表或算法,其中一部分是面向基于“

59、强制”的编程,而另一部分是专为处理图形符号设计的。每种方法都有自己特殊的用途,只适合解决某一类的问题。面向对象的程序设计可以根据问题来描述问题,不必受限于特定类型的问题。我们将问题空间中的元素称之为“对象”,在处理一个问题时,如果需要一些在问题空间没有的其他对象,则可通过添加新的对象类型与处理的问题相配合,这无疑是一种更加灵活、更加强大的语言抽象方法。面向对象的特性 2)继承继承提供了一种有助于我们概括出不同类中共同属性和行为的机制,并可由此派生出各个子类。例如,麻雀类是鸟类的一个子类,该类仅包含它所具有特定的属性和行为,其他的属性和行为可以从鸟类继承。我们把鸟类称之为父类(或基类),把由鸟类

60、派生出的麻雀类称之为子类(或派生类)。 在Java中,不允许类的多重继承(即子类从多个父类继承属性和行为),也就是说子类只允许有一个父类。父类派生多个子类,子类又可以派生多个子子类, 这样就构成了类的层次结构。面向对象的特性 3)封装封装提供了一种有助于我们向用户隐藏他们所不需要的属性和行为的机制,而只将用户可直接使用的那些属性和行为展示出来。例如,使用电视机的用户不需要了解电视机内部复杂工作的具体细节,他们只需要知道诸如:开、关、选台、调台等这些设置与操作就可以了。面向对象的特性 4)多态多态指的是对象在不同情况下具有不同表现的一种能力。例如,一台长虹牌电视机是电视机类的一个对象,根据模式设

温馨提示

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

评论

0/150

提交评论