欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    Java入门.docx

    • 资源ID:990849       资源大小:265.11KB        全文页数:86页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java入门.docx

    Java入门一、JaVa语言JaVa语言有下面一些特点:简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。:1.简单性Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。JaVa略去了运算符重我、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库和线程的支持也只有215KB左右。库和线程的支持也只有215KB左右。2 .面向对象JaVa语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐臧;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。3 .分布性JaVa是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。4 .鲁棒性JaVa在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易,在编译时,Java提示出可能产生的错误。通过集成的面向对象的例外处理机制出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。5 .安全性用于网络、分布环境下的JaVa必须要防止病毒的入侵。JaVa不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用特洛伊木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。6 .体系结构中立JaVa解释器生成与体系结构无关的字节码指令,只要安装了JaVa运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于JaVa虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。7 .可移植性与平台无关的特性使JaVa程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java系统本身也具有可移植性。8 .解释执行JaVa解释器直接对JaVa字节码进行解释执行。字节码本身携带了许多,使得连接过程更加简单。编译时信息9 .高性能和其它解释执行的语言如BASIC.TCL不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。10 .多线程多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。11 .动态性JaVa的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且JaVa通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。二、JavaAppletJaVa语言的特性使它可以最大限度地利用网络。Ap-plet是JaVa的小应用程序,它是动态、安全、跨平台的网络应用程序。JavaAPPIet嵌入HTML语言,通过主页发布到Internet。网络用户访问服务器的APPlet时,这些Applet从网络上进行传输,然后在支持JaVa的浏览器中运行。由于JaVa语言的安全机制,用户一旦载入APPIet,就可以放心地来生成多媒体的用户界面或完成复杂的计算而不必担心病毒的入侵。虽然APPIet可以和图像、声音、动画等一样从网络上下载,但它并不同于这些多媒体的文件格式,它可以接收用户的输入,动地进行改变,而不仅仅是动画的显示和声音的播放。三、丰富的类库JaVa提供了大量的类以满足网络化、多线程、面向对象系统的需要。1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现JaVa程序的运行平台。2 .实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。3 .输入输出包用统一的流模型来实现所有格式的I/O,包括文件系统、网络、输入4 .低级网络包用于实现SoCket编程。5 .抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得JaVa可以移植到不同平台的机器。6 .网络包支持Internet的TCP/IP协议,提供了与InTernet的接口。它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。JaVa和C、C+四、对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C+,使得熟悉C、C+的程序员能很方便地进行编程。同时,Java为相同的传统了实现其简单、鲁棒、安全等特性,也摒弃了C和C+中许多不合理的内容。1.全局变量JaVa程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。例如:ClassGlobalVarpublicstaticglobal_var;)在类GlobalVar中定义变量gIobaljvar为publicStat-ic,使得其它类可以访问和修改该变量。JaVa对全局变量进行了更好的封装。而在C和C+中,依赖于不加封装的全局变量常常造成系统的崩溃。2 .GotoJaVa不支持CC+中的goto语句,而是通过例外处理语句try,Catch,final等来代替C、C+中用goto来处理遇到错误时跳转的情况,使程序更可读且更结构化。3 .指针指针是C、C+中最灵活,也是最容易产生错误的数据类型。由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C+中的私有成员,从而破坏安全性,造成系统的崩溃。而JaVa对指针进行完全的控制,程序员不能直接进行任何指针操作,例如把整数转化为指针,或者通过指针释放某一内存地址等。同时.,数组作为类在Java中实现,良好地解决了数组访问越界这一C、C+中不作检查的错误。4 .内存管理在C中,程序员通过库函数malloc()和free。来分配和释放内存,C+÷new和delete来分配和释放内存。再次释放已释放的内存块或中则通过运算未被分配的内存块,会造成系统的崩溃;同样,忘记释放不再使用的内存块也会逐渐耗尽系统资源。而在JaVa中,所有的数据结构都是对象,通过运算符new为它们分配内存堆。通过new得到对象的处理权,而实际分配给对象的内存可能随程序运行而改变,Java对此自动地进行管理并且进行垃圾收集,有效防止了由于程序员的误操作而导致的错误,并且更好地利用了系统资源。5 .数据类型的支持在C、C+中,对于不同的平台,编译器对于简单数据类型如int,float等分别分配不同长度的字节数,例如:int在IBMPC中为16位,在VAX-Il中为32位,这导致了代码的不可移植性,但在JaVa中,对于这些数据类型总是分配固定长度的位数,如对int型,它总占32位,这就保证了JaVa的平台无关性。6 .类型转换在C、C+中,可以通过指针进行任意的类型转换,常常带来不安全性,而JaVa中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。7 .头文件C、C+中用头文件来声明类的原型以及全局变量、库函数等,在大的系统中,维护这些头文件是很困难的。而JaVa不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止对私有成员的操作。同时,Java中用import语句来与其它类进行通讯,以便使用它们的方法。8 .结构和联合C+中的结构和联合中所有成员均为公有,这就带来了安全性问题。C、JaVa中不包含结构和联合,所有的内容都封装在类中。9 .预处理C、C+中用宏定义来实现的代码给程序的可读性带来了困难。在Java中,不支持宏,它通过关键字final来声明一个常量,以实现宏定义中广泛使用的常量定义。第一章JaVa概述(续)李京华丁锂王克宏刘波?1.3.简单的JaVa程序下面我们先介绍两个简单的JaVa程序,并对其进行分析。例1.1.publicclassHelloWorldApp/anapplicationpublicstaticvoidmain(Stringargs)System,out.PrintIn("HelIoWorld!,z);)本程序的作用是输出下面一行信息:HelloWorld!程序中,首先用保留字CIaSS来声明一个新的类,其类名为HellOWOrldAPP,它是一个公共类(public)0整个类定义由大括号)括起来。在该类中定义了一个main()方法,其中PUbliC表示访问权限,指明所有的类都可以使用这一方法;static指明该方法是一个类方法,它可以通过类名直接调用;Void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。Jave解释器在没有生成任何实例的情况下,以main。作为入口来执行程序。JaVe程序中可以定义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main()方法也只能有一个,作为程序的入口。main。方法定义中,括号()中的Stringargs是传递给main()方法的参数,参数名为args,它是类String的一个实例,参数可以为0个或多个,每个参数用类名参数名来指定,多个参数间用逗号分隔。在main。方法的实现(大括号中),只有一条语句:System,out.printin("HelloWorld!/z);它用来实现字符串的输出,这条语句实现与C语言的中printf语句和C+中COUt,语句相同的功能。另外,后的内容为注释。现在我们可以运行该程序。首先把它放到一个名为HelloWorIdAPP.java的文件中,这里,文件名应和类名相同,因为JaVa解释器要求公共类必须放在与其同名的文件中。然后对它进行编译:C:,javacHelloWorldApp.java编译的结果是生成字节码文件HelloWorldApp.classo最后用java解释器来运行该字节码文件:C:,javaHelloWorldApp结果在屏幕上显示HelloWorld!我们再来看下面的一个例子:例1.2importjava.awr.*;importjava,applet.*;publicclassHelloWorldAppletextendsApplet/anappletpublicvoidpaint(Graphicsg)g.drawString(zzHelloWorld!zz,20,20);)这是一个简单的APPIet(小应用程序)。程序中,首先用import语句输入java,awr和java,applet下所有的包,使得该程序可能使用这些包中所定义的类,它类似于C中的include语句。然后声明一个公共类HeIlOWOrldAPPlet,用CXtendS指明它是Applet的子类。在类中,我们重写父类Ap-plet的paint()法,其中参数g为Graphics类,它表明当前作画的上下文。在paint()法中,调用g的方法坐标(20,20)处输出字符串World!",其中drawString(),在坐标是用象素点来表示的。这个程序中没有实现Inain()方法,这是APPIet与应用程序Application(如例1)的区别之一。为了运行该程序,首先我们也要把它放在文件HelloWorldApplet.java中,然后对它进行编译:C:,javacHelloWor1dApplet.java得到字节码文件HelloWorldApplet.class0由于APPIet中没有main。方法作为JaVa解释器的入口,我们必须编写HTML文件,把该Applet嵌入其中,然后用appletviewer来运行,或在支持Java的浏览器上运行。它的,HTML,文件如下:,HTML,HEAD,TITLE,AnApplet,/TITLE,/HEAD,BODY,appletCode=zzHelloWorldApplet.classzzwidth=200height=40,/applet,/BODY,/HTML,中用,applet,标记来启动HelIoWorldAPPIe3code指明其字节码所在的文件,width和height指明applet所占的大小,我们把这个HTML文件存入EXanIPIe.htl,然后运行:C:,appleviewerExample,html这时屏幕上弹出一个窗口,其中显示HelloWorId!,显示结果如图:从上述例子中可以看出,Java程序是由类构成的,对于一用程序来说,必须有一个类中定义main()方法,而对应applet来说,它必须作为Applet的一个子类。在类的定义中,应包含类变量的声明和类中方法的实现。JaVa在基本数据类型、运算符、表达式、控制语句等方面与C、C+基本上是相同的,但它同时也增加了一些新的内容,在以后的各章中,我们会详细介绍。本节中,只是使大家对JaVa程序有一个初步的了解。第二章数据类型?2.1数据类型数据类型指明了变量或表达式的状态和行为。Java的数据类型如下所示:JaVa不支持C、C+中的指针类型、结构体类型和共用体类型。本章我们主要介绍简单类型。?2.2常量与变量一、常量Java中的常量值是用文字串表示的,它区分为不同的类型,如整型常量123,实型常量1.23,字符常量'a',布尔常量true、false以及字符串常量,zThisisaconstantstring.,与C、C+不同,Java中不能通过define命令把一个标识符定义为常量,而是用关键字final来实现,如finaldoublePI=3.14159(有关final的用法见6.2.3)。二、变量变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。?变量名是一个合法的标识符,它是字母、数字、下划线或美元符,的序列,Java对变量名区分大小写,变量名不能以数字开头,而且不能为保留字。合法的变量名如:myName、value-l>dollar,等。非法的变量名如:2mail、room#、class(保留字)等,变量名应具有一定的含义,以增加程序的可读性。?变量类型可以为上面所说的任意一种数据类型。?变量的作用域指明可访问该变量的一段代码。声明个变量的同时也就指明了变量的作用域。按作用域来分,变量面几种:局部变量、类变量、方法参数、例外法或方法的一块代码中声明,它(整个)0,而不中声明,它法参数传递给法,它参数传递 给 例 外处 理代码,它用域就中,变量名应该是唯一的。通常,一个量、参数传递以及例外处理将分别在6.7.1、章中讲述。6.2.4和?变量的声明格式为:typeidentifier=value,identifier=value;例如:inta,b,c;doubledl,d2=0.0;其中,多个变量间用逗号隔开,d2=0.0对实型变量d2赋初O.0,只有局部变量和类变量是可以这样赋初值的,而方法参数和例外处理参数的变量值是由调用者给出的。?2.3整型数据一、整型常量:与C,C+相同,Java的整常数有三种形式:?十进制整数,如123,-456,0?八进制整数,以。开头,如0123表示十进制数83,-011表示进制数-9o?十六进制整数,以OX或OX开头,如0x123表示十进制数291,-0X12表示十进制数-18o整型常量在机器中占32位,具有int型的值,对于IOng型值,则要在数字后加L或1,如123L表示一个长整数,它在机器中占64位。二、整型变量:整型变量的类型有byte>short、intlong四种。下表列各类型所在内存的位数和其表示范围。第二章数据类型(续)int类型是最常使用的一种整数类型。它所表示的数据范围足够大,而且适合于32位、处理器。但对于大型计算,常会遇到很大的整数,超64出int类型所表示的范围,这时要使用IOng类型。由于不同的机器对于多字节数据的存储方式不同,可能是从低字节向高字节存储,也可能是从高字节向低字节存储,这样,在分析网络协议或文件格式时,为了解决不同机器上的字节存储顺序问题,用byte类型来表示数据是合适的。而通常情况下,由于其表示的数据范围很小,容易造成溢出,应避免使用。short类型则很少使用,它限制数据的存储为先高字节,后低字节,这样在某些机器中会出错。三、整型变量的定义,如:byteb;指定变量b为byte型shorts;指定变量S为ShOrt型inti;/指定变量i为int型long1;指定变量1为Iong型?2.4浮点型(实型)数据一、实型常量与C,C+同,Java的实常数有两种表示形式:?十进制数形式,由数字和小数点组成,且必须有小数点,如0.123,.123,123.,123.0?科学计数法形式。如:123e3或123E3,其中。或E之前必须有数字,且e或E后面的指数必须为整数。实常数在机器中占64位,具有double型的值。对于float型的值,则要在数字后加f或F,如12.3F,它在机器中占32位,且表示精度较低。、实型变量二实型变量的类型有float和double两种,下表列出这两类型所占内存的位数和其表示范种围o数据类型所占位数数的范围float323.4e-038,3.4e+038double641.7e-308,1.7e+308双精度类型double比单精度类型float具有更高的精度和更大的表示范围,常常使用。三、实型变量定义,如floatf;指定变量f为float型doubled;指定变量d为double型注与C、C+不同,Java中没有无符号型整数,而且明确规定了整型和浮点型数据所占的内存字节数,这样就保证了安全性、鲁棒性和平台无关性。?2.5字符型数据一、字符常量字符常量是用单引号括起来的一个字符,如'a','A'o另外,与C、C+相同,Java也提供转义字符,以反斜杠()开头,将其后的字符转变为另外的含义,下表列出了Java中的转义字符。C、C+不同,Java中的字符型数据是16位无符号型数与据,它表示UrliCo加集,而不仅仅是ASCII集,例如u0061表示ISO拉丁码的'a'。转义字符描述ddd1到3位8进制数据所表示的字符(ddd)uxxxx1到4位16进制数所表示的字符(XXXX)'单引号字符W反斜杠字符r回车n换行f走纸换页t横向跳格b退格二、字符型变量字符型变量的类型为char,它在机器中占16位,其范围为0,65535o字符型变量的定义如charc-a,;指定变量C为char型,且赋初值为a'与C、C+不同,Java中的字符型数据不能用作整数,因为Java不提供无符号整数类型。但是同样可以把它当作整数数据来操作。例如:intthree=3;charOne=T'charfour=(char)(three+one);/four=,4,上例中,在计算加法时,字符型变量OrIC被转化为整数,进行相加,最后把结果又转化为字符型。三、字符串常量与C、C+相同,Java的字符串常量是用双引号()括起来的一串字符,如ThiSisastring,n,0但不同的是,Java中的字符串常量是作为String类的一个对象来处理的,而不是一个数据。有关类String,我们将在第七章讲述。?2.6布尔型数据布尔型数据只有两个值,true和false,且它们不对应于任何整数值。在流控制中常用到它0布尔型变量的定义如:booleanb=true;定义b为布尔型变量,且初值为true?2.7举例例2.L下例中用到了前面提到的数据类型,并通过屏幕显示它们的值。publicclassSimpleTypes(publicstaticvoidmain(Stringargs)byteb=0x55;shorts=0x55ff;inti=1000000;longI=OxfffL;charc-c'floatf=0.23F;doubled=0.7E3;booleanbool=true;System,out.println(z,b=+b);System,out.printings="+s);System,out.printIn(,i="+i);System,out.println(z,l=+l);System.out.printlnCzc=+c);System,out.printlnCzf="+f);System.out.printIn(7zd=+d);System,out.println(,bool="+bool);)编译并运行该程序,输出结果为:C:,javaSimpleTypesb=85s=22015i=10000001=4095c=cf=0.23d=0.0007bool=true?2.8各类数值型数据间的混合运算一、自动类型转换整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级,如下图:转换规则为:?(byte或short)opint?int?(byte或Short或int)oplong?long?(byte或short或int或long)opfloat?float?(byte或short或int或long或float)opdouble?double?charopint?int其中,箭头左边表示参与运算的数据类型,op为运算符(如加、减、乘、除等),右边表示转换成的进行运算的数据类型。例2.2publicclassPromotionpublicstaticvoidmain(Stringargs)byteb=10;charc=,a'inti=90;long1=555L;floatf=3.5f;doubled=l.234;floatfl=f*b;/float*byte-,floatintil=c+i;/char+int-,intlongll=l+il;/long+int-,lingdoubledl=flil-d;/float/int-,float,float-double-,double二、强制类型转换高级数据要转换成低级数据,需用到强制类型转换,如:inti;byteb=(bytc)i;/把int型变量i强制转换为byte型这种使用可能会导致溢出或精度的下降,最好不要使用。第三章运算符和表达式王克宏郁欣孙元王曦东运算符指明对操作数所进行的运算。按操作数的数目来分,可以有一元运算符(如+、-),二元运算符(如+、,)和三元运算符(如?:),它们分别对应于一个、两个和三个操作数。对于一元运算符来说,可以有前缀表达式(如+i)和后缀表达式(如i+),对于二元运算符来说则采用中缀表达式(如a÷b)0按照运算符功能来分,基本的运算符有下面几类:1.算术运算符(+,*,/,%,+,一)2 .关系运算符=,!=)3 .布尔逻辑运算符(!,&&,|)4 .位运算符(,,&",)值运算符(二,及其扩展赋值运算符如+=)5.赋6 .条件运算符(?:)7.其它(包括分量运算符?,下标运算符口,实例运算符instanceof,内存分配运算符new,强制类型转换运算符(类型),方法调用运算符()等)本章中我们主要讲述前6类运算符。术运算符?3.1算算术运算符作用于整型或浮点型数据,完成算术运o算一、二元算术运算符,如下表所示运算符用法描述+opl+op2加-opl-op2减*opl*op2乘/oplop2除%opl%op2取模(求余)JaVa对加运算符进行了扩展,使它能够进行字符串的连接,如abc+de,得到串,zabcde我们将在第七章中讲解。与C、C+不同,对取模运算符来说,其操作数可以为浮点数,如37.2%10=7.2<>二、一元算术运算符,如下表所示:运算符用法描述+÷op正值-op负值+op,op+加1op,op一减1+i的区别i+与i+在使用i之后,使i的值加1,因此执行完i+后,整个表达式的值为i,而i的值变为i÷lo+i在使用i之前,使i的值加1,因此执行完+i后,整个表达式和i的值均为i+l0对i与一i同样o例3.1.下面的例子说明了算术运算符的使用publicclassArithmaticOppublicstaticvoidmain(Stringargs)inta=5+4;/a=9intb=a*2;/b=18intc=b4;/c=4intd=b-c;/d=14inte=-d;/e=-14intf=e%4;/f=-2doubleg=18.4;doubleh=g%4;/h=2.4inti=3;intj=i÷+;/i=4,j=3intk=+i;/i=5,k=5System.out.Println(a="+a);System.out.println(z,b="+b);System.out.println(zzc=+c);System,out.println(zzd="+d);System.out.printIn(zze=+e);System,out.println(z"f=+f);System.out.printIn(z,g=+g);System,out.printIn(/zh="+h);System.out.printIn(xzi="+i);System.out.printlnCzj=+j);System.out.printIn(z*k="+k);)其结果为:C:,javaArithmaticOpa=9b=18c=4d=14e=-14f=-2g=18.4h=2.4i二5j=3k二5?3.2关系运算符关系运算符用来比较两个值,返回布尔类型的值true或falseo关系运算符都是二元运算,如下表所示:符运算符用法返回true的情况opl,op2opl大于op2,+opl,=op2opl大于或等于op2,opl,op2opl小于op2,=opl,=op2opl小于或等于op2=opl=op2opl与op2相等!-opl!=op2opl与op2不等Java中,任何数据类型的数据(包括基本类型和组合类型)都可以通过二或!二来比较是否相等(这与c、C+不同)。关系运算的结果返回true或false,而不是C、C+中的1或Oo关系运算符常与布尔逻辑运算符一起使用,作为流控制语句的判断条件。如if(a,b&&b=c)?3.3布尔逻辑运算符布尔逻辑运算符进行布尔逻辑运算,如下表所示:oplop2opl&&op2oplop2!oplfalsefalsefalsefalsetruefalsetruefalsetruetruetruefalsefalsetruefalsetruetruetruetruefalse、Il为二元运算符,实现逻辑与、逻辑或。?&&?!为一元运算符,实现逻辑非。?对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式的值为false,则不必对右边的表达式求值,整个表达式的结果为falseo下面的例子说明了关系运算符和布尔逻辑运算符的使用。publicclassRelatiOnAndConditionOppublicstaticvoidmain(Stringargs)inta=25,b=3;booleand=a,b;/d=falseSystem,out.printIn(,a,b="+d);inte=3;if(e!=0&&ae,5)System,out.println(zzae="+ae);intf=0;if(f!=O&&a/f,5)System,out.println(z,af=+a/f);elseSystem,out.printIn(/zf="+f);)其运行结果为:C:,javaRelatiOnAndCondition0pa,b=falsea/e=8f=0注意:上例中,第二个if语句在运行时不会发生除0溢出的错误,因为e!=0为false,所以就不需要对a/e进行运算。?3.4位运算符位运算符用来对二进制位进行操作,Java中提供了如下表所示的位运算符:位运算符中,除,以外,其余均为二元运算符。操作数只能为整型和字符型数据。码3.4.1补JaVa使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。补码的规定如下:对正数来说,最高位为0,其余各位代表数值本身(以二进制表示),如+42的补码为00101010o负数而言,把该数绝对值的补码按位取反,然后对对整个数加1,即得该数的补码。如-42的补码为11010110(00101010按位取反11010101+111010110)用补码来表示数,0的补码是唯一的,都为00000000。(而在原码,反码表示中,+0和-0的表示是不唯一的,可参见相应的书籍)。而且可以用IllIll表示T的补码(这也是补码与原码和反码的区别)o3.4.2按位取反运算符,,是一元运算法,对数据的每个二进制位取反,即把1变为0,把0变为1。例如:00101011101010注意,运算符与-运算符不同,21?-21o3. 4.3按位与运算符&参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为Oo即:0&0=0,0&1=0,1&0=0,1&1=1第四章流控制王曦东王克宏郁欣孙元与C、C+相同,Java程序通过流控制来执行程序流,完成一定的任务。程序流是由若干个语句组成的。语句可以是单一的一条语句(如c=a+b;),也可以是用大括号括起来的一个复合语句。面我们分别来介绍Java中的流控制语句,包括下1 .分支语句:if-else,break,switch,return.2 .循环语句:while,do-while,for,continue.3 .例外处理语句:try-catch-finally,throw最后我们简单介绍一下注释语句。?4.1分支语句分支语句提供了一种控制机制,使得程序的执行可以跳过某些语句不执行,而转去执4. 行特定的语句。5. 1.1条件语句if-else.if-else语句根据判定条件的真假来执行两种操作中的一种,它的格式为:if(boo1ean-expression)Statementl;elsestatement2;1 .布尔表达式boolean-expression是任意一个返回布尔型数据的表达式(这比C、C+的限制要严格)。2 .每个单一的语句后都必须有分号。3 .语句Statement1,Statement2可以为复合语句,这时要用大括号括起。建议对单一的语句也用大括号括起,这样程序的可读性强,而且有利于程序的扩充(可以在其中填加新的语句)o外面不加分号。4 .else子句是任选的。5.若布尔表达式的值为true,则程序执行StatenIentl,否则执行statement2oelse语句的一种特殊形式为:6.if-if(expressionl)Statementlelseif(exression2)statement2elseif(expressionM)StatementMelseStatementNelse子句不能单独作为语句使用,它必须和if配对使用。else总是与离它最近的if配对可以通过使用大括号来改变配对关系。7.举例:例4.1比较两个数的大小,并按从小到大的次序输出。publicclassCompareTwopublicstaticvoidmain(Stringargs)doubledl=23.4;doubled2=35.1;if(d2,=dl)System,out.println(d2+zz,="+dl);elseSystem.out.Println(dl+,=+d2);)运行结果为:C:,javaCompareTwo35.1,=23.4例4.2判断某一年是否为闰年。闰年的条件是符合下面二者之一:?能被4整除,但不能被100整除;?能被400整除,又能被100整除。publicclassLeapYearpublicstaticvoidmain(Stringargs)intyear=1989;/method1if(year(M=O&&year

    注意事项

    本文(Java入门.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开