java第3章Java语言基础程序0810

上传人:壹****1 文档编号:578898046 上传时间:2024-08-25 格式:PPT 页数:90 大小:864.02KB
返回 下载 相关 举报
java第3章Java语言基础程序0810_第1页
第1页 / 共90页
java第3章Java语言基础程序0810_第2页
第2页 / 共90页
java第3章Java语言基础程序0810_第3页
第3页 / 共90页
java第3章Java语言基础程序0810_第4页
第4页 / 共90页
java第3章Java语言基础程序0810_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《java第3章Java语言基础程序0810》由会员分享,可在线阅读,更多相关《java第3章Java语言基础程序0810(90页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章第三章第三章第三章JavaJavaJavaJava语言基础语言基础语言基础语言基础本节要点和目标本节要点和目标.一、一、语言与程序语言与程序语言与程序语言与程序JavaJava程序的构成程序的构成二二、数据类型、常量、变量数据类型、常量、变量三三、表达式表达式四、四、流程控制语句流程控制语句本节要点和目标语言与程序语言与程序人类语言:人类语言:汉语、英语、法语汉语、英语、法语计算机语言:计算机语言:C、java、VB构成:构成:字、词字、词句子句子文章文章语法:语法:词法词法句法句法章法章法汉语:字法,字构成词。汉语:字法,字构成词。英语:词法,字母构成词。英语:词法,字母构成词。

2、构成:构成:标识符标识符语句语句程序程序语法:语法:词法词法句法句法章法章法词法,字符构词法,字符构成标识符、成标识符、运算符。运算符。public class appl3_0 public static void main(String args ) int i; for(i=1;i3;i+) System.out.print(i+*+i); System.out.println(=+i*i); 程序(文章)程序(文章)语句语句词法:词法:标识符标识符-系统定义标识符(保留字,不能再用)系统定义标识符(保留字,不能再用) 用户定义标识符用户定义标识符系统定义标识符系统定义标识符(类名、方法名

3、、类名、方法名、语句名、数据语句名、数据类型名、修饰类型名、修饰符符)用户定义标识符用户定义标识符(类名、变量名、类名、变量名、常量名、函数常量名、函数名名)字母或下划线字母或下划线 + 字母、下字母、下划线、数字划线、数字 + 各种名称各种名称类名类名变量名变量名iJava程序程序值可变值可变可显示可显示可运算可运算一、Java程序的构成一javajava程序程序程序程序结构结构结构结构public class appl2_5 / 定义定义public类类appl2_5 public static void main(String args ) int i; for(i=1;i3;i+) S

4、ystem.out.print(i+“*”+i); / 输出变量、字符串输出变量、字符串 System.out.println(=+i*i); forforforfor循环体(程序段)循环体(程序段)循环体(程序段)循环体(程序段)forforforfor循环程序头循环程序头循环程序头循环程序头publicpublic类程序头,决定类程序头,决定类程序头,决定类程序头,决定源程序文件名源程序文件名源程序文件名源程序文件名:appl2_5.javaappl2_5.javaappl2_5.javaappl2_5.javapublicpublicpublicpublic类类类类appl2_5appl

5、2_5appl2_5appl2_5的程序体的程序体的程序体的程序体main() main() main() main() 方法方法方法方法methodmethodmethodmethod的程序头的程序头的程序头的程序头main() methodmain() methodmain() methodmain() method的程序体的程序体的程序体的程序体二、数据类型、常量、变量二数据数据类型、类型、常量、常量、变量变量javajava数据类型分为两大类:数据类型分为两大类:数据类型分为两大类:数据类型分为两大类: 基本数据类型基本数据类型基本数据类型基本数据类型 引用数据类型引用数据类型引用数据

6、类型引用数据类型(一)数据类型(一)数据类型(一)数据类型(一)数据类型数据类型数据类型Java数据数据类型类型 基本类型引用类型数值类型l整数类型整数类型 占字占字节节 1)字节型字节型 byte 1Byte 2)短整型短整型 short 2B 3)整型整型 int 4B 4)长整型长整型 long 8Bl浮点数浮点数 1)浮点型浮点型 float 4B 2)双精度型双精度型 double 8Bl字符类型字符类型 1)字符型字符型 char 2B布尔类型 boolean 1Byte1)类类型)类类型class2)接口类型)接口类型interface3)数组类型)数组类型 (专讲)(专讲)4)

7、字符串)字符串 String又称复合类型又称复合类型传递数值传递数值传递地址传递地址整理如整理如下表下表地址地址数据数据000035500014669999811内部存储器内部存储器数值数值Java数据类型数据类型数据类型数据类型占用占用字节字节 缺省缺省数值数值取值范围取值范围基基基基本本本本数数数数据据据据类类类类型型型型 取取取取值值值值范范范范围围围围与与与与缺缺缺缺省省省省值值值值boolean(布尔型布尔型)1falsetrue,flaseshort(短整型短整型)2(short)0-3276832767char(字符型字符型)2u00000 65535 u0000 uFFFFin

