《第2章Java基础教学课件.ppt》由会员分享,可在线阅读,更多相关《第2章Java基础教学课件.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java面向对象程序设计第2章 Java语言基础任务目的.掌握掌握java语言的基本数据类型使用语言的基本数据类型使用.掌握掌握java语言的运算符、表达式语言的运算符、表达式.掌握掌握java语言程序控制语句语言程序控制语句.掌握掌握Java程序数组的定义和使用程序数组的定义和使用标识符Java程序中对各种变量、方法和类等要素命名时使用的字符序列称为标识符。标识符命名规则:1、标识符有字母、下划线“_”、美元符号“$”或数字组成。2、标识符应以字母、下划线、美元符号开头。3、Java标识符大小写敏感,长度无限制。4、Java标识符取名尽量做到“见名知意”(1)以下标识符取名合法:HelloW
2、orldDataClass_987$bs5_C7(2)以下标识符取名不合法:Hello WorldClass987bs5.C7关键字n关键字也称为保留字,Java程序中一些赋以特定的含义,用作专门用途的字符串称为关键字(Keyword)。nJava常用的关键字如表2.1所示:abstractbooleanbreakbytebyvalue*casecastcatchcharclassconst*continuedefaultdo doubleelseextendsfalsefinalfinallyfloatforfuturegenericgoto*if implementsimportinner
3、instanceofint interfacelongnativenewnulloperatorouterpackageprivateprotectedpublicrestreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvarvolatilewhile 常量与变量常量常量常量是指在程序运行过程中其值不能发生改变的量。常量分为:1、整型常量:数值型数据为整型,如123。2、实型常量:数值型数据为浮点型,如12.3。3、字符常量:以单个引号括起来的单个字符,如a, 2。4、字符串常量:以双引号括起来的字符
4、串,如”abc”,”a”, ”12”。5、逻辑常量:逻辑常量分为逻辑真和逻辑假,值为true和false。注:常量还可以表示值不可以变的变量,具体可以参考final定义的变量。变量变量变量是指在程序运行过程中其值可以发生改变的量,是Java程序中基本储存单元。变量包括变量名和变量值两个部分,变量名就是用户自己来定义变量的名称,给变量命名符合标识符的规范;变量值则是存储在变量名的数据,修改变量的值仅仅是改变存储单位中的数据,而不是改变储存数据的位置,即变量名不能改变。变量必须先声明后才能使用,声明变量必须要指明该变量属于哪种数据类型。因此Java中的每个变量都要指明该变量属于某种数据类型,因此一
5、个变量一般要具备三个要素:1、变量的名称,给变量命名要符合标识符的规范。2、变量所属数据类型,变量在定义的时候要指明所属数据类型,才能使用。3、变量的初始值,变量在定义的时候,可以赋一个初始值,随着程序的执行该值可以改变。变量声明的格式数据类型 变量名称1=值1,变量名称2=值2,;【例2-1】:源程序名“Demo2_01.java”,该程序计算圆的半径为20的圆的面积,并输出。通过该程序让学生了解常量和变量的使用。public class Demo2_01public static void main(String args)final double PI=3.1415926;int R=2
6、0;double S;S=PI*R*R;System.out.println(该圆的面积是:+S); 该程序的运行结果:基本数据类型 Java程序在定义变量的过程中,必须要指明该变量的所属数据类型,数据类型分为基本数据类型和引用数据类型。基本数据类型有8种,包括:字节型(byte)、短整型(short)、整型(int)、长整型(long)、单精度浮点型(float)、双精度浮点型(double)、字符型(char)、布尔型(boolean);引用数据类型有3种,包括:类类型(class)、接口类型(interface)、数组类型。本章只介绍简单数据类型和数组类型,其他两种数据类型到第三章讲解。
7、整型整型数据类型分为4种,字节型(byte)、短整型(short)、整型(int)、长整型(long)。Java语言整型常量的三种表达方式:1、十进制整数:用多个0-9之间的数字表示,除非是0不然首位不能用0来表示,如,123,-315,0。2、八进制整数:Java程序中采用八进制数表示整数必须在该整数前面加上一个0进行表示,如023,0366。3、十六进制整数:Java程序中采用十六进制表示整数必须在该整数前面加上0 x进行表示,如0 x255,0 xa1等nJava各整数类型有固定的表数范围和字段长度,且不受具体的操作系统的影响,以保证Java程序的可移植性。整型变量4种类型占存储空间的大
8、小以及取值范围如表2.2所示:表2.2 Java中的数据类型数据类型数据类型关键字关键字存储空间存储空间/ /字节字节取值范围取值范围基本类型基本类型整型整型字节型字节型bytebyte1 1-2-27 7227 7-1-1短整型短整型shortshort2 2-2-21515221515-1-1整型整型intint4 4-2-23131223131-1-1长整型长整型longlong8 8-2-26363226363-1-1 Java程序中整型常量默认的为int型,声明长整型(long)在整型常量后面要加上”l”或”L”。int s=800;/正确long ss=999999999999L;
9、/如果不加l或L,则错误。因为:999999999999默认的int型的值,但该值超出了int型的取值范围,所以会出错。将999999999999值转换为长整型就可以了,这个值没有超出长整型的取值范围。浮点型浮点型数据就是实型数据,分为单精度浮点型(float)和双精度浮点型(double)。Java语言中浮点型常量有两种表示方法:1、十进制数形式:如3.14,2.68。2、科学记数法形式:由十进制整数、小数点、小数和指数部分构成,指数部分由字符E或e带正负号的整数表示。如:314.3,采用科学记数法表示:3.143E+2或者3.143e2或者3.143E2;0.03143,采用科学记数法表示
10、:3.143e-2或者3.143E-2。Java各整数类型有固定的表数范围和字段长度,且不受具体的操作系统的影响,以保证Java程序的可移植性。浮点型变量占存储空间的大小以及取值范围如表2.3所示:表2.3 Java中的数据类型数据类型数据类型关键字关键字存储空间存储空间/ /字节字节取值范围取值范围基本类型基本类型浮点型浮点型单精度单精度floatfloat4 4-3.4E383.4E38-3.4E383.4E38双精度双精度doubledouble8 8-1.7E3081.7E308-1.7E3081.7E308Java浮点型常量默认的是双精度(double)浮点型常量,如果要声明一个常量
11、为float,则需在数字后面加f或F,如:dobule d=123.4; /正确float dd=123.4f; /如果123.4后面不加f或F,则错误【例2-2】:通过案例来掌握整型数据类型和浮点型数据类型的使用public class Demo2_02 public static void main(String args) short sh=050;int i=0 xA3;long lg=(long) 2.0E+10;byte by=(byte) 129;float ft=(float) 1.234;double db=34.56d; System.out.println(短整型变量的值
12、:sh=+sh); System.out.println(整型变量的值:i=+i); System.out.println(长整型变量的值:lg=+lg); System.out.println(字节型变量的值:by=+by); System.out.println(单精度度浮点型的值:ft=+ft); System.out.println(双精度浮点型的值:db=+db);该程序的运行结果:字符型n字符型(char)数据用来表示单个的字符。如:nChar eChar=a;nchar cChar=中;nJava字符采用Unicode编码,每个字符占两个字节,取值范围:0-65535之间,也可以
13、十六进制编码形式表示:nChar c1=u0061;/ u表示后面的数字是采用Unicode编码来表示nJava语言中还允许使用转义字符来将其后的字符转变为其它的含义,例如:nChar c2=n; /n表示换行符,Java语言中常用的转义字符如表2.4所示:表2.4 Java中的转义字符转义字符转义字符引用方法引用方法含义含义dddddddddddd1313位八进制数据表示的字符位八进制数据表示的字符dxxxxdxxxxdxxxxdxxxx4 4位十六进制数据表示的字符位十六进制数据表示的字符 单引号单引号 反斜线反斜线bbbb退格退格t tt ttabtabnnnn换行换行f ff f换页换
14、页r rr r回车回车布尔型布尔型(boolean)是一种表示逻辑值的简单数据类型,它的取值只能是常量true或false中的一个。通常用于程序中的一些逻辑判断处理。【例2-3】:通过案例来掌握简单数据类型的使用public class Demo2_03 public static void main(String args) char ch1=b;char ch2=;boolean n1=true;boolean n2=(3+2) 、 =、=、=、!、!= =二元运算符二元运算符逻辑运算符逻辑运算符| |、&、!、!除除“ “!” ”为一元运算符外,其他都是二元运算符为一元运算符外,其他都是
15、二元运算符位运算符位运算符& &、| |、 、 、除除“”“”为一元运算符外,其他都是二元运算符为一元运算符外,其他都是二元运算符三元运算符三元运算符?:?:三元运算符三元运算符算术运算符算术云算符完成数学上的加(+)、减(-)、乘(*)、除(/)、取余(%)等运算。+、-运算符完成一元操作数的自增和自减,Java中算术运算符如表2.6所示:表2.6 算术运算符运算符运算符用例用例功能功能+ +a+ba+b求求a a与与b b之和之和- -a-ba-b求求a a与与b b之差之差* *a a* *b b求求a a与与b b之积之积/ /a/ba/b求求a a与与b b之商之商% %a%ba%b
16、求求a a与与b b相除的余数相除的余数+a+a+先引用先引用a a的值,的值,a a的值加的值加1 1+a+aa a的值先加的值先加1 1,再引用,再引用a a的值的值-a-a-先引用先引用a a的值,的值,a a的值减的值减1 1-a-aa a的值先减的值先减1 1,再引用,再引用a a的值的值【例2-5】:通过案例来掌握算术运算符的使用public class Demo2_05public static void main(String args)int i1=10,i2=20;int i=(i2+); System.out.print(i=+i+,); System.out.print
17、ln(i2=+i2);i=(+i2); System.out.print(i=+i+,); System.out.println(i2=+i2);i=(-i1); System.out.print(i=+i+,); System.out.println(i2=+i2);i=(i1-); System.out.print(i=+i+,); System.out.println(i2=+i2);inti3=i2%i1; System.out.println(i3=+i3); 程序运行的结果:赋值运算符和扩展赋值运算符赋值运算符“=”,是一个双目运算符,扩展赋值运算符就是把赋值运算符与算术运算符、逻
18、辑运算符或位运算符中的双目运算符结合起来而形成的赋值运算符。如表2.7所示:表2.7 赋值运算符和扩展赋值运算符运算符运算符用例用例功能功能= =a=ba=b把把b b的值赋给的值赋给a a+=+=a+=ba+=ba=a+ba=a+b-=-=a-=ba-=ba=a-ba=a-b* *= =a a* *=b=ba=aa=a* *b b/=/=a/=ba/=ba=a/ba=a/b%=%=a%=ba%=ba=a%ba=a%b&=&=a&=ba&=ba=a&ba=a&b=a=ba=ba=aba=ab|=|=a|=ba|=ba=a|ba=a|b=a=ba=ba=aba=a=a=ba=ba=aba=ab=
19、a=ba=ba=aba=ab【例2-6】:通过案例来掌握扩展赋值运算符的使用public class Demo2_06 public static void main(String args) int m=4;int n=8;n+=m;System.out.println(m=+m+,n=+n);String s1=s1;String s2=s2;s1+=s2;System.out.println(s1=+s1+,s2=+s2);程序运行的结果:关系运算符关系运算符用于比较两个值之间的大小,结果返回boolean型的值。具体关系运算符如表2.8所示:表2.8 关系运算符运算符运算符用例用例功能
20、功能=a=ba=b如果如果a a恒等于恒等于b,b,结果为结果为truetrue,否则,结果为,否则,结果为falsefalse!=!=a!=ba!=b如果如果a a不等于不等于b,b,结果为结果为truetrue,否则,结果为,否则,结果为falsefalse abab如果如果a a大于大于b,b,结果为结果为truetrue,否则,结果为,否则,结果为falsefalse=a=ba=b如果如果a a大于或等于大于或等于b,b,结果为结果为truetrue,否则,结果为,否则,结果为falsefalse abab如果如果a a小于小于b,b,结果为结果为truetrue,否则,结果为,否则,
21、结果为falsefalse=a=ba4)&(+i+j)5);/ 第二个操作数将不再计算nboolean flag2=(i2)|(i+j)6); /第二个操作数将不再计算n System.out.println(flag1=+flag1);n System.out.println(flag2=+flag2);n nn程序的运行结果:三元运算符三元运算符(? :),该运算符的语法格式: ?:表达式1的值是一个逻辑值,程序先计算表达式1的值,如果为true,就将表达式2的值作为整个表达式的值,如果为false,就将表达式3的值作为整个表达式的值。【例2-8】:通过案例来掌握三元运算符的使用publi
22、c class TernaryOperatorpublic static void main(String args)int score=80;int x=-100; String type=score0?1:(x=0?0:-1); System.out.println(type=+type); System.out.println(flag=+flag); 程序的运行结果:位运算符Java中可以使用位运算直接对整数类型和字符类型的数据的按位操作,Java的位运算符有:位非()、位与(&)、位或(|)、位异或()、位右移()、位左移()。具体位运算符如表2.10所示:表2.10 位运算符运算符
23、运算符用例用例功能功能 aaa a按位取反按位取反& &a&ba&ba a与与b b按位与按位与| |a|ba|ba a与与b b按位或按位或 ababa a与与b b按位异或按位异或ababa a右移右移b b位,若位,若a a的最高位为的最高位为1 1,左边补,左边补1 1,否则补,否则补0 0abaababa a右移右移b b位,左边补位,左边补0 0【例2-9】:通过案例来掌握位运算符的使用(这个例子的数字要变)byte a=7,b=-7,c=15,d=42 则:c=-16 /等价于二进制 00010000=11101111c&d=10 /等价于二进制 00010000&0010101
24、0=00001010cd=37 /等价于二进制 0001000000101010=00100101c|d=47 /等价于二进制 00010000|00101010=00101111a2=28 /等价于二进制 000001112=-2 /等价于二进制 111110012=11111110b2=62 /等价于二进制 111110012=00111110程序如下:public class Demo2_09public static void main(String args)byte a=7,b=-7,c=15,d=42; System.out.println(c); System.out.prin
25、tln(c&d);System.out.println(cd);System.out.println(c|d);System.out.println(a2);System.out.println(b2); 2.3.4.7运算符的结合性和优先级Java语言中一条表达式,往往包含多个运算符,那个运算符先运算那个运算符后运算,也有一定的规则,即运算符运算的优先级。运算符优先级从高到底排列,如表2.11所示:圆括号可以改变表达式中运算符的优先级别。表2.11 运算符优先级优先级优先级运算符运算符含义含义结合性结合性1 1. (). ()对象成员对象成员 数组下标数组下标 圆括号圆括号 从左到右从左到右
26、2 2+ - - + - !+ - - + - !自增自增 自减自减 负号负号 正号正号 位非位非 逻辑非逻辑非从右到左从右到左3 3* * / % / %乘乘 除除 取余取余从左到右从左到右4 4+ -+ -加加 减减从左到右从左到右5 5左移左移 右移右移 无符号右移无符号右移从左到右从左到右6 6=小于小于 小于等于小于等于 大于大于 大于等于大于等于从左到右从左到右7 7= != !=恒等恒等 不等不等从左到右从左到右8 8& &逻辑与(位与)逻辑与(位与)从左到右从左到右9 9 逻辑异或(位异或)逻辑异或(位异或)从左到右从左到右1010| |逻辑或(位或)逻辑或(位或)从左到右从左
27、到右1111&短路与短路与从左到右从左到右1212|短路或短路或从左到右从左到右1313?:?:三元运算符三元运算符从右到左从右到左1414= =扩展赋值运算符扩展赋值运算符赋值赋值 扩展运算符扩展运算符从右到左从右到左【例2-10】:通过案例来掌握运算符优先级的使用(补充程序内容)public class Demo2_10public static void main(String args)inti=15; booleanflag=i30 &i%10!=0; System.out.println(flag); 程序的运行结果:Java流程控制2.3.6Java流程控制对程序的语句执行流程进
28、行控制叫程序流程控制,java中常用的流程控制语句包括顺序语句、选择语句、循环语句。顺序结构就是从上往下,依次执行。顺序结构是最简单的,最基本的一种程序结构。 选择语句选择语句选择语句也就条件语句,当满足某种条件,就执行某段代码,不满足某种条件,就执行另一段代码等。选择语句分为if语句和switch语句。if语句语句if语句根据多种选择情况,分为单分支if语句、双分支if语句、多分支if语句。1、单分支if语句单分支if语句是最简单的if语句,基本语法格式:if(表达式) 语句块if后面的表达式是一个逻辑型的值,表达式的值如果为true,程序就执行if后面的花括号里面的语句块。否则不执行语句块
29、。【例2-11】:通过案例来掌握简单if语句的使用public class Demo2_11 public static void main(String args) int i = 21;boolean n=false;if(i!=20) n=true; System.out.println(n);程序的运行结果:2、双分支if语句采用if和else语句配合来完成双分支if语句,相当于“如果那么”的意思。语法格式:if(表达式)语句块1else语句块2if后面的表达式是一个逻辑型的值,表达式的值如果为true,程序就执行if后面的花括号里面的语句块。否则执行else后面的花括号里面的语句。【
30、例2-12】:通过案例来掌握简单if语句的使用public class Demo2_12 public static void main(String args) int i = 20;boolean n = false;if(i!=20) n=true; elseSystem.out.println(i=+i);System.out.println(n=+n);程序的运行结果:3、多分支if语句采用if与else if语句嵌套来完成多分支if语句,基本语法格式:if(表达式1) 语句块1else if(表达式2) 语句块2 /省略了多条else if语句块else if(表达式n)语句块ne
31、lse语句块n+1表达式1一直到表达式n都是逻辑值,if多分支程序执行过程:从上到下判断表达式的值,如果表达式值都为false,就执行else后面的花括号语句块,执行结束后,退出if多分支语句;如果某个表达式的值为true,就执行该表达式下的花括号语句块,程序不对其后面的表达式值进行判断了,该if多分支语句结束。【例2-13】:通过案例来掌握if多分支语句的使用public class Demo2_13 public static void main(String args) int i = 20;if(i 20) System.out.println(20); else if(i 40) S
32、ystem.out.println(40); else if(i 60) System.out.println(=60);System.out.println(100);程序的运行结果:switch语句语句if多分支嵌套语句,分支较多时,程序的可读性降低,Java提供了switch语句,该语句根据表达式的值来选择执行多分支语句,语法格式:switch(表达式)case 常量表达式1: 语句块1;break;case 常量表达式2: 语句块2;break;case 常量表达式n: 语句块n;break;default:语句块n+1;switch后的表达式的值只能是byte、short、int类型
33、或者是字符、字符串类型,根据表达式的值,依次与case后的常量表达式值比较,当两者相等,则执行其后的语句,直到遇到break或遇到switch语句结束则终止;case常量表达式的值都不满足,则做default后面的语句块。n【例2-14】:通过案例来掌握switch语句的使用npublic class Demo2_14npublic static void main(String args) nint i = 8;nswitch(i) ncase 1:n System.out.println(A);ncase 8 :n System.out.println(B);ncase 3 :n Syst
34、em.out.println(C);ncase 2 :n System.out.println(D);nbreak;ncase 9 :n System.out.println(E);nbreak;ndefault:n System.out.println(error);nnnn程序运行的结果:循环语句循环语句是指在一定的条件下,重复执行某些操作。Java中的循环语句有while循环语句、dowhile循环语句和for循环语句。while循环语句while循环又称“当型”循环,语法格式:while(表达式)循环体语句;其中,循环条件表达式是一个布尔类型,而循环体语句是当循环条件表达式为真时要执行
35、的语句,反之,则不执行该语句。while语句的执行过程如图2-1所示: 图2-1 while语句的执行过程dowhile循环语句dowhile循环语句又称“直到型”循环,语法格式:do循环体语句;while(表达式)dowhile循环首先执行循环体,再判断循环条件,如果条件成立,则重复执行循环体;条件不成立,结束循环。循环体至少被执行一次。do.while循环的执行过程如图2-2所示: 图2-2 do.while循环的执行过程【例2-15】:通过案例来掌握while和dowhile循环语句的使用public class Demo2_15 public static void main(Stri
36、ng args) int i=3;while(i0) i-;System.out.println(while循环+i);i=3;do i-;System.out.println(do.while循环+i); while(i0);程序运行的结果:for循环语句for循环的语法格式:for(初始值表达式;条件表达式;修正表达式) 循环体语句;for循环语句的执行过程:1)首先执行初始表达式,接着执行条件表达式,若条件表达式的值为true,则执行循环体语句,转2);为false,则退出for循环语句。2)执行修正表达式,然后再执行条件表达式,若条件表达式的值为true,则执行循环体语句,转2);为f
37、alse,则退出for循环语句。for循环语句的执行过程如图2-3所示: 图2-3 for循环语句的执行过程n【例2-16】:通过案例来掌握for循环语句的使用,编程实现1+3+5+99的和。npublic class Demo2_16npublic static void main(String args)nint sum=0;nfor(int i=1;i=99;i=i+2)nsum=sum+i;n n System.out.println(The sum is=+sum);n nn程序运行的结果:跳转语句Java中跳转语句有三个,break、continue和return语句,其中brea
38、k和continue语句用于分支和循环语句中,控制程序执行的流程。return语句一般用在方法中,用来返回方法的值,return语句的讲解见第三章。break语句break表示终止,用switch语句中,表示终止比较;用在循环语句中,表示强制退出本次循环,若break语句外有多层循环,那么break只能强制退出其所在的那层循环。【例2-17】:通过案例来掌握break语句的使用,编程实现1-50之间的所有素数。public class Demo2_17 public static void main(String args) System.out.println(150间的所有素数是:);fo
39、r(int i=1;i=50;i+)for (int j=2;j=i;j+)if(i=2)System.out.print(i+);break;if(i%j=0)break;if(j=i-1)System.out.print(i+); 程序运行的结果:continue语句continue语句是结束本次循环,不再执行continue后面的Java语句,继续执行下一次的循环语句。【例2-18】:通过案例来掌握break语句的使用,编程实现1100之间能够被5整除的所有数之和。public class Demo2_18 public static void main(String args) Sys
40、tem.out.println(1100之间能够被5整除的数有:);int sum=0;for(int i=1;i=100;i+)if(i%5!=0)continue;sum=sum+i; System.out.print(i+); System.out.print(n); System.out.print(它们之和为:+sum); 程序运行的结果:Java数组数组属于Java的引用数据类型,它是由类型相同的数据组成的有序数据集合。分为一维数组和多维数组。一维数组1、一维数组的声明一维数组声明的格式有两种方式:1)数据类型 数组名;2)数据类型 数组名;数据类型可以是Java中任意的数据类型。
41、两种定义方式表示的意思是一致,以下数组声明都采用第1)方式。如:int iValue;或 int iValue; /声明一维整型数组iValuedouble b;/声明一维double型数组b2、一维数组分配空间数组声明后,该数组在内存中还没有存储空间,只有给数组分配空间大小后,该数组在内存中存在,数组名指向该内存空间的首地址。给数组分配空间采用new关键字,语法格式:1)声明的数组的时候,给数组开辟空间数据类型 数组名=new 数据类型数组大小;例如:定义一个double类型的数组dValue,该数组含有10个元素。double dValue =new double10;2)数组声明后,给数
42、组开辟空间 数据类型 数组名; 数组名=new 数据类型数组大小;例如:定义一个double类型的数组dValue,该数组含有10个元素。double dValue ;dValue=new double10;数组开辟空间后,数组的大小就确定了,数组中的各个元素就确定,元素的小标从0开始,数组元素的引用方式:数组名下标;比如上面例子给数组dValue定义了10个元素,这样dValue数组中含有:dValue0,dValue1, dValue2, dValue910个元素。3、一维数组的赋值完成数组的声明和开辟空间后,就要给数组赋值。数组赋值分为静态赋值和动态赋值。1)静态赋值在声明数组的同时给数
43、组赋值,这种赋值方式称为静态赋值。int iArray=1,2,3,4,5,6;String strArray=“zhangsan”,”lisi”,”wangwu”;2)动态赋值声明数组并给数组开辟空间后,再给数组赋值,这种赋值方式称为动态赋值。String strArray; /声明数组strArray=new String3; /给数组开辟空间strArray0=”zhangsan”; /给每个数组元素赋值strArray1=”lisi”;strArray2=”wangwu”;3)默认赋值给数组开辟空间后,即使没有给数组赋值,数组根据所属数据类型,获得默认的初始值。例如:给double型数
44、组dValue分配三个元素double dValue=new double3;即使没有给dValue赋值,dValue数组中元素也获得一个初始值,dValue0=0.0,dValue1=0.0,dValue2=0.0。Java数组中各数据类型默认的初始值如表2.12所示:表2.12 Java中各数据类型默认初始化值数据类型数据类型默认值默认值数据类型数据类型默认值默认值数据类型数据类型默认值默认值bytebyte0 0longlong0 0charcharu0000u0000shortshort0 0floatfloat0.0f0.0fbooleanbooleanfalsefalseintin
45、t0 0doubledouble0.0d0.0d引用类型引用类型nullnull4、一维数组的应用【例2-19】:通过案例来掌握一维数组的使用,编程实现:定义一个整型数组,数组里面有10个元素,通过静态赋值给数组初始化,找出最大和最小的数,并输出。public class Demo2_19public static void main(String args)int iArray=3,2,6,9,1,10,4,20,5,12;int max=iArray0;int min=iArray0;for(int i=1;imax)max=iArrayi;if(iArrayimin)min=iArray
46、i; System.out.println(iArray数组中最大值=+max+,+iArray数组中最小值=+min); 程序运行的结果:二维数组1、二维数组的声明二维数组可以看成是一维数组的数组,二维数组声明的格式和一维数组相似,也有两种方式:1)数据类型 数组名;2)数据类型 数组名;数据类型可以是Java中任意的数据类型。如:int iValue;或 int iValue;/声明二维整型数组iValuedouble dValue;/声明二维double型数组dValue2、二维数组分配空间二维数组通过new来分配空间,数组名后的第一个方括号中的整数值表示行数,第二个方括号中的整数值是列
47、数,与一维数组一样,二维数组的下标都是从0开始,数组名指向该内存空间的首地址。语法格式:1)声明的数组的时候,给数组开辟空间 数据类型 数组名=new 数据类型行数组大小列数组大小; 例如:定义一个double类型的数组dValue,该数组含有5个行元素和10个列元素,总共有50个元素。double dValue =new double510;2)数组声明后,给数组开辟空间数据类型 数组名;数组名=new 数据类型行数组大小列数组大小;例如:定义一个double类型的数组dValue,该数组含有50个元素。double dValue ;dValue=new double510;3)开辟不规则空
48、间 二维数组可以开辟不规则空间,开辟空间的时候,必须先指定行数,对每行对应的列数可以不相等。 例如:定义一个int类型的数组iValue,该数组行组数大小为3,第1行开辟列数组大小为5,第2行开辟列数组大小为3,第3行开辟列数组大小为7。int iValue=new int3; /声明二维数组,给二维数组指定行数组大小。iValue0=new int5; /为二维数组的第1行分配5个列数组元素。iValue1=new int3; /为二维数组的第1行分配3个列数组元素。iValue2=new int7; /为二维数组的第1行分配7个列数组元素。3、二维数组的赋值1)静态赋值二维数组静态赋值和一
49、维数组静态赋值一样,在声明数组的同时给数组赋值。int iArray=1,2,3,4,5,6,7,8,9;String strArray=“zhangsan”, “lisi”, “wangwu”,“how”,“are”,“you”;2)动态赋值 声明数组并给数组开辟空间后,再给数组赋值,这种赋值方式称为动态赋值。double bArray=new double23; /声明数组并给数组开辟空间/给每个数组元素赋值bArray00=1.0;bArray01=2.0; bArray01=8.0;bArray10=3.0;bArray11=4.0; bArray01=7.0;bArray20=5.0
50、;bArray21=6.0 ;bArray01=9.0;3)默认赋值二维数组可以其实是一维数组的数组,给二维数组开辟空间后,也获得默认的初始值,与一维数组默认的初始值一样。【例2-20】:通过案例来掌握二维数组的使用,编程实现:定义一个4行5列double型二维数组,从键盘输入值,编程找出最大值输出,并输出相应的行号和列号。import java.util.Scanner;import java.io.*;public class Demo2_20public static void main(String args)double dArray=new double45; Scanner sc