收藏 分销(赏)

第2章 Java语法基础-new.ppt

上传人:s4****5z 文档编号:13964438 上传时间:2026-05-18 格式:PPT 页数:116 大小:2.02MB 下载积分:10 金币
下载 相关 举报
第2章 Java语法基础-new.ppt_第1页
第1页 / 共116页
第2章 Java语法基础-new.ppt_第2页
第2页 / 共116页


点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,Page,*,JAVA,单击此处编辑母版标题样式,JAVA,单击此处编辑母版文本样式,第二级,第三级,第四级,单击此处编辑母版标题样式,Page,1,Review 1:,试着编写一个简单的,java application,程序,当通过,java Welcome,命令时,可以在命令行界面上打印一行语句:,“,Welcome to Java World!”,Page,2,Welcome to Java World!,/,welcome.java,:this application program prints Welcome to Java World on the console!,public,class,Welcome,public static void,main,(String,args,),System.out.println,(“Welcome to Java World!”);,Java,程序至少包含一个类,每个类从类的声明开始,定义自己的数据和方法。,public,为修饰符;,Class,为保留字;,Welcome,为类的名字,注:保存的时候文件名要和类名一致,包括大小写,Page,3,编译源程序,首先在命令提示符下,进入该文件的根目录,用,javac,命令编译源文件,如:,javac,Welcome.java,运行,Java,程序,执行,java,命令就可运行,Java,程序,,如:,java,Welcome,Page,4,编写源程序,(,例,MyFirstApplet.java,),import,java.applet,.*;,import,java.awt,.*;,public,class,MyFirstApplet,extends,Applet,public void,paint(Graphics,g),g.drawString(Hello,!java world!,2,20);,Review 2:Applet,程序的编写与运行,Page,5,编译源程序,建立,MyFirstApplet.html,,将,MyFirstApplet.class,字节码文件放入其中。,MyFirstApplet,program,浏览,MyFirstApplet.html,Page,6,小窍门:为他人的阅读提供方便,文档生成器(,javadoc.exe,),接受源文件(后缀为,.java,)输入,然后自动生成一个,HTML,文件,内容包括,java,源文件中的类、变量、方法、接口、异常等。,实现步骤:,在文档中利用,/*.*/,实现注释,利用,javadoc,-d path,Welcome.java,命令,第,2,章,Java,语法基础,Page,8,本章目录,2.1 Java,程序的结构,2.2,标识符和关键字,2.3,数据类型,2.4,常量和变量,2.5,运算符和表达式,2.6,流程控制,Page,9,教学目标,了解,Java,程序的组成。,熟练掌握,Java,语言中的数据类型。,掌握,Java,中各类运算符的使用方法。,掌握,Java,中表达式的基本原理及使用方法,熟练掌握,Java,语言中的流程控制结构。,掌握,Java,中选择结构的基本原理及使用方法。,掌握,Java,中循环结构的基本原理及使用方法。,Page,10,教学重点,数据类型、运算符和表达式,是编程语言的基本元素,详细了解这些元素是掌握编程语言的基石。,本章首先详细介绍了数据类型,让读者能够了解变量的使用方法,接着讲解了,Java,语言的运算符,让读者明确,Java,编程中变量定义及使用的基本方法。,介绍了表达式的语法形式及使用方法,让读者对于变量的使用有了更深的了解,掌握顺序流程、分支流程语句,并要求学生能灵活应用。,了解和掌握变量作用域,循环流程、与程序转移有关的其它语句。,Page,11,2.1 Java,程序的结构,一、,Java,程序布局,Java,的程序在结构上看,有两个部分:,一个是引入库声明区,引入库声明区的格式如下:,import,类库名;,另一部分是类的定义区,Page,12,2.1 Java,程序的结构,二、,Java,源程序的组成,Java,源文件主要包含以下三个要素:,(,1,)一个可选择的包声明语句,格式如下:,package,语句,;,(,2,)任意数量的引入类声明语句,格式如下:,import,已有类名,;,(,3,)类和接口的声明,只能有一个可见性为,public,的类,且要求源文件必须和,public,类名相同,而且大小写都完全一致。,Page,13,2.2 Java,程序的一些特殊语句,一、注释语句,注释,:,是为源程序增加必要的解释说明的内容,其目的是提高程序的可读性,书写注释是编写程序的良好习惯。,Java,中有三种形式的注释:,/,注释部分 (单行),/*,注释部分*,/,(多行),/*,注释部分*,/,(多行),Page,14,一、注释语句,段落注释,:,/*this is a comment*/,或,/*that continues,*across lines,*/,2.2 Java,程序的一些特殊语句,Page,15,一、注释语句,文档注释,:,/*Class Name:,MyClass,Author:michale,Ma,Version:1.0,Date:apr,16 2010,This is the first java applet!,*/,2.2 Java,程序的一些特殊语句,Page,16,一、注释语句,注释文档根据它所注释的内容,分成三类:,变量,方法和类,。,类的注释,一定要出现在类定义的前面;,变量注释,要出现在变量定义的前面;,而,方法注释,则要出现在方法定义的前面。,注释和定义之间在不能有任何东西,2.2 Java,程序的一些特殊语句,Page,17,例如:,/*A class comment*/,public class,doctest,/*A variable comment */,public,int,I;,/*A method comment */,public void f(),2.2 Java,程序的一些特殊语句,Page,18,一、注释语句,文档注释除了在标准表格中使用文档方法和类的特定起始标签,外,还包括,HTML,标记,。,后跟一个定义标签用途的关键字。,2.2 Java,程序的一些特殊语句,Page,19,定 义,说 明,author,常用来定义作者的代码。,deprecated,应用在库类和方法的文档中,用以标识它们已经被代替,通常不应该使用在新的应用程序中,exception,用来为代码可能出现的异常和引起异常的地方提供文档。,link,在产生的文档内,生成一个到文档其他部分的链接。花括号用来与同行的其余文本分割开,param,用来描述一个方法的参数。,return,用来提供方法的返回值。,see,用来指定对代码其他部分的交叉引用,例如:其他类或方法,也可以引用一个,URL,。,throws,exception,的同义词。,version,用来说明当前代码的版本。,2.2 Java,程序的一些特殊语句,Page,20,一、标识符,标识符的引入:,程序开发人员需要对程序中的变量、方法等元素加以命名,以确保它们的唯一性,这时用到标识符。,什么是标识符:,变量、方法、类和对象的,名称,都是标识符,2.2 Java,标识符和关键字,标识符的组成:,以字母、下划线或美元符号开始的字符序列,后跟字母、数字、下划线或美元符号。,Page,21,使用标识符的,注意事项,标识符,区分大小写,。,不用使用,Java,关键字来命名。,标志符不能以数字开头,标志符中间也不能包括空格或制表符;,没有长度限制,但不建议使用太长的标识符。,可以使用中文作为标识符,练习:找出合法的标识符,2teacher,studentName,Student_Name,room#abstract _,my_value,$address,3a,int,my date email,2.2 Java,标识符和关键字,Page,22,二、关键字,(,保留字,),abstract,break,byte,boolean,catch,case,char,class,continue,default,do,double,else,extends,false,final,float,for,finally,if,import,implements,int,interface,instanceof,long,length,native,new,null,package,private,protected,public,return,switch,synchronized,short,static,super,try,true,this,throw,throws,threadsafe,transient,void,volatile,while,2.2 Java,标识符和关键字,Page,23,请判断下列标识符哪些合法哪些不合法?,123,,,abs,$123,myname,my name,MYname,#,myname,_,myname,My_name,2.2 Java,标识符和关键字,Page,24,三、,J2EE,命名规范,类名和接口名:,各单词首字母大写,其余字母小写。如,SamDoc,,,HelloWorldApp,方法名和变量名:,一般首字母小写,后面每个单词的第一个字母大字。如,delStudent,包名:,字母全部小写。如,,com.abc.dollapp,。,常量名:,采用大写形式,单词之间以下划线,“,_,”,隔开。如,DEFAULT_COLOR_DOL,。,2.2 Java,标识符和关键字,Page,25,数据类型,基本数据类型,引用数据类型,数值型,字符型:,char,布尔型:,boolean,整型:,byte,short,int,long,实型:,float,double,类:,class,数组和字符串,接口:,interface,2.3,数据类型,Page,26,一、基本数据类型,基本数据类型,:,也称作简单数据类型。,Java,语言有,8,种简单数据类型,分别是:,boolean,布尔型,byte,字节型,short,短整型,int,整型,long,长整型,float,单精度,double,双精度,char,字符型,2.3,数据类型,Page,27,基本数据类型习惯上可分为,4,大类型:,整数类型:,byte,、,short,、,int,、,long,浮点类型:,float,、,double,字符类型:,char,逻辑类型:,boolean,Java,的基本数据类型长度是固定的,可以跨平台自由移植。,(c,语言的基本数据类型根据平台的不同会有所参别,),一、基本数据类型,2.3,数据类型,Page,28,二、整型数据类型,(,字面值及变量,),整型数据类型,:,不含小数点的数字为整数类型。例如:,-124,、,948,、,0,等。有以下,4,种:,整数类型,说明类型,占用位数,数据范围,byte,字节型,8,-2,7,2,7,-1,short,短整型,16,-2,15,2,15,-1,int,整型,32,-2,31,2,31,-1,long,长整型,64,-2,63,2,63,-1,2.3,数据类型,Page,29,数据,类型,字节,取值范围,示例,byte,1,-128127,byte,val,=12;,short,2,-3276832767,short,val,=12;,int,4,-2,147,483,6482,147,483,647,int,val,=12;,long,8,-9,223,372,036,854,775,808,9,223,372,036,854,775,807,long val1=12;,long val2=34L;,二、整型数据类型,(,字面值及变量,),2.3,数据类型,Page,30,整型字面值:,整型数据可以表示,10,进制、,8,进制、,16,进制。,10,进制:,123,,,-234,;,8,进制:,0123,,,-0234,;,16,进制:,0 x64,-0 xff;,思考:在书写表达上它们有什么区别?,整型默认为,int,型,若是长整形需要在数据后加上字母,L,。例如:,123,为,int,型,而,123L,则是,long,型,二、整型数据类型,(,字面值及变量,),2.3,数据类型,Page,31,整型变量:,例:,int,x=123;,long y=123,L,;,long z=123,l,;,byte,luckyNumber,=7;,short,smallNumber,=1234;,注意:,必须确保变量的初始值在相应数据类型的取值范围之内,否则编译器就会报错。,Java,中没有无符号型整数。,二、整型数据类型,(,字面值及变量,),2.3,数据类型,Page,32,三、浮点数据类型,(,字面值及变量,),浮点数据类型:,含小数点的数字为浮点类型。例如:,-38.32,、,34.0,等。有以下,2,种:,实数类型,说明类型,占用位数,数据范围,float,单精度,32,-2,-149,(2-2,-23,)2,127,double,双精度,64,-2,-1074,(2-2,-52,)2,1023,2.3,数据类型,Page,33,浮点型字面值:,实型数据用,10,进制形式表示,带有小数部分。如,1.23,-3.45,1.0,用科学计数法形式表示。如,1.23456E+3,、,12345E-4,其中,e,或,E,之前必须有数字,且,e,或,E,后面的指数必须为整数。,实型默认为,double,型,数字后加,f,或,F,为,float,型,加,d,或,D,为,double,型。,三、浮点数据类型,(,字面值及变量,),2.3,数据类型,Page,34,浮点型变量:,例,:,double,sunDistance,=1.496E8;,float,electronMass,=9E-28F;,double x=0.123;,float y=0.123F,z=0.123f;,三、浮点数据类型,(,字面值及变量,),2.3,数据类型,Page,35,动动脑筋,public class,FloatTest,public static void main(String,args,),float f;,f=1.3;,System.out.println,(f);,Page,36,四、字符数据类型,(,字面值及变量,),字符型字面值:,用单引号作为定界符。,如:,x ,X,a,A,字符型变量:,用于存储一个字符,在内存中占,2,个字节。,存储为,Unicode,码形式,如:,char,myChar,=,A,2.3,数据类型,Page,37,字符集:,ASCII,(,American Standard Code for Information Interchange,)字符集:,使用,7,位代码表示大小写字母、数字,09,以及若干控制字符,如换行符。,ISO-8859-1 Latin-1,字符集:,在西欧,用户希望字符集能够表示他们本国字符集的所有字符,,ASCII,字符集因而被扩展到,8,位,即增加了,128,个字符,用于表示英文中不存在的各种西欧语言的字符。,四、字符数据类型,(,字面值及变量,),2.3,数据类型,Page,38,字符集:,Unicode,字符集:,是,ISO,标准,16,位字符集,支持,65536,个不同的字符。其中大约有,21000,个字符专门用于中文、日文和韩文的表意文字。,ASCII,、,ISO Latin-1,都是,Unicode,的子集。,Java,内部使用,2,个字节表示每个字符,采用,Unicode,编码。,四、字符数据类型,2.3,数据类型,Page,39,转义字符:,转义符号以“,”,开头,后跟一个或几个字符或符号来显示一些打印语句不能显示的符号或效果。,例如:,、,、,等等。,n,:,表示回车换行;,t,:,表示制表,(,即,Tab,键,),;,f,:,表示换页;,b,:,表示退格;,r,:,表示回车;,ddd,:,3,位八进制数所代表的字符;,uxxxx,:,4,位十六进制数所代表的字符。,2.3,数据类型,Page,40,五、字符串常量,字符串常量是用一对双引号括起来的一系列字符。,如,”,It is a nice day!,”,和,”,Java,”,;,注意,,c,不等于,“,c,”,。,2.3,数据类型,Page,41,六、布尔数据类型,(,字面值及变量,),布尔型字面值:,只有两个值:,true false,布尔型变量:,例如:,boolean,state=true;,或,boolean,state;,state=true,;,2.3,数据类型,Page,42,各基本数据类型默认缺省值,byte,(,byte,),0,short,(,short,),0,int,0,long 0l,float 0.0f,double 0.0d,char u0000(,空字符,),boolean,false,2.3,数据类型,Page,43,七、有固定序列整型值的变量,(,枚举,),定义枚举型定义结尾不加分号,因为是定义类型,枚举型名字用大写字母开头,枚举值的名字一般用小写字母开头。,例:,enum,Day,Monday,Tuesday,Wednesday,Day,weekday,=,Day,.Tuesday,;,2.3,数据类型,Page,44,八、引用类型,引用类型是一种针对对象的数据类型。,在,Java,中,“引用”指向一个对象在内存中的位置,实质上是一种带有很强的完整性和安全性的限制的指针。,当声明某个类、接口或数组类型的一个变量时,这个变量的值总是某个对象的引用或是,null,引用。,指针,就是简单的地址,而引用除了表示地址外,还可以提供对象其他信息。,指针可以有,+,,,-,运算,引用不可以运算。,2.3,数据类型,Page,45,例:,public class Teacher,private String name;,private,int,age;,private double salary;,public static void,mian(String,args,),Teacher,myTeacher,=new Teacher(“Smith”,30,10000);,代表类型,对象的引用,代表一个对象,八、引用类型,2.3,数据类型,Page,46,总结:,变量有两种类型:,简单类型变量:保存在堆栈中,对象变量:保存在堆中,需要用,new,来分配空间,变量名,Int,型,变量名,字节,对象变量名,32,位地址,对象实际存储空间,2.3,数据类型,Page,47,简单变量,进程,堆栈,一个进程有一个堆栈,独享,堆栈大小有限制,2.3,数据类型,Page,48,对象内容不放在堆栈,stack,中,放在堆,heap,中,对象引用放在堆栈中,对象变量,堆栈,进程,堆对象,对象,2.3,数据类型,Page,49,练习:,定义一 常量,PI,并赋值为,3.14,定义一字符串类型的常量,NAME,并赋值为,qrsoft,定义一整型常量并赋值为,100,定义一字符常量并赋值为,a,2.3,数据类型,Page,50,九、数据类型转换,自动类型转换,两种类型兼容;,目标类型大于源类型;,强制类型转换,两种类型不兼容,目标类型小于源类型,强制类型转换的通用格式如下:,目标类型 变量,=,(目标类型)值;,例如:,int,i=3;,byte b=(byte)i;,赋值语句中的自动类型转换,2.3,数据类型,Page,51,开动脑筋:编译结果是什么?,public class,ByteTest,public static void main(String,args,),byte b;,b=3;,b=b*3;,System.out.println,(b);,Page,52,开动脑筋:编译结果是什么?,public class,ByteTest,public static void main(String,args,),byte b;,b=3;,b=,(byte),(b*3);,System.out.println,(b);,Page,53,输出语句,使用,System.out.print(x,),将数值,x,输出,例如:,double x=10000.0/3.0;,System.out.print(x,);,或,System.out.printf(“,%8.2f,”,x);,System.out.printf(“Hello,%s,Next,year,youll,be,%,d,”,name,age,);,也可以使用,System.out.println,(),语句,Java,程序的一些特殊语句,转换符,类型,举例,d,十进制整数,159,x,十六进制整数,9f,o,八进制整数,237,f,定点浮点数,15.9,e,指数浮点数,1.59e+01,g,通用浮点数,(e,和,f,中较短的,),a,十六进制浮点,0 x1.fccdp3,s,字符串,Hello,c,字符,H,b,布尔,true,h,散列码,42628b2,tx,日期时间,%,百分号,%,n,与平台有关的行分隔符,Page,55,常量:,如果一个存储空间中的数据在程序运行过程中一直都没有发生改变,称这种空间为常量,常量也有常量名,用保留字,final,来定义。,例如,:,final double PI=3.1415926,;,final,int,MY_DATE=5,;,其中,PI,与,MY_DATE,就是常量,注意:,常量只能在定义时赋值,变量可以随时赋值,赋值由赋值符,(=),实现,.,2.4,常量,例如:,final,int,myData1=3;/,定义常量,int,myData2=2;/,定义变量,myData2=5;,给,myDate2,赋值为,5,可以改变,myData2,的值,但是不能改变,myDate1,的值。,Page,56,类常量,:,可以在一个类中的多个方法中使用,使用关键字,static final,public class ConstantsExample2,public,static final,double M=2.54;,public static void,main(string,args,),double width=8.5;,double height=11;,System.out.println(“paper,size in centimeters:”+width*M+”by”+height*M);,2.4,常量,Page,57,一、变量,(Variable),变量,:,一个命名的内存块,用于存储,Java,程序中的信息。每个内存块只能存储一种类型的数据。,变量的,类型和变量名,变量名以,Unicode,字母(国际字符集标准,包括,_,和,$,)开头,接下来是任意数量的,Unicode,字母和数字,类名以大写字母开头,2.4,变量,例子:合法的变量定义,String Name;,int,CardID,;,String,PassWord,;,int,Money;,Page,58,一、变量,(Variable),Java,的变量命名要遵从如下的,三条规则,:,必须由,Unicode,字符集中的字符组成,不能与,Java,语言的关键字相同,或命名成布尔值(,true,或,false,),在同一个作用范围内,不能有相同名字的两个变量。,所谓的,变量的作用范围,是指可以存取变量的代码模块。,变量的作用范围同时也决定了变量何时产生,何时消灭。,2.4,变量,Page,59,变量命名,:按标识符中的命名规则,变量定义:,包括变量名、变量类型和作用域,Type,varName,=value,varName,=value,变量类型,变量名,变量值,例如:,int,x,y,;,double a=3.2,b=7.1;,变量的定义分为两步:,1.,变量声明(,declaration),如:,int,x;,2.,变量赋值(,Assignment,)如:,x=10;,合并这两步即为声明变量同时进行初始化,,如:,int,x=10;,二、变量的命名与定义,2.4,变量,Page,60,声明同时初始化,:让一个变量在生成的时候具有一个指定的常量。,声明后赋值:,在变量生成后,利用赋值语句把数据从内存中的一个位置复制另一个位置。,int,x=10;,x,10,int,x;,x=10;,x,10,10,注意:必须要先声明,再使用。,二、变量的命名与定义,2.4,变量,Page,61,变量的作用域,:,指该变量名可以被引用在程序的那一部分上,。,变量作用域的划分:,局部变量(,Local Variable),:是定义在方法或方法里的程序块中的变量,,从他们被声明的地方开始,一直到包含这个声明的语句块结尾均可被访问,使用前一定要初始化。又可称为:,自动变量,(Automatic Variable),临时变量(,Temporary Variable),栈变量(,Stack Variable),二、变量的命名与定义,2.4,变量,Page,62,变量作用域的例子,1,int,i;/,对这个作用域而言,,i,是局部变量,/,这里不可以访问,i,,,i,在这里不存在,Page,63,变量作用域的例子,2,在某个局部作用域内定义的变量不能在其嵌套的局部作用域中重新定义。,int,i=2;,int,j=4;,int,i=6;/,出错,i,已被定义,j=8;,Page,64,2.5,运算符和表达式,运算符,,也称为操作符,用于对数据进行计算和处理,或改变特定对象的值。,运算符按其操作数的个数来分,可分为一元运算符、二元运算符和三元运算符。,表达式,是运算符、常量和变量的组合。,Java,的表达式既可以单独组成语句,又可以出现于循环条件测试、变量说明、方法的调用参数等场合。,Page,65,名称,符号,算术运算符,,*,,/,,,%,,,赋值运算符,=,扩展赋值运算符,+=,、,-=,、*,=,、,/=,、,%=,、,&=,、,|=,、,=,、,=,、,=,关系运算符,,,=,,,,,,,&,,,|,,,条件运算符,(?:),其他运算符,分量运算符“,”,,下标运算符“,”,,实例运算符“,instance of”,,内存分配运算符“,new”,,强制类型转换运算符(类型),以及方法调用运算符“()”等,2.5,运算符和表达式,Page,66,运算符,用法,作用,+,+op,取正值,-,-op,取负值,+,+op,op+,将某个数,+1,如,a+,或,+a,,,+,写在左边是先自加再赋值,写在右边是先赋值再自加,-,-op,op-,将某个数,-1,如,a-,或,-a,,,-,写在左边是先自减再赋值,写在右边是先赋值再自减,ArithmaticTest1.java,注意:,i+(i,-),与,+,i(-i,),是有区别的,一、算术运算符和算术表达式,2.5,运算符和表达式,Page,67,运算符,用法,作用,+,op1+op2,进行加法运算 如,int,a=3+2;,char b=A;char c=(char)(b+1);,-,op1-op2,进行减法运算 如,int,b=5-3;,*,op1*op2,进行乘法运算 如,int,c=5*3;,/,op1/op2,进行除法运算 如,int,d=10/3;,%,op1%op2,进行取余运算 如,int,e=5%3;,一、算术运算符和算术表达式,2.5,运算符和表达式,Page,68,二、赋值运算符和赋值表达式,运算符,表达式,等效表达式,+=,op1+=op2,op1=op1+op2,-=,op1-=op2,op1=op1-op2,*,=,op1*=op2,op1=,op1,*op2,/=,op1/=op2,op1=op1/op2,%=,op1%=op2,op1=op1%op2,&=,op1&=op2,op1=op1&op2,|=,op1|=op2,op1=op1|op2,=,op1=op2,op1=op1op2,=,op1=op2,op1=,op1,op2,=,op1=op2,op1=,op1,=,op1=op2,op1=,op1,op2,OperatorSample.java,2.5,运算符和表达式,Page,69,三、关系运算符和关系表达式,运算符,用法,返回,true,值时的情况,op1op2,op1,大于,op2,op1=,op1=op2,op1,大于等于,op2,=,op116?160:180;,If(a16),b=160;,else,b=180;,2.5,运算符和表达式,72,格式,:?:,如:,older=,yourAge,myAge,?,yourAge,:,myage,;,相当于如下的,if,语句:,If,(,yourAge,myAge,),older=,yourAge,;,else,older=,myAge,;,条件运算符,(,三目运算符,),Page,73,六、位运算符和移位运算符,运算符,功能,表达式,按位取反,op,&,按位与,op1&op2,|,按位或,op1|op2,按位异或,op1op2,op1,按位右移,op2,位,op1op2,op1,按位左移,op2,位,op1,op1,添零右移,op2,位,op1op2,运算符可将两个值相互交换,而不用把其中的任何一个值移动到其他地方。,2.5,运算符和表达式,Page,74,六、位运算符和移位运算符,LogicOperator.java,符号,名称,作用,&,与,(AND),对应位均为,1,则运算结果为,1,否则为,0,|,或,(OR),对应位均为,0,则运算结果为,0,否则为,1,异或,(XOR),对应位相同,则运算结果为,0,否则为,1,求补,对所有位取相反值,2.5,运算符和表达式,Page,75,六、位运算符和移位运算符,符号,作用,示例,向左移位,从右边补,0,int,a=64,b;,b=a,向右移位,从左边传递符号位,int,a=16,b;,b=a2;/b=4,,右移位,2,次,向右移位,从左边补,0,int,a=16,b;,b=a2;/b=4,,右移位,2,次,练习,假设,,a=00000001b,,若,执行,a1,,,a=,?;,执行,a2,,,a=,?;,执行,a1,,,a=,?;,执行,a3,,,a=,?。,假设:,int,a=-1;,a24=,?,;,2.5,运算符和表达式,76,逻辑运算符,符号,全名,&,逻辑与,(logical AND),&,条件与,(conditional AND),|,逻辑或,(logical OR),|,条件或,(conditional)OR,!,逻辑非,(logical NOT),Page,77,运算符,描述,优先级,结合性,.(),域,数组,括号,1,从左至右,+-!,instanceof,一元运算符,2,从右至左,new(type),内存分配运算符,3,从左至右,*,/%,乘,除,取余,4,从左至右,+-,加,减,5,从左至右,位运算,6,从左至右,=,逻辑运算,7,从左至右,=!=,逻辑运算,8,从左至右,七、运算符优先级,2.5,运算符和表达式,Page,78,七、运算符优先级,运算符,描述,优先级,结合性,&,按位与,9,从左至右,按位异或,10,从左至右,|,按位或,11,从左至右,&,逻辑与,12,从右至左,|,逻辑或,13,从左至右,?:,条件运算,14,从左至右,=*=/=%=+=,=,位运算,15,从左至右,&=|=,位运算,16,从左至右,2.5,运算符和表达式,79,例,1,:打印一个,3x4,的矩阵,class,DrawRect,public static void,main(String,args,),System.out.println,(“*);,System.out.println,(“*);,System.out.println,(“*);,2.6,决 策,80,例,2,:上一个例子的变形,class,DrawRect,public static void,main(String,args,),System.out.println,(“*);,System.out.println,(“*);,System.out.println,(“*);,System.out.println,(“*n);,System.out.println,(“*);,System.out.println,(“*);,System.out.println,(“*);,System.out.println,(“*n);,System.out.println,(“*);,System.out.println,(“*);,System.out.println,(“*);,System.out.println,(“*);,问题:如何作出决策,提高程序的执行效率?,81,分析问题找出最佳解决方案,以上两种方法是初学者最容易想到的,但做了很多重复的工作,会使程序变得很繁琐,结构也不够清晰。在工作量少的时候似乎没那么明显,但当需要打印的矩阵比较大的时候就会显现出来(如:打印一个,100 x60,的矩阵)。,想解决这个问题我们可以通过循环来解决,讲到循环就要先介绍一下程序的结构化设计。,82,程序设计的三种结构,顺序结构,循环结构,选择结构,循环结构与选择结构所使用的语句又叫作流程控制语句,作用是改变程序的执行顺序。,83,2.6,决 策,比较,Java,提供,6,种关系运算符:,=,=,!=,注意:,“等于”关系运算符是两个等号“,=”,,而不是一个等号“,=”,(赋值运算符)。,例,:,int,x=3,y=4;,int,a=1,b=5;,boolean,state=,x-y,a+b,;,84,3.1,决 策,if,语句,expression=true,语句,2,语句,1,if(expression),语句,1;,语句,2;,85,if,语句,expression=true,语句,2,语句块,语句块:用花括号括起来的语句。,if(expression),statment1;,statment2;,语句,2,;,左侧的语句也以下语句有什么不同?,if(expression),statment1;,statment2;,语句,2,;,决 策,86,提示,:,合理采用缩进格式书写代码,坚持用左右大括号将,if,条件括起来的习惯,即使一条语句也括。,else,子句,if(expression),statement1;,else,statement2;,next_statement,;,决 策,87,决 策,if,语句的嵌套形式,if,(,),if,(,),;,else ,;,else,if,(,),;,else ,;,若条件,1,成立,则执行哪一组,IF,语句,?,若条件,1,不成立,则执行哪一组,IF,语句,?,88,决 策,if,语句的嵌套形式,if(),;,else if(),;,else if(),.,else;,什么情况下会执行到语句,2,什么情况下会执行到语句,n?,语句,1,与语句,2,等是否可以都执行,?,else,总是和距,它最近的,if,配对,89,Character,类常用的方法,1,、,isDigit,(),:,如果实参为数字,09,,则返回,true,,否则返回,false,。,2,、,isLetter,(),:,如果实参为字母则返回,true,,否则返回,false,。,3,、,isLetterOrDigit,(),:,如果实参为字母或数字则返回,true,,否则返回,false,。,4
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服