8、t(整型整型)40-21474836482147483647float(浮点数型浮点数型)40.0f1.40129846432481707e-45 3.40282346638528860e+38long(长整型长整型)80L-9223372036854775808 9223372036854775807double(双精度型双精度型)80.0d4.94065645841246544e-324 1.79769313486231570e+308逻辑逻辑逻辑逻辑字字字字符符符符小小小小数数数数integerbyte(字节型字节型)1(byte)0-128 127整整数数应有后缀应有后缀(大、小写均可

9、大、小写均可)应有后缀应有后缀(大、小写均可大、小写均可)应有后缀应有后缀(大、小写均可大、小写均可)应有后缀应有后缀(大、小写均可大、小写均可)十亿量级十亿量级万亿亿量级万亿亿量级地球人难有机会用到如此大之数地球人难有机会用到如此大之数Java数据类型数据类型 记忆记忆基本数据类型:基本数据类型: byte、short、int、long;float、double;char、Boolean1 2 4 8 4 8 2 1基本数据的基本数据的 首字母小写;首字母小写;引用类型的引用类型的 首字母大写。首字母大写。基本数据类型都有相应的包装类基本数据类型都有相应的包装类(Wrapper)如:如:In

10、teger-int,Double-double 这些包装类已经是这些包装类已经是“类类”了,也就是引用类型了。了,也就是引用类型了。 类是引用数据类型类是引用数据类型占用字节数占用字节数求最大值(求最大值(求最大值(求最大值(长整型(长整型(长整型(长整型(longlong)的)的)的)的):):):):java.lang.Long. MAX_VALUEjava.lang.Long. MAX_VALUEjava.lang.Long.MIN_VALUEjava.lang.Long.MIN_VALUEjava.lang.Integerjava.lang.Integer. MAX_VALUE. MA

11、X_VALUEjava.lang.Integer.MIN_VALUEjava.lang.Integer.MIN_VALUEjava.lang.Short. MAX_VALUEjava.lang.Short. MAX_VALUEjava.lang.Short.MIN_VALUEjava.lang.Short.MIN_VALUEjava.lang.Byte. MAX_VALUEjava.lang.Byte. MAX_VALUEjava.lang.Byte.MIN_VALUEjava.lang.Byte.MIN_VALUEjava.lang.Float. MAX_VALUEjava.lang.Flo

12、at. MAX_VALUEjava.lang.Float.MIN_VALUEjava.lang.Float.MIN_VALUEjava.lang.Double. MAX_VALUEjava.lang.Double. MAX_VALUEjava.lang.Double.MIN_VALUEjava.lang.Double.MIN_VALUEjava.langLongMAX_VALUE类库类库类库类库长整型长整型长整型长整型取最大值取最大值取最大值取最大值各各各各基基基基本本本本数数数数据据据据类类类类型型型型的的的的最最最最大大大大值值值值和和和和最最最最小小小小值:值:值:值:类库类库类库类库长

13、整型长整型长整型长整型取最大值取最大值取最大值取最大值类库类库类库类库长整型长整型长整型长整型取最大、最小值取最大、最小值取最大、最小值取最大、最小值类库类库类库类库数据类型数据类型数据类型数据类型/ appl3_1,/ appl3_1,输出输出输出输出JavaJava定义的整数常数的最大、最小值定义的整数常数的最大、最小值定义的整数常数的最大、最小值定义的整数常数的最大、最小值 public class appl3_1public class appl3_1 public static void main(String public static void main(String argsa

14、rgs ) ) long long lmaxlmax=java.lang.Long.MAX_VALUE; =java.lang.Long.MAX_VALUE; intint imaximax=java.lang.Integer.MAX_VALUE;=java.lang.Integer.MAX_VALUE; short short smaxsmax=Short.MAX_VALUE; /=Short.MAX_VALUE; /省略类库省略类库省略类库省略类库java.langjava.lang byte byte bmaxbmax=Byte.MAX_VALUE; / =Byte.MAX_VALUE;

15、 / 省略类库省略类库省略类库省略类库java.langjava.lang System.out.println(MaxSystem.out.println(Max value of long : + value of long : +lmaxlmax); ); System.out.println(MaxSystem.out.println(Max value of value of intint : + : +imaximax); ); System.out.println(MaxSystem.out.println(Max value of short : + value of shor

16、t : +smaxsmax); ); System.out.println(MaxSystem.out.println(Max value of byte : + value of byte : +bmaxbmax); ); Java中类首字均应大写。中类首字均应大写。System类的带包路径是类的带包路径是 java.lang.System ,java.lang包默认引入。包默认引入。求取最大值求取最大值显显示示输输出出(二)标识符(二)标识符1 1、由由由由字字字字母母母母、数数数数字字字字、下下下下划划划划线线线线_ _及及及及美美美美元元元元符符符符$ $组组组组合而成。合而成。合而成

