




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 Java语法基础教学目标n 掌握Java关键字和标识符n 掌握Java的基本数据类型n 掌握和变量n 掌握Java代码的基本知识n 掌握Java的表与运算符© 2006, ZTE Corporation.s.2.1关键字大家回忆一下我们在学习汉语的时候,开始学的是什么?肯定是先学一些单个的字,只有认识了单个的字,然后才能组成词,然后才能慢慢的到句子,然后到文章。 学习同计算机交流跟这个过程是一样的,首先我们得学习一些计算机看得懂的单个的字,那么这些单个字在Java里面就是关键字。© 2006, ZTE Corporation.s. 2.1.1 什么是关键字n Jav
2、a语言保留的,Java的开发和运行平台认识,并能正确处理的一些单词。n 其实就是个约定,就好比我们约定好,我画个勾勾表示去吃饭。了,只要我画个勾勾,大家就知道是什么意思,并能够正确执行了。n 关键字这个约定在Java语言和Java的开发和运行平台之间,我们只要按照这个约定使用了某个关键字,Java的开发和运行平台就能够认识它,并正确地处理。© 2006, ZTE Corporation.s.2.1.2Java中有哪些关键字abstract casedefault extendsassert catchdo finalboolean chardouble finallybreak cl
3、asselse floatint newreturnbyte continue enumforinterface packageshortifimplementsimportnativeinstanceof longprivate static thisvoidprotectedpublicstricfpthrowsuperswitchsynchronizedthrowswhiletransienttryvolatile© 2006, ZTE Corporation.s.2.1.3Java中关键字的基本含义byte:基本数据类型之一,字节类型; short:基本数据类型之一,短整数类
4、型; int:基本数据类型之一,整数类型; long:基本数据类型之一,长整数类型; float:基本数据类型之一,单精度浮点数类型; double:基本数据类型之一,双精度浮点数类型; char:基本数据类型之一,字符类型;boolean:基本数据类型之一,类型;enum:枚举类型;if:条件语句的引导词;else:在条件语句中,表明当条件不成立时的分支;© 2006, ZTE Corporation.s.switch:分支结构的引导词;case:在switch语句中,表明其中的一个分支; default:用在switch语句中,表明一个默认的分支; break:提前跳出一个块;
5、while:用在循环结构中;do:用在"do while"循环结构中;for:一种循环结构的引导词; continue:回到一个块的开始处; abstract:表明类或类中的方法是抽象的; catch:用于处理例外情况,用来捕捉异常; class:类; extends:用来表明一个类是另一个类的子类;© 2006, ZTE Corporation.s.final:用来表明一个类不能派生出子类,或类中的方法不能被覆盖,或一个变量是;一个肯定会被finally:用于处理异常情况,用来执行到的块;implements:表明一个类实现了给定的接口;import:表明要指定
6、的类或包;instanceof:用来测试一个对象是否是一个指定类的实例;interface:接口;native:用来相关的语言(如一个方法是由与C/C+/FORTRAN语言)实现的;new:用来申请新对象; package:包;© 2006, ZTE Corporation.s.private:一种protected:一种public:一种方式:私有模式;方式:保护模式; 方式:公共模式;return:从方法中返回值; static:表明域或方法是静态的,即该域或方法是属于类的;strictfp:用来FP-strict(双精度或单精度浮点数)表,参见IEEE 754算术规范;supe
7、r:当前对象的父类对象的;synchronized:表明一段代码的执行需要同步;this:当前对象的;© 2006, ZTE Corporation.s.throw:抛出一个异常;throws: transient:方法中抛出的所有异常;不用序列化的域;try:尝试一个可能抛出异常的程序块void:表明方法不返回值; volatile:表明两个或多个变量必须同步地发生变化;assert:断言;© 2006, ZTE Corporation.s.2.1.4解释几点(1) 这些关键字的具体含义和使用方面用到的地方讲述。(2) Java的关键字也是随新的版本发布在不断变动中的,不
8、是一成不变的。(3) 所有关键字都是小写的。(4) goto和const不是Java编程语言中使用的关键字,但是是Java的保留字,也就是说Java保留了它们,但是没有使用它们。true和false 以及null不是关键字,而是3个特殊的直接量。(5) 表示类的关键字是class。在后© 2006, ZTE Corporation.s.2.2标识符现在我们已经知道如何表述一个类了,那就是“class”这个关键字,那么属性和方法怎么表达呢?我们是不是需要对每个属性和方法定义一个名字呢,比如:身高、体重等,这就需要标识符了。© 2006, ZTE Corporation.s.2
9、.2.1什么是标识符在Java编程语言中,标识符就是给程序中变量、类、方法命名的符号。Java语言的标识符必须以字母、下划线、符开头,后面可以跟任意数目的字母、数字、下划线和符。此处的字母并不局限于26个英文字母,而且可以包含中文字符、日文字符等。标识符中不可以包含空格, 不能使用Java的关键字和保留字,标识符的长度没有限制。© 2006, ZTE Corporation.s.由于Java语言采用Unicode编码方式,因此Java 的标识符可以使用Unicode所能表示的多种语言的字符。Java语言是区分大小写的,因此abc和Abc是两个不同的标识符。使用标识符时,需要注意如下规
10、则:Ø 标识符可以由字母、数字、下划线和其中数字不能开头。Ø 标识符不能是Java关键字和保留字,但可以包含关键字和保留字。Ø 标识符不能包括空格。符组成,Ø 标识符只能包含殊字符。符,不能包含、#等其他特© 2006, ZTE Corporation.s.2.2.2标识符命名建议(1) 如果标识符由多个单词始,首字母大写 。示例:isText 、 canRunTheCar 等(2) 标识符尽量命名的有意义,让人能够,那么从第二个单词开意 。(3) 尽量少用带$符号的标识符,主要是习惯问题,大家都不是很习惯使用带$符号的标识符;还有在某些特 定
11、的场合,$具有特殊的含义 。(4) 由于Java语言使用Unicode 字符集,所以字母包括:ØØØØA-Z和a-z;Unicode 字符集中序号大于0xC0的所有符号; Unicode 字符集支持多种看起来相同的字母; 建议标识符中最好使用ASCII字母 。© 2006, ZTE Corporation.s.(5) 标识符不应该使用中文,虽然中文标识符也能够正常编译和运行,其如上一点讲到的:是把中文当作Unicode字符集中的符号来对待了。例如如下程序是可以正常编译和运行的,但是不建议这么做:publicclass Testpublic st
12、atic void main( String args)StringJava学院= "中文标识符测试"System.out.println("Java学院="+Java学院);运行结果:Java学院=中文标识符测试© 2006, ZTE Corporation.s.2.2.3示例一下列哪些是正确的标识符:my Variable9pins a+ctesting1-2-3 It's java¨错误的标识符及其分析如下:my Variable9pins a+ctesting1-2-3 It's java¨/
13、含有空格/首字符为数字/加号不是字母/减号不是字母/单引号不是字母/与号不是字母© 2006, ZTE Corporation.s.2.2.4示例二好了,现在来用Java代码表示前面抽象出来的人这个类,如下:class/姓名name;/体重weight;/身高height;发现新的问题来了,我们定义的这个weight和height应的,那么在Java中怎么表达给weight和height设该是有置呢?这就需要下面讲的数据类型了。© 2006, ZTE Corporation.s. 2.3 数据类型2.3.1什么叫数据类型数据类型简单的说就是对数据的分类,对数据各自的特点进行
14、类别的划分,划分的每种数据类型都具有区别于其它类型的特征,每一类数据应的特点和操作功能。例如数字类型的就能够进行加减乘除的操作。在现实生活中,我们通常会对信息进行分类,从而使得我们能很容易的某个数据是表示一个百分数还是一个日期,我们通常是通过数字是否带“%”,或者是否是一个我们熟悉的“日期格式”。© 2006, ZTE Corporation.s.类似的在,计算机也需要某种方式来某个数字是什么类型的。这通常是需要程序员显式来某个数据是什么类型的,就Java是这样的。Java是一种强类型的语言,凡是使用到的变量,在编译之前一定要被显式的。© 2006, ZTE Corpora
15、tion.s.2.3.2Java数据类型的分类Java 里面的数据类型从大的方面分为两类,一是基本数据类型,一是引用类型,Java数据类型层次图如下:字节1个:byte短整数2个:short 整数4个:int长整数8个:long型 1个:Boolean整数类型基本数据类型数值类型字符型 2个:char单精度4个:float实数类型双精度8个:double数据类型类数据类型接口数组© 2006, ZTE Corporation.s.通常所说的整型,实际指的是如下四种类型:Øbyte:一个 byte 型整数在内存里占8位,表数范围是:-128 (-27) 到127 (27-1)
16、。short:一个 short 型整数在内存里占16位, 表数范围是:-32768 (-215) 到32767 (215-1) 。int:一个 int 型整数在内存里占32位,表数范围是:-2147483648 (-231) 到2147483647(231-1) 。long:一个 long 型整数在内存里占64位,ØØØ表数范围是:-到8 (-263)7 (263-1) 。© 2006, ZTE Corporation.s.Java 中整数有4种表示方式:二进制、十进制、八进制、十六进制,其中以0b(0B)开头;八进制二进制的整数以0开头;十六进制的整数
17、以的整数0x或者0X开头,其中1015分别以af(此处的af不区分大小写)来表示。© 2006, ZTE C是最常用的整数类型,因此通常情况下,一个Java整数默认就是 int 类型。除此之外,有如下两种情形必须指出:(在byte或short类Ø如果直接将一个较小的整数型的表数范围内)赋给一个byte或short变量,系统会自动把这个整数变量当成byte或者short类型来处理。(超出了int类型的表Ø如果使用一个巨大的整数数范围)时,Java自动把这个整数当成long类型来处理。如果希望系统把一个整数当成long类型来处理,应在这
18、个整数后增加 l或者L作为后缀。通常推荐使用L,因为 l 很容易跟1搞混。© 2006, ZTE Corporation.s.【例2.1】 以下代码验证了如果数据过长则有可能出现的问题。public classDataDemo01public static void main(String int num=args)99999999;以上代码为int变量初始化时值超过了其本身的范围的情况,所以在编译出现了错误提示。© 2006, ZTE Corporation.s.注意:可以把一个较小的整数(在int类型的表数范围以内) 直接赋给一个long类型的变量,这并不因为Java会
19、把这个较小的整数当成long类型来处理。Java依然把这个当成int类型来处理,只是这整数个int类型的值会自动类型转换到long类型。© 2006, ZTE Corporation.s.当整数的数据对象超出了可以表示的范围,而又没有做数值范围的检查时,这个整型变量所输出的值将 发生紊乱,且不是预期的运行结果。【例2.2】 将整型的最大值加1和加2。public classDataDemo02public static void main(String args)int max=Integer.MAX_VALUE; System.out.println("整型的最大值: &
20、quot;+max);System.out.println("整型的最大值+1:" +(max+1);System.out.println("整型的最大值+2:" +(max+2);© 2006, ZTE Corporation.s.若是想避免这种情况的发生,在就必须加上数值范围的检查功能,或者使用较大的表示范围的数据类型,如长整型。为了避免int类型的溢出,可以在该表的任一后加上大写的L,或在变量前面加上long,做强制类型转换。【例2.3】 使用强制类型转换,防止数据溢出。publicclassDataDemo03publicstaticv
21、oidmain(String args)int max=Integer.MAX_VALUE; System.out.println("整型的最大值: " +max);System.out.println("整型的最大值+1: " +(max+1);System.out.println("整型的最大值+2: " +(max+2L); System.out.println("整型的最大值+2:" +(long)max+2);© 2006, ZTE Corporation.s.字符类型字符类型在内存里占两个字节
22、,可以用来保存英文字母等字符。严格来说,字符类型也算是整数类型的一种。虽然各类的编码系统合起来有数百种之多,却没有一种是包含足够的字符、标点符号及常用的专业技术符号。Unicode为每一个字符制定了一个唯一的数值,因此,在任何的语言都可以安心地使用。Java所使、平台、用的就是Unicode字符码系统。© 2006, ZTE Corporation.s.: A, b, ?, !, 9, 好 , t, ,等,即用单引号括起的Unicode表中的一个字符。 变量:使用关键字char来char型变量【例2.4】 测试字整型之间的相互转换。public class DataDemo04pub
23、lic static void main(String args) char ch1 = 97 ;char ch2 = 'u9999' System.out.println("ch1 = " + ch1) ; System.out.println("ch2 = " + ch2) ;© 2006, ZTE Corporation.s.浮点类型浮点型分为float和double型。1float 型:453.5439f,21379.987F,231.0f(小数表示法),2e40f(2乘10的40次方,指数表示法)。 变量:使用关键字f
24、loat来2double 型float型变量。:2389.539d,2318908.987,0.05(小数表示法),1e-90(1乘10的-90次方,指数表示法)。 变量:使用关键字double来double型变量。© 2006, ZTE Corporation.s.需要注意的是,使用浮点型数值时,默认的类型是double,在数值后面可加上D或是d,作为double类型的标识。在Java中,D或者d是可有可无的。在数据后面加上F或f,则作为float类型的识别。一个浮点型数据若没有加上任何字符,Java就会将其视为double 类型,而在编译时就可能会发生错误,错误提示会告诉设计者可
25、能会损失精度。© 2006, ZTE Corporation.s.【例2.5】 浮点型数据测试。public class DataDemo05 public static void main(String args) float num=3.0;/改成float num=3.0f;System.out.println("两个小数相乘:"+num*num);© 2006, ZTE Corporation.s.类型(boolean)类型的变量只有true(真)和false(假)两种。也就是说,个变量定义类型时,它的值只能是true或false,除成此之外,没
26、有其他的值可以赋给这个变量。:true,false。 变量:使用关键字boolean来时也可以赋给初值,例如:逻辑变量,booleanx,ok=true;© 2006, ZTE Corporation.s.【例2.6】型数据测试。public class DataDemo06 public static void main(String args) booleanflag = true ;System.out.println("flag = " + flag) ;注意:值通常用来程序的流程。型数据不能与整型转换。© 2006, ZTE Corporati
27、on.s.在Java中,若在变量的时没有给变量赋初值,则会给该变量赋默认值,表2-1列出了各种类型的默认值。表2-1基本数据类型的默认值© 2006, ZTE Corporation.s.序号数据类型默认值1byte(byte)02short(short)03int04long0L5float0.0f6double0.0d7charu0000(空,)8booleanfalse在某些情形下,Java会给予这些没有赋初值的变量一个确切的默认值,这没有任何意义,是没有必要的,但应该保证程序执行时有这种未定义值的变量。虽然这种方式给程序编写者带来了很多便利,但是过于依赖系统给变量赋初值,就不
28、容易检测到是否已经给予变量应有的值了,这是需要注意的问题。© 2006, ZTE Corporation.s.数据类型的自动转换在已经定义好了数据类型的变量,若要用另一种数据类型表示时,Java会在下列的条件皆成立时,自动做数据类型的转换:(1) 转换前的数据类型与转换后的数据类型兼容。(2) 转换后的数据类型的表示范围比转换前的类型大。下列基本类型会涉及数据转换(不包括些类型按精度从“低”到“高”排列:类型)。将这byteshortcharintlongfloatdouble© 2006, ZTE Corporation.s.【例2.7】 数据类型的转换。public c
29、lass DataDemo07 public static void main(String args) intx = 30 ;floaty = 22.19f ;System.out.println("x / y = " + (x / y) ; System.out.println("10 / 3.5 = " + (10 / 3.5) ; System.out.println("10 / 3 = " + (10 / 3) ;© 2006, ZTE Corporation.s.注意:任何类型的数据都向String类型。有一种表
30、示字符串的数据类型String,从其定义上可以发现单词首字母大写了,所以此为一个类,属于型数据类型,但是此类属于系统的类,而且使用上有一些注意事项,在当前需要知道的是:(1)行String可以像普通变量那样直接通过赋值的。字符串是使引号括起来的。两个字符串之间可以使用“+”进行连接。(2)任何数据类型碰到String类型的变量或之后都要向String类型转换。© 2006, ZTE Corporation.s.【例2.8】 定义字符串变量。public class DataDemo08 public static void main(String args) Stringstr =
31、"lixinghua" ;intx = 30 ;str = str + x ; System.out.println("str = " + str) ;© 2006, ZTE Corporation.s.【例2.9】 字符串操作的问题。public class DataDemo09 public static void main(String args) int inti = 1 ; j = 2 ;System.out.println("1 + 2 = " + i + j) ; System.out.println(&quo
32、t;1 + 2 = " + (i + j) ;© 2006, ZTE Corporation.s.注意:(1) String不是原始的数据类型,而是一个类(class)。(2) String包含的字符数量是任意多个,而字符类型只能是一个。要特别注意:”a”表示的是字符串,而a表示的是字符类型,它们的意义和功能都不同。(3) String的默认值是null。© 2006, ZTE Corporation.s.数据类型的强制转换当两个整数进行运算时,其运算的结果也会是整数。因此,在Java中若是想要得到计算的结果是浮点数时,可以将数据类型做强制性的转换,转换的语法如下
33、:(要转换的数据类型)(表)© 2006, ZTE Corporation.s.【例2.10】 字符串操作的问题。public class DataDemo10 public static void main(String args) float intf = 30.3f ;x = (int) f;System.out.println("x = " + x) ; System.out.println("10 / 3 = " + (float)10 / 3) ; System.out.println("12%3 = " +(i
34、nt)(6.5+x/5)%3);© 2006, ZTE Corporation.s.1. 变量变量是Java程序的一个基本单元,变量由一个标识符类型及一个可选初始值的组合定义。此外,所有的变量都有一个作用域,生存期。变量的值是可以改变的。变量的创建通过什么完成,执行变量语句是,系统根据变量的数据类型在内存中开辟相应的 空间并赋予初始值。变量的定义规则(1) 遵从所有标识符的规则。(2) 所有变量都可以大小写混用,但首字符应小写。(3) 尽量不要使用下划线和$符号。© 2006, ZTE Corporation.s. 2.是变量中的一个特例,用final关键字修饰,是值不可改
35、变的,也就是单元中的数据是不能更说改的。对的命名的定义规则:建议尽量全部大写,并用下划线将词分隔。如:JAVAKC_CLASS、PI、FILE_PATH© 2006, ZTE Corporation.s.1. 语句用分号“;”结尾的一行代码就是语句,Java中语句必须以“;”结尾。可以有块语句,例如:inti=0;intj=0; i+;2. 块(block)一个块是以 如: 作为边界的语句的集合,块可以嵌套。例inta=10;Strings=" "System.out.println("块可以嵌套!");© 2006, ZTE Cor
36、poration.s.3. 注释(1) /(2) /*(3) /*单行注释多行注释文档注释*/*/4. Java编码约定class(类)类名应该是名词,大小写可混用,但首字母应大写。例如:classAccountBook、classComplexVariableinterface(接口)接口名大小写规则与类名相同。method(方法)方法名应该是动词,大小写可混用,但首字母应小写。在每个方法名内,大写字母将词分隔, 并限制使用下划线。例如:baianceAccount()、addComplex( )© 2006, ZTE Corporation.s.variables(变量)所有变量
37、名都可以大小写混用,但首字母应小写。词由大写字母分隔,并限制使用下划线,符号($),因为这个字符对内部类有特殊的限制使用含义。变量应该代表一定的含义,通过它可传达给读者使用它的意图。尽量避免使用单个字符,除非是临时“即用即扔”的变量(例如用i、j、k作为循环例如:currentCustomer、myValue变量)。constant(分隔。)应该全部大写,并用下划线将词例如:MAX_VALUE、MIN_SIZEcontrol structures(结构)当语句是结构的一部分是,即使是当语句也应使用花括号将语句封闭。例如:if(条件)语句 © 2006, ZTE Corporation
38、.s.blank(空格)Java任何数量的空格都是的,但标识符中的空格是错误的,字符串中的空格是有效的。spacing(语句行)每行只写一条语句,并使用四个缩进的空格使代码更易读。comments(注释)用注释来说明那些不明显的代码段落。对一般注释使用 /分隔符,而大段的代码可使用 /*/分隔符,使用 /*/分隔符将注释形成文档,并输入给javacdoc以生成HTML代码文档。© 2006, ZTE Corporation.s.5、编程风格n 遵守一门语言的编程风格是非常重要的,否则编写的代码将难以阅读,给后期的维护带来诸多不便n 在编写Java,许多地方都涉及使用一对大括号,如类的
39、类体、方法的方法体、循环语句的循环体以及分支语句的分支体等都涉及使用一对大括号扩起若干内容,即俗称的“代码块”都是用一对大括号扩起的若干内容。“代码块”有两种流行(也是行业都遵守的习惯)的写法:Allmans风格和Kernighan风格,本课程后续章节的绝大多数代码将采用Kernighan风格。© 2006, ZTE Corporation.s. Allmans风格Allmans风格也称“独行”风格,即左、右大括号各自行,如下列代码所示。class Allmanspublic static void main(String args)intsum=0,i=0,j=0;for(i=1;
40、i<=100;i+)sum=sum+i;System.out.println(sum);© 2006, ZTE Corporation.s.Kernighan风格Kernighan风格也称“行尾”风格,即左大括号在的行尾,而右大括号行,如下列代码所示。class Kernighan public static void main(String args) intsum=0,i=0,j=0;for(i=1;i<=100;i+) sum=sum+i;System.out.println(sum);© 2006, ZTE Corporation.s. 2.6 运算符、
41、表Java中的语句有很多形式,表就是其中一种形式。表是由运算对象与运算符所组成的。运算对象可以是、变量,也可以是方法,而运算符就是数学中的运算符号,如“+”、“-”、“*”、“/”、“%”等。在表(z+100) 中,z与100都是运算对象,而“+”就是运算符。© 2006, ZTE Corporation.s.n 整数之间最常见的运算就是四则运算,即加、减、乘、除。n 加、减、乘、除和求余运算符:+,-,*,/,% 是二元运算符,即连接两个操作元的运算符。*,/,%运算符的优先级(3级)高于加、减运算符(4级)。n 此外还有一元操作符+(正号)、-(负号) 。括号连接起来的符合Jav
42、a语法n 用算术运算规则的式子,称为算术表。© 2006, ZTE Corporation.s.【例2.11】 算术运算符的使用。public class OperateDemo01 public static void main(String args) int inti = 10;j = 3;System.out.println(i + " + " + j + " = " + (i+j); System.out.println(i + " - " + j + " = " + (i-j); System
43、.out.println(i + " * " + j + " = " + (i*j); System.out.println(i + " / " + j + " = " + (i/j); System.out.println(i + " % " + j + " = " + (i%j);© 2006, ZTE Corporation.s.2.6.2自增与自减运算符自增、自减运算符:+,-是一元运算符,可以放在操作元之前,也可以放在操作元之后;操作元必须是一个整型或浮点
44、型变量;作用是使变量的值增1或减1,如:n +x(-x)表示在使用x之前,先使x的值增(减)1。n x+(x-)表示在使用x之后,使x的值增(减)1。© 2006, ZTE Corporation.s.【例2.12】 验证自增和自减。public class OperateDemo02 public static void main(String args) int inta = 3,b = 3 ; x = 6,y = 6 ;System.out.println("a = " + a) ; System.out.println("ta+="+(
45、a+)+",a="+a); System.out.println("b = " + b) ; System.out.println("t+b="+(+b)+",b="+b); System.out.println("x = " + x) ; System.out.println("t x- = " + (x-) + ",x = " + x) ; System.out.println("y = " + y) ; System.out.pr
46、intln("t-y="+(-y)+",y="+y);© 2006, ZTE Corporation.s.2.6.3赋值运算符与赋值表n 赋值运算符:“=”是二元运算符,左面的操作元必须是变量,不能是n 复合赋值运算符或表。+=加赋值、=减赋值、*=乘赋值、/=除赋值、%=模赋值。&=按位与赋值、|=按位或赋值、=按位异或赋值、=按位取反赋值、<<=左移位赋值、>>=右移位赋值、>>>=无符号右移位赋值。例如 x=x+10;则可写成x+=10;© 2006, ZTE Corporati
47、on.s.【例2.13】 验证复合赋值。public class OperateDemo03 public static void main(String args) intx = 5;x -= x * x;System.out.println("x = " + x);© 2006, ZTE Corporation.s.2.6.4关系运算符与关系表© 2006, ZTE Corporation.s.运 算 符优 先 级用法含义结 合 方 向><>=<=!=666677op1>op2 op1<op2 op1>=op
48、2 op1<=op2 op1=op2op1!=op2大于小于大于等于小于等于等于不等于左到右左到右左到右左到右左到右左到右【例2.14】 关系运算符的使用。public class OperateDemo04 public static void main(String args) System.out.println("3 > 1 = " + (3 > 1) ; System.out.println("3 < 1 = " + (3 < 1) ; System.out.println("3 >= 1 = &q
49、uot; + (3 >= 1) ; System.out.println("3 <= 1 = " + (3 <= 1) ; System.out.println("3 = 1 = " + (3 = 1) ; System.out.println("3 != 1 = " + (3 != 1) ;© 2006, ZTE Corporation.s. 注意:1、关系表的结果只会是true或者false,与逻辑表的结果是一致的。2、在Java中关系运算符的>、>=、<、<= 运算对象不能是类
50、型及字符串类型,可以是整型、实型和字符型。=、!= 可以是任何类型,但必须同为布尔类型或者同为字符串类型。© 2006, ZTE Corporation.s.2.6.5逻辑运算符与逻辑表© 2006, ZTE Corporation.s.op1op2op1&&op2op1|op2!op1truetruetruetruefalsetruefalsefalsetruefalsefalsetruefalsetruetruefalsefalsefalsefalsetrue注意:1、在Java中逻辑运算符的运算对象必须是类型,即类型、变量或者关系表及逻辑表。,而不能是
51、其他类型的、变量、表2、求值短路:当&&左侧表为false则不继续计算右侧表,直接给结果false;当|左侧表为true则不继续计算右侧表3、如果“&”、“|”,直接给结果true。的两个运算对象同为类型时,则执行的是非短路的逻辑与和逻辑或运算。如果“&”、“|”的两个运算对象同为整型时,则执行的是按位与和按位或的位运算。如果“&”、“|”的一个运算对象为类型,一个运算对象为整型,则报错。© 2006, ZTE Corporation.s.【例2.15】 逻辑运算符的正确使用。public class OperateDemo05 public
52、static void main(String args) boolean a = true ;boolean b = false ; System.out.println("a | b = " + (a | b) ; System.out.println("a | b = " + (a | b) ;System.out.println("a && b = " + (a && b) ; System.out.println("a & b = " + (a & b) ;
53、 System.out.println(2&&3); /删除后可编译运行© 2006, ZTE Corporation.s.【例2.16】多个条件。public class OperateDemo06 public static void main(String args) int score = 50 ; if(score<0)|(score>100)System.out.println("输入的成绩有错误!") ;if(score<60)&&(score>49) System.out.println("成绩不及格,补考!");© 2006, ZTE Corporation.s.【例2.17】 验证短路与非短路。public class OperateDemo07 public static void main(String args) int x=6; System.out.println(false&&1<+x) ; System.out.pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车检测及维修师傅技能资格知识考试题与答案
- 南风艺术培训学校简介
- 质量管理培训体系构建与实施
- 心康部部门培训-构建心理健康防护体系
- 《灰姑娘的故事》课件
- 《医学伦理学案例》课件
- 《数理逻辑概览》课件
- 《社会主义核心价值观教育》课件
- 日军投降协议书
- 车库标线销售合同协议
- 《广播电视与通信》课件
- 新能源汽车运用与维修专业人才培养方案
- 2024北京初三(上)期末语文汇编:议论文阅读
- 小学数学《分数除法》50道计算题包含答案
- 预付煤款合同模板
- 光影中国学习通超星期末考试答案章节答案2024年
- 工科中的设计思维学习通超星期末考试答案章节答案2024年
- 2020年全国II卷英语高考真题试题(答案+解析)
- 脑洞大开背后的创新思维学习通超星期末考试答案章节答案2024年
- 科傻平差软件说明指导书
- ipo上市商业计划书
评论
0/150
提交评论