收藏 分销(赏)

编程语言Java基础讲义.pdf

上传人:曲**** 文档编号:228717 上传时间:2023-03-16 格式:PDF 页数:34 大小:4.36MB 下载积分:19 金币
下载 相关 举报
编程语言Java基础讲义.pdf_第1页
第1页 / 共34页
编程语言Java基础讲义.pdf_第2页
第2页 / 共34页


点击查看更多>>
资源描述
:一、Java基础讲座前言:学习Android如果Java基础不好,势必举步维艰,所以从今天开始连载Android的Java基础讲座。本系列讲座假想对象是Java没有任何基础的朋友。Java基础知识不是高科技,无数人都会,但是基 础好的并不多,如何用清晰、简练、生动有趣的方式把Java的基础概念讲清楚,也比较困难。我能 承诺的是用心去做、持续修订每一讲,本系列分35讲,具体目录可以看这里。二、Java的故事:我们知道人可以使用程序软件来操控计算机的硬件来完成一些工作,而软件(程序)则是由某种编程 语言编写的。Java就是这样一种正在广泛流行和使用的面向对象的编程语言,也是我们今后研究的 重点语言。1、Java的诞生让我们把时空切换到1982年,那一年一个伟大的公司诞生于美国斯坦福大学校园,它的名字叫S un Microsystems,直译的话叫太阳微系统公司,事实上S un是S tanf ord University Network的缩写。S un在IT行业中被认为是最具创造性的企业。是极少数儿个同时拥有自己微处理器、电脑系统、操 作系统的公司。1990年的一天,S un的总裁麦克尼利(McNealy)听说他最好的一个工程师詹姆斯.高斯林(James Gosling)打算离职,他感觉事态很严重。直觉告诉他优秀的员工的离去意味着公司正在出大麻烦。麦克尼利必须找高斯林和其他员工好好谈谈,看看问题出在哪里。这些员工的意见很一致。S un公司本来是硅谷极为特殊的一个公司,以充满活力、富于创新著称。太 阳微系统公司一直很尊重员工,尽量发挥他们的创造力和热情。但是,近年来,太阳微系统公司却越 来越像成熟的大公司了。连哥斯林这样的人,公司也安排他去做一些为老系统写升级软件这种琐碎的 工作。正在扼杀着太阳微系统公司员工的创新思想和工作热情。高斯林他们想做一些伟大的、革命性 的事情,但在S un公司现在的状况中是不可能实现的。Java的创造者詹姆斯.高斯林(James Gosling)随后,麦克尼利采取了一个大胆的举动,他让高斯林自己组建一个完全独立于公司的小组,由小组成 员自己决定工作目标和进度。麦克尼利对哥斯林说:“我不管你们要做什么,要多少钱、多少人,也 不管你们花多长时间做出来,公司都无条件支持。”这个后来取名为“绿色小组”所要研究的产品就是十年后风靡IT界的数字家电、后P C设备和家庭网。事实证明,绿色小组的研究并不十分成功,直到2001年,S un在数字家电方面的业绩并不很突出。但是,绿色小组的一个副产品,高斯林发明的Java程序设计语言,却深深改变了这个世界 绿色小组成立之初只有4个人。他们有一个很模糊的想法,甚至连最终的目标产品是硬件还是软件也 不知道。但是他们知道必须发明一些技术或者产品让S un公司赶上信息领域的下一波大浪潮。当时人类已经发明了很多种消费类电子产品,包括微机、手机、手持电脑、录相机、电视机、洗衣机、冰箱、微波炉等等。他们认为要将这些设备数字化并用网络互联讲是今后的方向(物联网?)0绿色 小组将这个需求归结成两个产品原型目标,即发明一种手持遥控设备来实现所有家电设备的互联(硬 件);发明一种程序设计语言,用它来编写能在这些设备上运行的小巧程序(软件)。高斯林给当时设计了一种运行在虚拟机中的面向对象的语言,起名叫Oak(橡树,高斯林窗外的一颗 树)。但是申请注册上商标时,发现Oak被其他公司注册了,不得不重新起名。当时他们正在咖啡馆里喝着 印尼爪哇(Java)岛出产的咖啡,有一个人灵机一动说就叫Java怎么样,并得到了其他人的赞赏,于 是他们就将这种程序语言命名为Java。Java绿色小组的成员每周工作七天,平均每天工作12到14个小时,后期工程师们几乎住在实验室,没日 没夜地干,只是每隔几天回家洗澡换衣服。三年以后他们制作出了第一台样机,尽管实现了基本功能,但造价在一万美元以上,尽管市场前景不明朗,技术上也还有很多问题,S un公司的管理层还是用奖 金和股权大大奖励了绿色小组的成员,并加大投入,努力实现产品化。但是公司内外对其产品都不看好,市场也并不认可。绿色小组的成员在沮丧和失望中度过了整个1993 年和1994年。在士气最低落的时候,大部分成员都离开了绿色小组,有的甚至离开了 S in公司。留 下来的人也失去了工作热情。不少人每天早上11点钟上班,下午4点钟就离开了。有些人一天到晚 只是玩游戏,还有的人则念学术论文。在黑暗的日子里他们都期待着上天能眷顾他们这些苦命的人,期待着某种奇迹出现当时互联网已经出现了 20年左右,但Ftp和T elnet的方式无法在科研人员之外的人群普及和应用,1994年一个名叫网景的公司推出了一种叫做Netscape浏览器的东西,加速了互联网的普及;高斯林 他们意识到互联网是一个今后的发展方向。开始制作针对互联网的Java应用,希望会有所斩获。1995年初的一天,高斯林和以往一样不停地参加各种会议以期让人们认可他们的产品,这次他参加 的是“硅谷-好莱坞”互联网及娱乐业的研讨会。演讲刚开始是,大家对高斯林的讲解意兴阑珊,直 到他将鼠标移向一个分子模型,这个分子模型动起来了,而且会随着鼠标的移动上下翻滚!场面立刻 发生了逆转,会场一下子沸腾起来,人们惊叹不已、啧啧称奇。刹那间,人们对互联网的潜力进行了 一番新的审视!也就在刹那间,这一批有影响力的人成了高斯林最忠实也是最有力的说客。Java活下来了,并且成了互联网时代最强势、最具代表性的语言。2、微软和S un针对Java的世纪之战Java特点是,一次编写,到处运行,可以适应于任何平台。而互联网就是这样一个可以是任意平台 的超大网络。所以Java借着互联网快速发展的东风,扶摇而上,迅速穿红。面对Java金矿,大家都跃跃欲试 这其中要数微软和S un之间的斗争最为典型:1996年9月的某一天,微软浏览器部门的主管艾达姆-波茨瓦斯几经考量之后,提笔给时任微软CEO 的比尔盖茨写了一邮件,他非常恳切地提醒比尔盖茨注意一个正在形成的威胁。他写到:必须 意识到Java不仅仅是一种语言,如果它只是一种语言,我们愿意并且能够容易地为它建立最佳的表 现形式,事情可以圆满解决了。但是事实上,Java绝不仅仅是一种语言,它是COM的替代者!而 COM恰恰是Windows的编程模型。而Java编程很多时候比C+编程要容易的多,更致命的是他是跨平 台的。波茨瓦斯也提出了对抗Java的方法,就是悄悄地为Java提供某些扩展,使得用Java编写的 程序能够在Windows中工作得更好,但是在其它平台上却不能运行。盖茨显然被这封信吓坏了,他第二天就回信了:这可把我吓坏了。我不清楚微软的操作系统要为Java 的客户应用程序代码提供什么样的东西,而这些东西将足够让它来取代我们的市场地位。了解这一点 非常重要,是应该最优先考虑的事情。(没想到,这封信成为几年后司法部针对微软的反托拉斯案 的呈堂证供。)自此微软和S un针对Java的世纪之战拉开了骞SunmicrosystemsVS#Microsoft第一回合:微软推出J+语言,并推出了 Visual j+集成编程工具,对Java进行了大量的修改。1997 年,S un公司以歧视使用Java软件,旨在维持其视窗操作系统的垄断地位,违反反垄断法为由起诉 微软,2001年1月,S UN胜诉,根据双方达成的和解协议,微软不得对Windows操作系统中包含的 Java语言作任何改动,并获赔2000万美元。第二回合:2001年年底,微软在推出新版操作系统Windows XP和新版IE时,故意不安装Java软件,并且推出自己仿造Java创造的语言C#和.net框架。2002年的3月8日,S UN公司向美国加州地区法 庭提出起诉,称此举造成它直接经济损失高达10亿美元。2002年6月,微软干脆称从2004年起,因为安全原因微软的Windows操作系统将不再支持Java语言。就在双方口水战日益升级之际,迎来了有关S UN诉微软案的第一次听证会。S UN起诉微软的听证会被 安排在2002年12月的第一周,当时,在巴尔的摩市下了近三年来最大的一场雪。整个城市几乎都 停止运转。但是弗雷德里克摩兹法官坚持要求开庭,并且要求儿十位与案件有关的律师到场出席;据审判时一位目击者说,为了保证早上能够到庭,法官他自己在会议室中睡了一晚。几周后,也就是2002年12月23日,摩兹法官发布了那份长达42页的判决书,他裁定微软公司必须 在其Windows操作系统和IE中发布与其竞争的Java编程语言。摩兹法官的意见是:在微软的垄断 下,Java拥有一个并不健全的市场,比如说,大部分P C上所安装的Java软件要么就是旧版本,要 么就是仅适用于Windows的版本,这使得其它软件开发者对Java平台产生了厌恶的情绪,这些都是 因为微软反竞争行为的结果,看来微软已经利用Windows的垄断地位来破坏S UN对Java的销售渠道。树立市场正义的唯一方法是纠正微软的所作所为,阻止微软从它过去的错误中获得将来的利益!针尖对麦芒的斗争一直在继续和解:2004年4月2日,两者达成和解协议微软将向S un赔付20亿美元以消解旧怨,他们开始共同 应对来自IBM和Linux的挑战。从上面的故事中可能有同学认为S un是正义的,微软是非正义的,是这样的吗?我们可以再看看下面的故事3、Oracle和Google针对Java的再次对决事实上,不止微软一家意识到Java是座金矿。Oracle是第二家从S un手中购买Java许可证的公司,而IBM甚至比S un更早的意识到Java在企业级应用方面的价值,在对Java支持上投入了巨大的精力,我们平时编写Java程序使用的Eclipse IDE集成编程环境,就是IBM主导开发、用以争夺Java领导 权的重大举措(有空可以细讲IBM和S un的恩恩怨怨,从Eclipse这个名字就可以看到其中的火药味)。“和谐”的阴影:IBM和Intel为了争夺Java的话语权,向S un发出了新一轮的挑战,2005年他们支持Apache开源社 区发起了一个叫做H armony的项目,H armony有个有趣的中文意思-和谐。H armony的目的有两个:1、在Apache Licence v2的许可之下,独立的(不阅读S un JDK的源代码,仅仅根据Java S E 5 specif ication)开发一个与 Java S E 兼容的 JDK。2、通过H armony的开发社区,创建一个模块化的架构(包括虚拟机和类库)。该架构允许所有的独 立开发项目可以共享运行时组件。简单的说,H armony就是让其他公司可以使用它来绕开S UN JDK的商业限制。S un为了保持自己对Java 的主导权,坚决不给H armony颁发JDK认证。这让开源社区Apache和S UN发生了决裂“太阳”的终结:S un创造了 S parc S olaris、Java等伟大的产品,S un曾经风光无限,市值估价2000亿美金。S un 预测到网络就是计算机,可是真正的网络时代到来时,它却没有真正调整过来,不断的亏损和决策失 误让它举步维艰。2009年4月Oracle宣布以74亿美金收购S un,2010年1月欧盟决定无条件同意这项收购,一个伟 大公司就这样走到生命的尽头。Java的创造者James Gosling在自己的博客贴出了一幅画,并写了一句话S o long,old f riend(再 见 了,老 朋 友)R.I.P(墓前站的是Linux的吉祥物T ux塔克斯和Java的吉祥物Duke杜克)虽然S un已经离去,Java还会继续前行“机器人”的小伎俩:1998年S un的共同创始人Andy Bechtolsheim给了斯坦福大学的两个学生一笔10万美金的天使投资,他们成立了一个小公司名字叫-GoogleoGoogle2007年n月5日,已经成长为互联网领域内巨人的Google发布了一个叫做Android的手机操作系 统平台。Android采用我们上面提到的H armony来作为JDK(Java开发工具包)的替代品,使用Dalivk 虚拟机来替代JVM(Java虚拟机),它这次从头至尾都没有说它用的是Java,可是所有的Java程序 员都懂这就是JavaOracle 对 Google 的诉讼:2010年8月12日,Java专利权的新主人Oracle指控Google在Android开发中“故意,直接并反复 侵犯Oracle的Java相关的知识产权”,新一轮的斗争正在继续。三、Java的版本演进1995年5月23日Java语言发布1996年1月,JDK1.0诞生,4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术,9月,约8.3万个网页应用了 JAVA技术来制作1997年2月18日JDK1.1发布1998年12月4日JDK1.2(Java2)发布随后,S UN公司发布Java的三个版本:标准版(J2S E)、企业版(J2EE)和微型版(J2ME),为Java 今后的方向指明了道路。2000年5月8日J2S EL 3发布2000年5月29日J2S EL 4发布2004年9月 30日J2S E1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2S E1.5更名为Java S E 5.02005年6月Java S E 6.0发布。J2EE更名为Java EE,J2S E 更名为 Java S E,J2ME 更名为 Java ME四、Java JDK安装和编程环境搭建接下来我们就开始学习这个改变了世界的编程语言。我们学打扑克牌需要先买一副扑克牌,然后打开 牌盒先认认牌。学习一门语言的第一步就是搭建它的编程环境,然后写一个简单的Java程序的例子,简单了解一下。最后看看别人都用这个语言都弄出来些什么好玩的程序。1、JDK的下载(Windows环境):JDK的意思是Java Development Kit,直译就是Java开发套件。JDK是我们学习Java必备工具。我们可以从Oracle的网站可以下载最新版的JDK。a 访问 http:www.oracle,com/technetwork/java/javase/downloads/index,html 点击 Download JDK按钮一Java SE DownloadsUe xt Re lea se rly Access)EmbeddedUs-Real-TimePrevious Re lea sesJava pDK|JDK JtvaFX BurameJDK JREHere are the Java SE downloads in detail.DEVEJLOP6R.COM 2006PRODUCT OF THE YcAR NetBeans 或 eeJtK.NetBeans BunaeJDK Java EE Bungb、在出来的页面中点击Download按钮Java Platform,Standard EditionJDK 6 Update 21(JDK or JRE)This release includes performance improvements,support for Oracle Enterprise Linux,Oracle VM,and G00ale Chrome.Learn more,Dowtload.JDKDownload JREJava SE DownloadsDownload the complete platform and runtime environmentUse your creative talents to design a winning application.Download Java SE Development Kit 6u21DownloadJDK 6 Update 21This special release provides a few key fixes.,Installation Instructions,ReadMe*ReleaseNotes,Oracle License,Third Party Licenses,Supported System ConfigiKationsc、在下面的页面中选择P latf orm为Windows,然后点击Continue按钮Select Platform and Language for your dovjnload:Platform:WindowsLanguage:Multi-languageBy selectingContinue below,you hereby accept the terms and conditions of the Java SE Development Kit 6u21 License Aareement.Optional:Please Log In or Register for additional functionality and benefits.Or,click Continue now to proceed without Log In or Registration.UserName:,.Example:jim23 Password:RMsterNowWhvReQistei?Foaot User Name。Password?Continue 安装过程我就不演示了,只需要建议的是,可以把JDK安装在类似“C:javasof t”的目录中,而 不是 c:program f ilel 下。d、在接下来的页面里点击带下划线的下载链接即可There is more information on the available files for download on the SuoDorted Systenn Confiqurations page.Instructions:Click the file name to start the download.Available FilesJava SE Development Kit 6u21 土 i#6u21-windows-i586.exe75.91 MB2、JDK的安装:a、下面介绍一下安装步骤,双击下载回来的jdk-6u21-windows-i586.exe,点击下一步b、更改安装位置为 c:javasof tjdkl.6.0_21c、稍等片刻d、在选择JRE(Java Runtime Environment Java运行时环境)安装目录步骤时可以直接点下一步。e、安装jre的过程中竟然有个00o(OpenOf f iceOrganization)的广告f、再稍等一下就可以看到成功安装的提示g、最后打开命令行窗口敲一个命令检查是否运行正常java-version,这是个查看Java版本号的 命令,我们这次安装的是JDK 1.6的 第21个更新包,所以看到的反馈应该是这样:好吧,恭喜你完成了最重要的一步3环境变量环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统 文件夹位置等。Java的运行环境需要配置如下儿个参数,JAVAJOME,classpath和P ath,下面简单 叙述一下:在“我的电脑”上点右键,在随后的菜单中选属性,可以看到系统属性选项卡,右下角就是“环境变 量”按钮。点击“新建”:变量名写JAVAJ10ME,变量值写c:javasof tjdkl.6.0_21,这样就配置好了 JAVA H OME,这个变量时其他JAVA程库约定俗称的寻找Java安装目录的依据。找到变量P ath,点击“编辑”,在最前端加入JAVA_H OME%bin;”这样,我们就可以在任何路 径下使用java和javac命令了。环境变量找到 classpath,如果没有则新建一个。变量值为:;%JAVA_H OME%libdt.jar;%JAVA_H OME%libtools.jar”,留意一下最前面的”.”,它代表当 前目录。classpath的作用是让java虚拟机能够找到class文件的位置。配置完成后需要检测一下,运行cmd,敲命令javac-version,如果不报错,就说明配置成功了。4、创建、编译和运行一个Java文件a、我们建立一个目录,今后所有的实验都将在这里进行c:workspacejava”b、在java目录下建立今天课程的目录lessonOl,记住目录名小写c、创建LessonOl.java:建立一个名字叫LessonOl.java的文件,右键用Editplus打开(不会使用EditP lus的请自行搜索和学习使用,很简单不用怕)。在文件中写入:view sourceprint?lclassLesson012名称 停设日期 类型,LessonOl.java 2010/93 9:43 JAVA.文件上面的代码你可以理解成:有个东西叫LessonOld、编译LessonOl.java:在命令行窗口(不了解命令行窗口的同学可以自行搜索并学习)中敲入如 下命令javac LessonOl.java如果成功的话会没有任何提示,并且会出现一个名字叫LessonOl.class的文件,生成class的过程 就是编译的过程。,LessonOl.class 2010/9/129:53 CLAS5 文件 1 KB,LessonOl.java 2010/9/139:43 JAVA 文件 1 KBe、运行LessonOl.class:在命令行窗口中敲入如下命令,view sourceprinl?ljava LessonOl提示如下图所示:意思是“在主线程中产生了一个叫做没有main这个方法的错误”我们下面就来尝试修正这个错误,重新编辑LessonOl.java,内容如下:viewsourceprint?IclassLessonOl2publicstaticvoidmain(S tringargs)3S ystem.out.printin(欢迎进入 Java 的世界!);4 5物 EditPlus m-C:work5.p3cejavalesson01Lesson01.ja/33 W X m 国喜学回I名电造X I G。I 能喧为/就回圜囱1盘0文件(E)编辑搜案文档工程(E)TMCD 浏览器鱼口四帮助(H)匚国*C:win Glass Le3son01 puLLic sxacic void mala(Stein?args)Sys ten.,cut.princln(氏汜三八ave 3;七乒)5 ncrst京 K8C 八附5x/0。*aBLjuLQ LessonOl.java行 5 列 2 5 00 PC再次编译、运行,这次看到将是:要亘看帮助.请按F1恭喜你成功完成了一个Java程序从创建、编译到运行的全过程,Java的世界就此向你展开。六、Java虚拟机和Java程序运行原理我们在命令行中运行一下java-version,看看结果:注意它的反馈信息实际上有3行,分别是java sdk的版本,JRE的版本和JVM的版本,而Java H otS potClient Virtual Machine就是S un公司开发的Java虚拟机。那么什么是Java虚拟机?Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的 计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。Java程序的运行过程大致就是先吧Java源文件(后缀是.java的文件)编译成(.class)文件,然后 再运行class文件。七、Java程序演示(Demo)Java可以做些什么,同学们可以先到java安装目录的demo子目录(C:javasof tjdkl.6.0_21demo)中看一看,这就是个本节课的作业,大家去寻宝吧。回-1W javasoft jdkl.6.0_21 demo 最后送大家一架钢琴,JavaS oundDemo.jar这个小程序是我从Mac OS自带的JDK包目录里发现的,双击即可运行,鼠标放上去就会有音乐飘出,尽情的演奏吧二八 VIBJava基础第二讲:Java基本语法(一)f rom:http:android, 语法规则的语句,控制计算机完成各种任务。而按编程语言的语法规则写成的,完成某项功能的代码 集合就可以叫做程序。一、初识对象(Object):“初识对象的时候我们还不知道什么是对象。”Java的一个重要特点就是面向对象(Object Oriented),面向对象是相对于面向过程(P rocess Oriented)来说的。我们用一个从冰箱中取一杯牛奶的例子来说明面向过程和面向对象的区别。先用面向过程的思路描述这个过程:冰箱-啤酒,放牛妈0取牛奶()放啤酒0,收啤酒0我们把冰箱作为一个对象的时候,问题变得异常简单,冰箱有一个方法就是取牛奶的方法,你调用这 个方法,这个方法的返回值就是一杯牛奶。那么现实生活中有这样智能的冰箱吗?有的,找个人站冰 箱旁边就行了,把那个人和冰箱合起来包装成一个对象它就是智能冰箱对象了二八。面向对象的编程语言把所有事物都看成对象:万事万物皆对象。Java的程序就是一些对象的集合,这些对象通过调用彼此的方法与其他对象交互。每个对象都属于 某种有一个类或者接口定义的类型。二、标识符(Indentif ier)Java语言中的类名、对象名、方法名、常量名等等这些Java组件都需要起个名字,在而这些组件的 名称就被称为标识符(IridenLif ier)o 合法的标识符具有一些命名规则:必须以字母、美元符号或下划线开头。数字不能开头第一个字符之后可以是任意长度的包含数字、字母、美元符号、下划线的任意组合。不能使用Java关键字和保留字做标识符标识符是大小写敏感的,Z和z是两个不同的标识符。Unicode字符会被视为普通字母对待。针对最后一条,连S CJP(S un Ceritif ied Java P rogrammer)考试也不会要求,但是你要了解,这样 是可以的:public class Lesson02 public static void main(S tring args)S tring 世界二阿凡达!;S ystem,out.printin(世界);上面的代码回成功的打印出“阿凡达”字样。二、关键字(keywords)和所有的编程语言一样,Java具有一组内置的关键字,这些关键字绝对不能用来做为标识符。Java S E6 里一共有50个关键字(keywords):abstractcontinuef ornewswitchassertdef aultgotopackagesynchronizedbooleandoif privatethisb reakdoubleimplementsprotectedthrowbyteelseimportpublicthrowscaseenuminstanceof returntra nsient 瞬 间catchextentdsintshorttrycharf inalinterf acestaticvoidclassf inallylongstrictf pvolatilecon stf loatnativesuperwhile这些单词有共同的特点是:全是小写的,不能用作标识符。(如果非要用做标识符呢,会有什么事情 发生?自己去试试看)。其中instanceof是instance of的连写,strictf p是strict f loat point的连写有三个看起来像是关键字,其实不是关键的东东,他们是字面值(literal),字面值的概念下面立刻 就会讲到。true布尔字面值f alse布尔字面值null空值字面值四、变量(Variable)初识所谓变量,就是值可以被改变的量。定义一个变量的时候不需要什么特殊的关键字修饰。这个变量的概念很接近数学里变量的概念,举个例子:public class Lesson02 public static void main(S tring args)S tring myName=nabula;myName=nebulayao”;S ystem,out.printin(myName);上述程序的打印结果大家想必能猜出来,是“nebulayao”。五、常量(named constant、constant)初识所谓常量,就是它的值不允许改变的量。要声明一个常量,就要用关键字f inal修饰,常量按照Java 命名规范需要用全部大写,单词之间用下划线隔开:/游戏方向设定北南东西 f inal int NORT H=1;f inal int S OUT H=2;f inal int EAS T=3;f inal int WES T=4;/三种游戏元素 f inal int RED_S T AR=1;f inal int YELLOW_S T AR=2;f inal int GREEN_S T AR=3;那么我真皮了会怎么样呢?我们一起看看public class Lesson02 public static void main(S tring args)f inal int S OUT H-2;S OUT H=1;)上面的代码,如果去编译的话会报下面的提示:如果是在Eclipse等集成编程环境中写的话,会直接有红色错误标识出现:六、字面值(literal、literal value)literal这个单词被翻译了好多种说法、字面值、字面量、直接量、常值、文本符等等,我们需要知 道这些翻译都是一个意思,就是编程语言里一些内建数据类型的源代码表示。譬如:42 整数字面值f alse/布尔字面值3.1415 double字面值b char字面值七、基本数据类型(P rimitive T ype)Java中数据类型(Data T ype)分为基本数据类型(P rimitive T ype)和引用数据类型(Ref erence DataType)oJava中基本数据类型有八种:si基本数据类型引用数据类型型 byte整数型MBH单精度浮点型float 浮点型双精度浮点型du碇:弓号;*1 boolean.1、整数(integer data type)Java语言中使用3中表示整数的方法,分别是十进制、八进制和十六进制,平时我们使用10进制,有时候也会用16进制,仅仅会因为趣味才会去用八进制。下面演示一下三种整型表示法:public class Lesson02 public static void main(S tring args)int i=10;十进制直接写 int j=012;八进制前面加0,八进制用0-7表示int k=0 xa;十六进制前面加Ox或者0X,16进制用 0-9 a-f表示,为什么用a-f,因为我们没有发明过10-16的数字符号,这里的a-f x大小写都可以 int caf e=Oxcaf e;/你觉得这个咖啡会等于几?S ystem,out.printin(i);S ystem,out.println(j);S ystem,out.println(k);S ystem,out.printin(caf e);类型字节范围举 例 bytel-128 127125short2-32768 3276720000int4-21474836482147483647123456789,21234567891ong8-922337203685477580892233720368547758079876543210L 整数里的默认类型是int,也就是说你写一个整数字面值如果不明确指定他的类型,那么他一定是int 类型。想明确声明一个整数字面值是长整型的话,需要使用1或L做后缀。public class Lesson02 public static void main(S tring args)byte a=127;short b=128;int c=2123456789;long d=98765432101;long e=9876543210L;S ystem,out.printin(a=+a+b=+b+c=+c+d=+d+e=+e);2、浮点数(f loating-point data type)类型字节范围举例 f loat41.4E-45 3.4028235E383.1415f double84.9E-3241.7976931348623157E3083.1415,3.1415dpublic class Lesson02 public static void main(S tring args)f loat a=3.1415926f;double b=3.1415926;f loat c=2123456789;f loat d=9876543210L;double e=9876543210L;S ystem,out.printin(a=+a+b=+b+c=+c+d=+d+e=+e);S ystem,out.printin(Float.MIN_VALUE);S ystem,out.printin(Float.MAX_VALUE);S ys Lem.oul.prinlln(Double.MIN_VALUE);S ystem.out.pririlln(Double.MAX_VALUE);如果你想定义一个单精度浮点数手面量,那么你必须加f或F做后缀。浮点数当然也可以存整数在里面。3、布尔型(boolean)布尔型表达一个真或假,是或否的意思。在Java中使用boolean关键字来声明一个变量为布尔类型,在Java中布尔字面值只有2个:true和f alse。注意是全小写的。public class Lesson02 public static void main(S tring args)boolean f lag=true;f lag=f alse;S ystem,out.printin(,,f lag=,+f lag);4、字符型(char)字符型charJava里用一个单引号内的单个字符来表示一个字符字面值。类型字节范围举例 char2 字节,16 位uOOOO uFFFF森,u004e,nJ,23002public class Lesson02 public static void main(S tring args)char a=a;ascii 字符可以 char b=,;char c=牌;汉字也可以char d=u004e;其实上所有的Unicode字符都可以char e=n5;转义符表示的字符也可以char f=65535;也可以,因为char存储的时候占两个字节,因为他不是整数,所以不需要符号位,因此它的最大值就是65535 了。char g=23002;char h=36745;S ystem,out.printin(a=+a+b=+b+c=+c+d=+d+e=+e+f=+f+g=+g+h=+h);)上面的例子,如果文件以utf-8编码存储,那么编译时会报错,因为命令行方式它人默认编码集是GBK,所以编译时请特别指出编码集为utf-8,方法如下:额外作业:有兴趣的同学可以写一个算式,把自己的名字打印出来,如果不会话可以再学几讲再做,记住有这个事儿就行八、赋值(assignment)初识“二”是个赋值运算符,我们讲运算符之前先把赋值运算符先行提出来讲一讲。他和数学里的用法一 样,都是把右侧的值赋予左侧的变量。下面用例子演示一下三种赋值方式:public class Lesson02 public static void main(S tring args)int a=l;int b=l,c=l;int d=a=b=c=2;S ystem,out.printin(,a=,+a+,/b=+b+c=+c+d=+d);九、注释(annotation)初识程序中的注释是程序设计者与程序阅读者之间沟通的手段,是写给程序员看的代码。通常
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服