17、。合而成。2 2、首首首首字字字字符符符符必必必必为为为为字字字字母母母母、下下下下划划划划线线线线或或或或美美美美元元元元符符符符之之之之一。一。一。一。3 3、区分大小写。、区分大小写。、区分大小写。、区分大小写。4 4、应能表征其意义。、应能表征其意义。、应能表征其意义。、应能表征其意义。(四)标识符第2章 基本元素本章通过讲解数据和数据类型、变量和常量、表达式和运算符,开始Java程序设计语言的探索之旅;重点掌握基本数据类型、各种表达式、及语句的书写规范。2.1 标识符Java中,标识符由:下划线、$、英文字母、数字组成,除了数字其余三种均可作为首字;Java标识符不限长度。Java语

18、言使用的是Unicode字符集,含65535个字符,其中前256个是ASCII码及其扩展码。2.2 关键字abstract default if private throw boolean do implements protected throws break double import public transient byte else instanceof return try case extends int short void catch final interface static volatile char finally long super while class flo

19、at native switch nullconst for new synchronized strictfpcontinue goto package this assertenum(三)(三)变量变量在程序运行过程中,其值可以发在程序运行过程中,其值可以发在程序运行过程中,其值可以发在程序运行过程中,其值可以发生变化的量称变量。生变化的量称变量。生变化的量称变量。生变化的量称变量。创建变量的语句格式创建变量的语句格式: :数据类型数据类型 变量名变量名(三)变量例:例:intint n1,n2,n3; n1,n2,n3; float num1,num2;(二)常量(二)常量常量:常量:常

20、量:常量:在程序运行过程中,其值不能被改变在程序运行过程中,其值不能被改变在程序运行过程中,其值不能被改变在程序运行过程中,其值不能被改变的量。的量。的量。的量。相当于数学中的常数。如:相当于数学中的常数。如:相当于数学中的常数。如:相当于数学中的常数。如:e=2.71828e=2.71828= =PaiPai=3.1415926=3.1415926(二)常量(1 1)整数常量)整数常量(2 2)实数常量)实数常量十进制整数十进制整数十进制整数十进制整数: 0 : 0 : 0 : 0 9 9 9 9八进制整数八进制整数八进制整数八进制整数: 0 : 0 : 0 : 0 7 07,0177,03

21、6,0418 7 07,0177,036,0418 7 07,0177,036,0418 7 07,0177,036,0418十六进制整数十六进制整数十六进制整数十六进制整数: 0 : 0 : 0 : 0 9 A 9 A 9 A 9 A F 0x11,0xff,0x3A2C,0X2e F 0x11,0xff,0x3A2C,0X2e F 0x11,0xff,0x3A2C,0X2e F 0x11,0xff,0x3A2C,0X2e小数形式小数形式小数形式小数形式: : : :-2.13D, 3.14, 1.3F, 4.5f -2.13D, 3.14, 1.3F, 4.5f -2.13D, 3.14,

22、 1.3F, 4.5f -2.13D, 3.14, 1.3F, 4.5f 指数形式指数形式指数形式指数形式: : : : 0.3e9D, -3E10, 2e-2f0.3e9D, -3E10, 2e-2f0.3e9D, -3E10, 2e-2f0.3e9D, -3E10, 2e-2f注意:注意:long、float、double类型数据应类型数据应有后缀有后缀l、f、d(大、小写均可大、小写均可)前置前置0x决定了后面的:决定了后面的:ff、3a2c、2e,均为,均为16进制进制数。数。/ appl3_2, 整数整数错误的范例错误的范例 public class appl3_2 public s

23、tatic void main(String args ) long num=32998399887;/错:缺后缀错:缺后缀l System.out.println(num= +num); long num=32998399887L /正确格式/ appl3_3,整数数据类型的溢出整数数据类型的溢出 public class appl3_3 public static void main(String args ) int i=java.lang.Integer.MAX_VALUE; System.out.println(i=+i); System.out.println(i+1=+(i+1)

24、; System.out.println(i+2=+(i+2); System.out.println(i+1=+(i+1L); 错错错错 System.out.println(i+2=+(i+2L); 求得求得Integer类型的最大值类型的最大值最大值最大值+1=最小值最小值数值溢出最大值再加1,即溢出:等于最小值往前进一位D7D6D5D4D3D2D1D011111111加加1,等于:,等于:D7D6D5D4D3D2D1D000000000进进11若已无存储若已无存储设备,则该设备,则该位自动丢失位自动丢失最小值再减1,也溢出:等于最大值向前借一位例如:例如:8位数位数/ appl3_3a

25、,整数数据类型的溢出整数数据类型的溢出 public class appl3_3a public static void main(String args ) int i=java.lang.Integer.MIN_VALUE; System.out.println(i=+i); System.out.println(i-1=+(i-1); System.out.println(i-2=+(i-2); 求得求得Integer类型的最大值类型的最大值最小值最小值-1=最大值最大值System.out.println(“i-1=”+(i-1L); System.out.println(i-2=+(

26、i-2L);加尾缀加尾缀L,类型由,类型由int(4字节)转换为字节)转换为long(8字节),不会再字节),不会再溢出。溢出。/ appl3_4,浮点数应用浮点数应用 public class appl3_4 public static void main(String args ) float num=2.0; System.out.println(num+*+num+ =+(num*num); / 输出输出num*num的结果的结果 float num=2.0f错错(3 3)布尔型常量)布尔型常量(4 4)字符型常量)字符型常量 只有两个值:只有两个值:只有两个值:只有两个值:true

27、true true true (真)真)真)真)falsefalsefalsefalse(假)假)假)假) 用于选择和循环语句中判断条件成立否。用于选择和循环语句中判断条件成立否。用于选择和循环语句中判断条件成立否。用于选择和循环语句中判断条件成立否。 单一字符:单一字符:单一字符:单一字符:a, A, 1, 2, # /a, A, 1, 2, # /a, A, 1, 2, # /a, A, 1, 2, # /单一字符需置单括号中单一字符需置单括号中单一字符需置单括号中单一字符需置单括号中 特殊字符:即转义字符,用反斜杠作为标记,例:特殊字符:即转义字符,用反斜杠作为标记,例:特殊字符:即转义

28、字符,用反斜杠作为标记,例:特殊字符:即转义字符,用反斜杠作为标记,例:n, b, n, b, n, b, n, b, 为:回车,退格,反斜杠为:回车,退格,反斜杠为:回车,退格,反斜杠为:回车,退格,反斜杠u0001, u0061u0001, u0061u0001, u0061u0001, u0061为十六进制数为十六进制数为十六进制数为十六进制数 字符串字符串字符串字符串 :“How do you do?”How do you do?”How do you do?”How do you do?” /字符串需置双括号中字符串需置双括号中字符串需置双括号中字符串需置双括号中/ /appl3_5

29、_,字符类型字符类型 -ASCII码码public class appl3_5_ public static void main(String args ) char ch1=97; char ch2=a; char ch3=u0061; System.out.println(ch1=+ch1); System.out.println(ch2=+ch2); System.out.println(ch3=+ch3); 十进制数十进制数十进制数十进制数9797是是是是 aa的的的的asciiascii码值码值码值码值十六进制数十六进制数十六进制数十六进制数u0061u0061是是是是 aa的的的的

30、asciiascii码值码值码值码值三句均显示三句均显示三句均显示三句均显示 aaSystem.out.println(“ch1=”+(ch1+1);System.out.println(“ch1=”+(ch1+1);System.out.println(ch2=+(ch2+2);System.out.println(ch2=+(ch2+2);System.out.println(ch3=+(ch3+3);System.out.println(ch3=+(ch3+3);中文单引号要出错中文单引号要出错字符与其字符与其ASCII码值是相互对应的码值是相互对应的public class appl3

31、_5 public static void main(String args) / TODO Auto-generated method stub char ch1=97+1;/b的的ASCII值值98 char ch2=a+2;/c的的ASCII值值99 char ch3=u0061+3;/d的的ASCII值值100 System.out.println(ch1=+ch1);/显示显示b System.out.println(ch2=+ch2);/显示显示c System.out.println(ch3=+ch3);/显示显示d System.out.println(ch1=+(ch1+1)

32、; /数据数据99=97+1+1 System.out.println(ch2=+(ch2+1); /数据数据100=97+2+1 System.out.println(ch3=+(ch3+1); /数据数据101=97+3+1a的的ascii码是码是97a=u0061,中文单引号要出错中文单引号要出错常用转义字符常用转义字符转义字符转义字符意义意义转义字符转义字符意义意义ff走纸换页走纸换页反斜线反斜线bb退一格退一格单引号单引号nn换行换行”双引号双引号rr回车回车 uxxxxuxxxx十六进制字符十六进制字符tttabtab dddddd八进制字符八进制字符(000377000377)三

33、、表达式三表表达达式式表达式:用运算符号连接各种数据构成的算式。(一)一)赋值赋值表达式表达式ageage1818=变量或对象变量或对象设置值设置值( )+=+=+=+=、 = = = =、= = = =、/ / / /= = = = 由赋值运算符(由赋值运算符(=)连接变量(常量、对象等)与设定值,)连接变量(常量、对象等)与设定值,构成的算式。构成的算式。2.3 表达式与运算符运算符是用来完成一个动作的特定语言的语法记号。赋值运算符增减运算符算术运算符关系运算符逻辑运算符位运算符运算符运算符含义含义=直接赋值+=加法赋值-=减法赋值*=乘法赋值/=除法赋值%=模赋值2.5.5 赋值运算符和

34、复合赋值运算符赋值运算符:=;复合赋值运算符:赋值运算符与算术运算符、位运算符、移位运算符相复合;a += b;即 a = a + b;左值为变量或常量;右值要有确定的值;(二)算术表达式二)算术表达式双目运算符双目运算符x xy y=( )? ?+ + + +、 、* * * *、/ / / /、% % % %(二)算术表达式由算术运算符连接变量、常量、对象等构成的算式。由算术运算符连接变量、常量、对象等构成的算式。2.3 表达式与运算符运算符是用来完成一个动作的特定语言的语法记号。赋值运算符增减运算符算术运算符关系运算符逻辑运算符位运算符运算符运算符JavaJavaC/C+C/C+Delp

35、hiDelphi Visual Visual BasicBasic加+减-乘*浮点数除/整数除/div/取模%ModMod2.5 运算符运算符是用来完成一个动作的特定语言的语法记号。2.5.1 算术运算符+、-、*、/、%;有值的量才能进行运算;byte、short、char类型的算术运算会转换成int型再计算,其结果也是int型;整型相除结果为整型;取余多用于整型运算;取余的符号与前者相同。2.3 表达式与运算符运算符是用来完成一个动作的特定语言的语法记号。赋值运算符增减运算符算术运算符关系运算符逻辑运算符位运算符运算符运算符JavaJava C/C+C/C+DelpDelphihiVisu

36、al Visual BasicBasic增+Inc()无减-Dec()无单目运算符单目运算符x x( ) 、+、 2.5.3 递增递减运算符短路运算与运算只要有一个为假,则表达式为假,因此前面部分为假时,则不执行后面部分了。例如:int i = 3;i 2 & i+ 2 | i+ 、 =、=(三)关系表达式2.3 表达式与运算符运算符是用来完成一个动作的特定语言的语法记号。赋值运算符增减运算符算术运算符关系运算符逻辑运算符位运算符运算运算符符JavaJavaC/C+C/C+DelphiDelphiVisual Visual BasicBasic相等=或is不相等!=!=大于小于小于等于=2.5

37、.2 关系运算符与逻辑运算符关系运算符:、=、=、!=有值的量才能进行比较;表达式的值是boolean型;注意=与=的区别。逻辑运算符:&、|、!运算符两边都应是boolean型;表达式结果是boolean型;&和|的短路运算。(四)(四)逻辑表达式逻辑表达式true或或falsex xy y=( )? ?& & & &、| | | |、! ! ! !、 、&、| | | |(四)逻辑表达式2.3 表达式与运算符运算符是用来完成一个动作的特定语言的语法记号。赋值运算符增减运算符算术运算符关系运算符逻辑运算符位运算符运算符运算符JavaJavaC/C+C/C+DelphiDelphi Visua

38、l Visual BasicBasic与&andand或notnot取反oror异或xorxor左移Shr无2.5.2 关系运算符与逻辑运算符关系运算符:、=、=、!=有值的量才能进行比较;表达式的值是boolean型;注意=与=的区别。逻辑运算符:&、|、!运算符两边都应是boolean型;表达式结果是boolean型;&和|的短路运算。(五)(五)位运算表达式位运算表达式 、x x2 2整型量整型量位移量位移量( )例例例例P46P46P46P46(五)位运算表达式2.3 表达式与运算符运算符是用来完成一个动作的特定语言的语法记号。赋值运算符增减运算符算术运算符关系运算符逻辑运算符位运算符

39、运算符运算符JavaJavaC/C+C/C+DelphiDelphi Visual Visual BasicBasic逻辑与&AndAnd逻辑或|OrOr逻辑非!NotNo2.5.4 位运算符和移位运算符位运算符:&、|、(异或)、(取反,包括符号位);boolean的按位“与”、“或”其值为boolean型;位运算符没有短路现象。2&3、2|3、23、2;移位运算符:、(逻辑)算术左移:高位溢出,低位补0;算术右移:低位溢出,高位补原高位;逻辑右移:低位溢出,高位补0;算术左移一位乘2,右移一位除2(能整除时);(六)(六)条件表达式条件表达式 1 1 1 ? ? : : : : 333Ja

40、vaJavaJavaJava语言规定,表达式语言规定,表达式语言规定,表达式语言规定,表达式2 2 2 2和表达式和表达式和表达式和表达式3 3 3 3必必必必须返回相同的数据类型,并且类型须返回相同的数据类型,并且类型须返回相同的数据类型,并且类型须返回相同的数据类型,并且类型不能为不能为不能为不能为voidvoidvoidvoid。(六)条件表达式2.5.6 条件运算符(boolean表达式)?表达式1:表达式2boolean表达式的值为true时,表达式的结果为表达式1;boolean表达式的值为false时,表达式的结果为表达式2;经常用它求最大、最小值。max = (ab) ? a

41、: b; 例int i = 3; int sum = (i+) + (i+) + (i+);a=b | x=y;判断char型变量ch是否为数字的表达式是:a)0=ch0)&(ch=0)&(ch=0)|(ch=9)(a!=b)&(a+b=0)&(a%2=0)以下表达式的值不是2的是:a) 2&3 b) 11 c) a=2 d) 13(七)(七)表达式类型转换表达式类型转换(1 1)自动类型转换自动类型转换自动类型转换自动类型转换转转转转换换换换前前前前的的的的数数数数据据据据类类类类型型型型与与与与转转转转换换换换后后后后的的的的类类类类型型型型兼兼兼兼容容容容; ;转转转转换换换换后后后后的

42、的的的数数数数据据据据类类类类型型型型的的的的表表表表示示示示范范范范围围围围比比比比转转转转换换换换前的类型大。前的类型大。前的类型大。前的类型大。(七)表达式类型转换优先先级运算符运算符类型型运算符运算符优先先级最最高高一元运算符一元运算符 . ()(方法(方法调调用)用) ! + - + - new ()(强强制制类类型型转换转换)优先先级较高高算算术运算符运算符位移运算符位移运算符* / % + -优先先级较低低关系运算符关系运算符位移运算符位移运算符逻辑运算符运算符 = !=& |& |?:(三元判断运算符,例如:(三元判断运算符,例如:AB?X:Y)优先先级最最低低赋值运算符运算符

43、=+= -= *= /= %= 1 1、占用字节少的转换成字节较多的类型。、占用字节少的转换成字节较多的类型。、占用字节少的转换成字节较多的类型。、占用字节少的转换成字节较多的类型。2 2、如如如如shortshort类类类类型型型型遇遇遇遇上上上上intint类类类类型型型型,会会会会转转转转换换换换成成成成intint型。型。型。型。3 3、字符类型会转换成、字符类型会转换成、字符类型会转换成、字符类型会转换成shortshort类型。类型。类型。类型。4 4、intint类型会转换成类型会转换成类型会转换成类型会转换成floatfloat类型。类型。类型。类型。5 5、表表表表达达达达式

44、式式式中中中中的的的的一一一一个个个个操操操操作作作作数数数数为为为为doubledouble类类类类型型型型,则另一个操作数会转换为则另一个操作数会转换为则另一个操作数会转换为则另一个操作数会转换为doubledouble类型。类型。类型。类型。6 6、布尔类型不能转换至其他的类型。、布尔类型不能转换至其他的类型。、布尔类型不能转换至其他的类型。、布尔类型不能转换至其他的类型。(2 2)强制类型转换强制类型转换强制类型转换强制类型转换 如如如如果果果果要要要要将将将将表表表表示示示示范范范范围围围围大大大大的的的的数数数数据据据据类类类类型型型型转转转转换换换换成成成成较较较较小小小小的的的

45、的数数数数据据据据类类类类型型型型,或或或或想想想想得得得得到到到到想想想想要要要要的的的的数数数数据据据据类型的数据则必须强制类型转换。类型的数据则必须强制类型转换。类型的数据则必须强制类型转换。类型的数据则必须强制类型转换。格式:格式:(欲转换的数据类型欲转换的数据类型)变量或表达式;变量或表达式;如:如:(int) c/ appl3_7,数据类型转换数据类型转换 public class appl3_7 public static void main(String args ) int a=2,b=3,d; float c; c=(float)a/b d=(int)c; System.o

46、ut.println(a+”n”+ b+”n” +c +”n” +d); 错:单一字符需置单括号中错:单一字符需置单括号中缺分号:语句结束符缺分号:语句结束符(八八)运算符的优先级运算符的优先级/ appl3_8,运算符的优先级与结合性运算符的优先级与结合性 public class appl3_8 public static void main(String args ) int a=2,b=3,c=4,d=5,e=6; float f; f=a/3+b*c+/(d+=e); System.out.println(f); P47P47P47P47(八)运算符的优先级2.6 表达式和语句表达式

47、是运算符、操作数、以及方法调用的序列;它用来说明某一个计算过程的计算结果;其结果有一个唯一的类型。表达式有运算优先级,可以嵌套;不同数据类型的操作数进行运算,其转换规则如下。charbyteshortintlongfloatdouble语法与规则( 类类型指示符型指示符 ) 表达式表达式double pi = 3.1415926;int p = (int)pi; /p=3图中:实线表示没有精度损失的转换,虚线表示可能有精度损失的转换。2.5.7运算符的优先级大体上是:算术关系逻辑赋值;()(不是方法,不是强转)最大,弄不明白加括号。优先先级运算符运算符类型型运算符运算符优先级最高一元运算符 (

48、下标) . ()(方法调用) ! + - +(正) -(负) new ()(强制类型转换)优先级较高算术运算符移位运算符* / % + -优先级较低关系运算符位运算符逻辑运算符 = !=& |& |?:(三元判断运算符,例如:AB?X:Y)优先级最低赋值运算符=+= -= *= /= %= = = &= |= =四、流程控制语句流程流程控制控制语句语句四语句Java中的语句以分号结束;Java中的分号一定要用英文输入法输入;Java中语句分为:控制语句、方法调用语句、表达式语句、空语句、复合语句;复合语句:又称块语句,由 括起来的简单java语句构成;复合语句中定义的变量的作用范围只在复合语句

49、中;块可以嵌套。int k = 0;int i = 0; / i的作用范围到此 / k的作用范围到此Java不允许在内层块中定义与外层块同名的变量。例float f1 = 12.3f + 45.9f;float f2 = 89 + 56.3f;byte b1 = 56;byte b2 = 12;int b3 = b1 + b2; boolean b4 = b2f2;int i1 = 5%3;2.7 注释注释掉的语句不是可执行的程序语句;单行注释:/ 常用于解释某行代码;多行注释:/*.*/常用于注释废代码。JavaJava程序结构程序结构顺序结构顺序结构顺序结构顺序结构sequence str

50、ucturesequence structuresequence structuresequence structure选择结构选择结构选择结构选择结构selection structureselection structureselection structureselection structure循环结构循环结构循环结构循环结构iteration structureiteration structureiteration structureiteration structure(一)(一)顺序语句顺序语句sequence structuresequence structuresequen

51、ce structuresequence structure语句1语句2语句3(一)顺序语句/ appl3_9.java, 简单的简单的Java程序程序public class appl3_9 / 定义定义public 类类appl3_9 public static void main(String args ) / main( ) method,主程序开始主程序开始 int num; / 声明整数声明整数num num=2; / 将将num赋值为赋值为2 System.out.println(I have +num+ dogs); / 输出字符串及变量内容输出字符串及变量内容 System.

52、out.println(You have +num+ dogs, too); (二)(二)选择语句选择语句selection structureselection structureselection structureselection structure判断条件truefalse语句1语句2语句3(二)选择语句If(If() ;1;If(If()1) ;1;else If(else If()2) ;2;else if(else if()3).else else ;n;If(If() ;1;elseelse ;2;/ appl3_10, / appl3_10, 选择结构选择结构选择结构选择结

53、构import import java.iojava.io.*;.*; / /导入在导入在导入在导入在java.iojava.io包里的所有类,包里的所有类,包里的所有类,包里的所有类,* *是通配符是通配符是通配符是通配符 public class appl3_10public class appl3_10 / /决定程序名称的唯一公共类决定程序名称的唯一公共类决定程序名称的唯一公共类决定程序名称的唯一公共类 public static void main( String public static void main( String argsargs ) throws ) throws I

54、OExceptionIOException intint score; String score; String strstr; ; System.out.print(EnterSystem.out.print(Enter the score:); the score:); BufferedReaderBufferedReader bufbuf=new =new BufferedReader(newBufferedReader(new InputStreamReader(System.inInputStreamReader(System.in);); strstr= =buf.readLine

55、buf.readLine();();/ /将将将将bufbuf( (从屏幕得到的字符串从屏幕得到的字符串从屏幕得到的字符串从屏幕得到的字符串) )赋值给赋值给赋值给赋值给strstr score= score=Integer.parseInt(strInteger.parseInt(str); ); if (score=90) if (score=90)流类的实例流类的实例 用构造方法实例一个用构造方法实例一个BufferedReader流类实例。流类实例。 屏幕输入的实例屏幕输入的实例 非静态方法需实例化非静态方法需实例化可带参数运行可带参数运行java程序(字串类型数组)程序(字串类型数组

56、)含含含含异常处理异常处理/ / 续前页:续前页:续前页:续前页:appl3_10, appl3_10, 选择结构选择结构选择结构选择结构if (score=90)if (score=90) System.out.printlnSystem.out.println(优优优优);); else if(score=80) else if(score=80) System.out.printlnSystem.out.println(良良良良);); else if(score=70) else if(score=70) System.out.printlnSystem.out.println(中中中

57、中);); else if(score=60) else if(score=60) System.out.printlnSystem.out.println(及格及格及格及格);); else else System.out.printlnSystem.out.println(不及不及不及不及); ); BufferedReader buf; /流类的实例流类的实例buf=new BufferedReader/*流类的实例流类的实例*/(new InputStreamReader(System.in);/实例一个新的实例一个新的BufferedReader,用构造方法实例。,用构造方法实例。n

58、ew InputStreamReader(System.in)也就是得到一个从屏幕输也就是得到一个从屏幕输入的实例入的实例 String str;/实例化一个实例化一个String对象对象import java.io.FileReader;import java.io.BufferedReader;import java.io.IOException;public class appl3_10ss1 public static void main(String args) try FileReader fr=new FileReader(mytest.txt);/*创建一个FileReader

59、对象*/ BufferedReader br=new BufferedReader(fr); /*创建一个BufferedReader 对象*/ String line=br.readLine(); /*读取一行数据*/ while(line!=null) System.out.println(line); line=br.readLine(); /*流的关闭*/ br.close(); fr.close(); catch(IOException e)/catch(ArrayIndexOutOfBoundsException e)则这个异常就/会被捕获,并执行catch程序块中的代码. Sys

60、tem.out.println(文件不存在!); /try-catch过后程序仍然继续执行(不写try-catch则程序抛出异常后自行终止) /*假设try中有语句int i=new int10;如果你调用int14就一定会抛出ArrayIndexOutOfBoundsException 这个异常,如果你写了try-catch且写了catch(ArrayIndexOutOfBoundsException e) 则这个异常就会被捕获,并执行catch程序块中的代码.*/switch(switch() case case :;break;1;break; case case :;break;2;b

61、reak; . . case case :;break;n;break; default : default : ; / appl3_11, / appl3_11, 选择结构选择结构选择结构选择结构SWITCHSWITCH语句语句语句语句public class appL3_11public class appL3_11 public static void main( String public static void main( String argsargs ) ) intint month=8; month=8; switch(month) switch(month) case 1:S

62、ystem.out.println(“January”);break; case 1:System.out.println(“January”);break; case 2:System.out.println(“February”);break; case 2:System.out.println(“February”);break; case 3:System.out.println(“March”);break; case 3:System.out.println(“March”);break; case 4:System.out.println(“April”);break; case

63、 4:System.out.println(“April”);break; case 5:System.out.println(“May”);break; case 5:System.out.println(“May”);break; case 6:System.out.println(“June”);break; case 6:System.out.println(“June”);break; case 7:System.out.println(“July”);break; case 7:System.out.println(“July”);break; case 8:System.out.

64、println(“August”);break; case 8:System.out.println(“August”);break; case 9:System.out.println(“September”);break; case 9:System.out.println(“September”);break; case 10:System.out.println(“October”);break; case 10:System.out.println(“October”);break; case 11:System.out.println(“November”);break; case

65、 11:System.out.println(“November”);break; case 12:System.out.println(“December”);break; case 12:System.out.println(“December”);break; default : default :System.out.println(“errorSystem.out.println(“error!”);!”); 改进例改进例改进例改进例appl3_10appl3_10appl3_10appl3_10iteration structureiteration structureiterat

66、ion structureiteration structure判断条件truefalse语句1语句2(三)循环语句三)循环语句while(while() ; for(for(表达式表达式1;1;表达式表达式2;2;表达式表达式3)3); dodo;while(while(););/app3_12, for循环求循环求9*9乘法表乘法表public class app3_12 public static void main(String args ) int i,j; for (i=1;i=9;i+)/ 外层循环外层循环 for (j=1;j=9;j+)/ 内层循环内层循环 System.ou

67、t.print(i+*+j+=+(i*j)+t); System.out.println(); 一个有趣的例题 射雕英雄传的朋友,一定还记得黄蓉遇上神算子瑛姑,给她出的三道题目中有一题是这样的:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?也就是说,有一个未知数,这个数除以三余二,除以五余三,除以七余二,问这个数是多少? 一个有趣的例题 示例程序 211 “黄蓉的题目”Calc.javapublic class Calc public static void main(String args) int x; for (x=0;x100;x+) if (x%3=2) & (

68、x%5=3) & (x%7=2) System.out.println(这个数字是:+x); /end of if /end of for /end of main/end of CalcFirst_LoopFirst_Loop: :for(intfor(int i=1;i100;i+) i=1;i100;i+) for(intfor(int j=2;j j=2;jI;jI;j+)+) if(i%jif(i%j=0)=0) continuecontinue First_LoopFirst_Loop; ; System.out.println(iSystem.out.println(i); );

69、 (四)跳转语句(四)跳转语句continuecontinue上去上去switch(switch() case case :; 1; case case :;2;breakbreak; ; . . case case :;n;breakbreak; ; default : default : ; breakbreak下去下去return return return return 表达式表达式; ;intint method( ) method( ) return; /return 2; return; /return 2; returnreturn回去回去作业:作业:P58 E1P58 E1、4 4、8 8上机:上机:E10E10 (参照参照P37P37)作业

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号