【教学课件】第2章Java语言基础.ppt
第2章 Java语言基础,2.1 Java语法基础2.2 Java 流程控制2.3 数组2.4 字符串,2.1 Java语法基础,2.1.1 标识符和关键字2.1.2 数据类型与常量、变量2.1.3 运算符和表达式,2.1.1 标识符和关键字,Java语言采用Unicode字符集,前256个字符与ASCII相同。采用16位编码,即单个英文字母与一个汉字所占字节数一样,都是2个字节。,1 标识符,标识符用来表示类名、变量名、数组名、方法名Java 的标识符由字母、数字、_和$组成,长度不限,但实际命名不宜过长。标识符的第一个字符必须为字母、“_”或“$”,数字不能作为标识符的开头字符。标识符区分大小写。合法的标识符:name,s_no,$2,boy_number不合法的标识符:2y,a*b,w/,1 标识符,为了提高程序的可读性,标识符最好“见名知义”,而且规范大小写的使用方式:变量名、对象名、方法名、包名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写。如getAge。类名首字母大写。常量名全部字母大写。不能与关键字同名。,2 关键字,关键字是由Java语言定义的、具有特殊含义的字符序列。用户只能按照系统规定的方式使用,不能自行定义。关键字一律用小写字母表示。,提醒:关键字不能做标识符,abstract boolean byte breakchar case continue catch class double default do else extends float for final finally int if import implements interfacelong length new package private protected public return short static switch super this try throw throws threadvoid while,常用的要记忆,数据类型,程序控制结构,第1章例题类的定义所涉及过的,三个特殊值:false true null,assert const enum goto instanceof native synchronized strictfp transient volatile,2.1.2 数据类型与常量、变量,Java的数据类型分为2大类:基本数据类型和引用数据类型。基本数据类型是由一种简单数据组成的数据类型,其数据是不可分解的。例如,整数类型int的数据有34,17等。基本数据类型的变量中保存数据值,而引用数据类型的变量保存地址。Java的引用数据类型包括数组(array)、类(class)和接口(interface)。,Java的数据类型分类,字节型(byte),标准型(int),短整型(short),长整型(long),单精度(float),双精度(double),布尔型(boolean),字符型(char),基本数据类型,整数型,浮点数型,复合数据类型,类(class),接口(interface),数组(Array),数据类型,加L或l,加F或f,1 Java基本数据类型,整数类型 整数类型数据值有负整数、零和正整数。整数类型又细分为4种子类型。不同整数类型的差别在于占用的内存空间和数据取值范围的不同。,1 Java基本数据类型,整数类型 一个整数的缺省类型为int。要表示一个整数为long型,在其后加后缀L或l,如345L。Java还提供了3种进制的整数表示形式:十进制数。用09之间的数字表示的数,其首位不能为0。八进制数。用07之间的数字表示的数,以0为前缀。十六进制数。用09之间的数字或af,AF之间的字母表示的数,以0 x或0X为前缀。,1 Java基本数据类型,浮点数类型 浮点数类型有2种表示形式:float(单精度浮点数)和double(双精度浮点数)。标准记数法:由整数部分、小数点和小数部分组成,如12.37科学记数法:由尾数、E或e及阶码组成,也称为指数形式,如2.5E4表示2.5104,1 Java基本数据类型,浮点数类型,取值范围及所占用的内存大小,一个浮点数缺省类型为double。要表示一个浮点数为float型,在其后加后缀F或f,如34.5f。,1 Java基本数据类型,字符类型 字符类型(char)表示为Unicode编码,1个字符占16位。如:A字符类型数据表示方法:用单引号括起来的单个字符。用Unicode码表示,前缀是“u”。Unicide字符集中的控制字符需要通过转义字符表示。,1 Java基本数据类型,由多个字符组成的字符序列称为字符串,字符串用双引号括起来。如 green就是一个字符串。,1 Java基本数据类型,布尔类型 布尔类型(boolean)只有true(真)和false(假)2个值。布尔类型值占1个字节。,Java基本数据类型表,2 常量,常量是指在程序运行过程中其值始终保持不变的量。,符号常量,可以用标识符表示常量,称为符号常量。符号常量必须先声明,后使用。声明方式如下:final 修饰符 类型标识符 常量名=(直接)常量;修饰符是表示该常量使用范围的权限修饰符:public,private,protected或缺省。如:final float PI=3.14159;final char SEX=M;final int MAX=100;,3 变量,变量是指在程序运行过程中其值可以改变的量。变量必须先定义后使用。其格式为:修饰符 类型标识符 变量名=常量;,3 变量,以下是合法的变量声明:float x=25.4,y;char c;boolean flag1=true,flag2;int l,m;其中,变量x和flag1被赋予初始值,其它变量没有初始化。,例:使用整数型变量,分析运行结果。public class Integers public static void main(String args)int a=015;/八进制数 int b=20;/十进制数 int c=0 x25;/十六进制数 short x=30;long y=123456L;System.out.println(a=+a);/输出a的值(b=+b);System.out.println(c=+c);System.out.println(x=+x);System.out.println(y=+y);,程序运行结果如下:a=13 b=20 c=37x=30 y=123456,例:使用单精度和双精度类型变量public class Floats public static void main(String args)float a=35.45f;double b=3.56e18;System.out.println(a=+a);System.out.println(b=+b);程序运行结果如下:a=35.45b=3.56E18,例:使用字符类型变量 public class Characters public static void main(String args)char ch1=a;char ch2=B System.out.println(ch1=+ch1);System.out.println(ch2=+ch2);程序运行结果如下:ch1=a ch4=B,例:使用字符串类型数据public class Samp2_5 public static void main(String args)String str1=abc;String str2=n;String str3=123;System.out.println(str1=+str1+str2+str3=+str3);程序运行结果如下:str1=abc str3=123,例:使用逻辑类型变量public class Logic public static void main(String args)boolean instance1=true;boolean instance2=false;(逻辑状态1=+instance1+逻辑状态2=+instance2);程序运行结果如下:逻辑状态1=true 逻辑状态2=false,2.1.3 运算符和表达式,1.运算符 对数据进行加工和处理称为运算,表示各种运算的符号称为运算符,参与运算的数据称为操作数。根据操作数的个数,可以将运算符分为单目、双目和多目运算符。运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符。,(1)算术运算符,算术运算符完成数学上的加、减、乘、除四则运算。算术运算符包括双目运算符和单目运算符。双目算术运算符包括+(加)、-(减)、*(乘)、/(除)和%(取余)。,(1)算术运算符,例如:23+5/结果是286*5/结果是3027/3/结果是945/4/结果是119%3/结果是09%4/结果是1,(1)算术运算符,单目算术运算符包括+(自增)、-(自减)、-(负号)。“+”和“-”只能用于整数类型的变量,而不能用于常量或表达式。“+”和“-”既可以出现在变量的左边,也可以出现在变量的右边。例如:int j=5;j+;/先运算,再自增+j;/先自增,再计算-j;/先自减,再运算j-;/先运算,在自减,(2)关系运算符,关系运算是2个操作数之间的比较运算。关系运算符有:、=、=、=和!=。“=”和“!=”还可用于布尔类型及字符串类型操作数。字符类型操作数的比较依据是其Unicode值,字符串从左向右依此对每个字符比较。关系运算的运算结果是布尔类型值。如果关系成立,结果的值为true;否则,结果的值为false。,(2)关系运算符,(2)关系运算符,例如:23.510.4/结果是true45!=45/结果是false76/结果是falsetrue!=false/结果是trueTa/结果是trueu9/结果是false,(3)逻辑运算符,逻辑运算是对布尔类型操作数进行的与、或、非、异或等运算,运算结果仍然是布尔类型值。逻辑运算符有:&(与)、|(或)、!(非)、(异或)、&(条件与)、|(条件或)。,短路与,短路或,特别注意:&与|可能会忽略第二个表达式的运算,逻辑运算真值表,(3)逻辑运算符,例如:!true/结果是falsetrue&false/结果是falsetrue|false/结果是true逻辑运算用于判断组合条件是否满足,例如(age20)&(age30)/判断age的值是否在2030之间(ch=b)|(ch=B)/判断ch的值是否为字母b 或B,(4)位运算符,位运算是对整数类型的操作数按二进制的位进行运算,所运算结果仍然是整数类型值。位运算符:(位反)、&(位与)|(位或)、(位异或)(右移位)(无符号右移位)。,位运算真值表,(4)位运算符,(4)位运算符,例如:a=15,b=2;计算a和ab的值。(1)将整数转换为二进制表示。a=0000 0000 0000 1111,b=0000 0000 0000 0010(2)对a按位进行取反操作。0000 0000 0000 1111=1111 1111 1111 0000(-16的补码)(3)对a,b按位进行异或操作 0000 0000 0000 1111 0000 0000 0000 0010 0000 0000 0000 1101所得结果:a=-16,ab=13。,13,(4)位运算符,public class BitOperationpublic static void main(String args)int a=15;int b=2;int x=a,(5)赋值运算符,赋值运算用于给变量赋值,形式如下:变量名=表达式;赋值运算的次序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。例如:int i=3,j;/i的初始值是3 j=i+2;/结果,j的值是5 i=2*j;/结果,i的值是10 j=j+4;/结果,j的值是9,复合赋值运算符,赋值运算符还可以与算术运算符、逻辑运算符和位运算符组合成复合赋值运算符,使用方法见表。,(6)条件运算符,条件运算格式如下:表达式1?表达式2:表达式3?:称为条件运算符,是三目运算符。例如:int min,x=4,y=20;min=(xy)?x:y;/结果使min取x和y中的较小值,即min的值是4,括号运算符,圆括号运算符“()”用于改变表达式中运算符的运算次序。先进行括号内的运算,再进行括号外的运算;在有多层括号的情况下,优先进行最内层括号内的运算,再依次从内向外逐层运算。,2.表达式,用运算符将操作数连接起来的,符合语法规则的运算式。例如:int i=5,j=10,k;k=(24+3*i)*j;,(1)运算符的优先级,(1)运算符的优先级续前表,表达式的数据类型,表达式的数据类型由运算结果的数据类型决定。例如:int i=3,j=21,k;boolean f;k=(i+3)*4;/(i+3)*4是算术表达式 f=(i*2)j;/(i*2)j是布尔表达式,例 单目运算符实例public class Operator public static void main(String args)int i=15,j1,j2,j2,j4;j1=i+;/在操作数的右面 System.out.println(i+=+j1);j2=+i;/在操作数的左面 System.out.println(+i=+j2);j3=-i;System.out.println(-i=+j3);j4=i-;System.out.println(“i-=+j4);System.out.println(i=+i);,程序运行结果如下:i+=15+i=17-i=16i-=16i=15,(2)数据类型的转换,当将一种数据类型的值赋给另一种数据类型的变量时,出现了数据类型的转换。在整数类型和浮点数类型中,可以将数据类型按照精度从“高”到“低”排列如下级别:double 高级别floatlongintshortbyte 低级别,(2)数据类型转换规则,当将低级别的值赋给高级别的变量时,系统自动完成数据类型的转换。float x=200;/将int类型值200转换成float类型值/200.0,结果x获得的值是200.0当将高级别的值赋给低级别的变量时,必须进行强制类型转换。int i;i=(int)26L;/将long类型值26转换成int类型值26,/结果i获得int类型值26 进行强制类型转换时,可能会造成数据精度丢失。,Java举例整数相除,例:整数相除 public class Divide public static void main(String args)int i=15,j=4,k;float f1,f2;k=i/j;f1=i/j;f2=(float)i/j;System.out.println(k=+k);System.out.println(f1=+f1);System.out.println(f2=+f2);,运行结果如下:k=3f1=3.0f2=3.75,2.2 Java 流程控制,2.2.1 语句及程序结构2.2.2 顺序结构2.2.3 选择结构2.2.4 循环结构 2.2.5 跳转语句,2.2.1 语句及程序结构,语句用来向计算机系统发出操作指令。程序由一系列语句组成。Java中语句以分号(;)作为结束标记。如:total=math+phys+chem;复合语句 用“”将多条语句括起来,在语法上作为一条语句使用。如:z=x+y;t=z/10;,import java.applet.*;import java.awt.*;import java.awt.event.*;public class AppletInOut extends Applet implements ActionListener Label prompt;TextField input,output;public void init()prompt=new Label(请输入您的名字);input=new TextField(6);output=new TextField(20);add(prompt);add(input);add(output);input.addActionListener(this);public void actionPerformed(ActionEvent e)output.setText(input.getText()+,欢迎你!);,属性,方法1,方法2,主类类体,加载已定义好的类和包,主类类头,2.2.1 语句及程序结构,结构化程序的三种结构:顺序结构(Sequence Structure)选择结构(Selection Structure)循环结构(Iteration Structure),(1)顺序结构,顺序结构中,语句的执行顺序是按照程序语句书写的顺序,从上到下依次执行。,流程图画法,(2)选择结构,选择结构:程序的执行流程根据判断条件,选择其中一个分支执行。,(3)循环结构,循环结构是指如果满足一定条件,则反复执行一段程序,直到条件不再满足为止。,2.2.2 顺序结构,顺序结构是最简单的一种程序结构,没有固定的语句格式,程序的执行按照语句的书写次序顺序进行。,例:计算太阳和地球之间的万有引力public class Force public static void main(String args)double g,mSun,mEarth,f;g=6.66667E-8;mSun=1.987E33;mEarth=5.975E27;f=g*mSun*mEarth/(1.495E13*1.495E13);System.out.println(The force is+f);程序运行结果如下:The force is 3.5413E27,例:华氏温度转换为摄氏温度 摄氏温度c和华氏温度f之间的关系为:c=5(F-32)/9public class Conversion public static void main(String args)float f,c;f=70.0f;c=5*(f-32)/9;System.out.println(Fahrenheit=+f);System.out.println(Centigrade=+c);,程序运行结果如下:Fahrenheit=70.0Centigrade=21.11111,例:求解方程ax+b=0的根xpublic class Root public static void main(String args)float a,b,x;a=Float.parseFloat(args0);b=Float.parseFloat(args1);x=-b/a;System.out.println(a=+a);System.out.println(b=+b);System.out.println(x=+x);,带参数的程序运行方式:,1、命令行方式:java Root 2.0 6.0运行程序,2.0和6.0分别作为第1和第2个参数传递给args0和args1。2、TextPad环境下:,2.2.3 选择结构,Java语句提供了两条基本的分支选择语句if和switch。if语句应用在“二选一”的条件下,而switch语句应用在“多选一”的条件下。它们都是对条件表达式进行判断,针对不同的结果,决定转向要执行的Java语句。,选择结构和条件判断,在现实生活中,需要进行判断和选择的情况是很多的。如果你在家,我去拜访你如果考试不及格,要补考如果遇到红灯,要停车等待周末我们去郊游70岁以上的老年人,入公园免票,1.if语句,if(布尔表达式)语句if(布尔表达式)语句1 else 语句2,例:通过命令行输入2个整数,输出较小者public class MinNum public static void main(String args)int x,y,min;x=Integer.parseInt(args0);x=Integer.parseInt(args1);if(xy)min=x;else min=y;System.out.println(x=+x);System.out.println(y=+y);System.out.println(min=+min);,例:求解方程 ax+b=0(a0)的根public class Root public static void main(String args)float a,b,x;a=Float.parseFloat(args0);b=Float.parseFloat(args1);if(Math.abs(a)0)x=-b/a;System.out.println(x=+x);,练习,例:已知两个数x和y,比较它们的大小,使得x大于y,If(xy)t=x;x=y;y=t;,6,10,6,10,6,练习,已知三个数a,b,c,输出其中最大的数。max=a;if(maxb)max=b;if(maxc)max=c;System.out.println(max);画流程图,例:已知三边a、b、c的长,编程求面积。,开始,练习,if 语句嵌套,if语句中可以包含if语句,形成if语句的嵌套。,嵌套的一般形式,有问题,从第一个else开始,总是与它上面最近的未配对的if配对,多分支的if语句,if(布尔表达式1)语句1else if(布尔表达式2)语句2 else if(布尔表达式n)语句nelse 语句n+1,public class Function public static void main(String args)float x,y;x=Float.parseFloat(args0);if(x0,例:编写分段函数程序。,2 Switch语句,switch(表达式)case 值1:语句块1;case 值2:语句块2;case 值n:语句块n;default:语句块n+1;,int、byte、char、short,常量,2.Switch语句,switch(表达式)case 值1:语句块1;break;case 值2:语句块2;break;case 值n:语句块n;break;default:语句块n+1;,import java.io.*;public class Test public static void main(String args)throws IOException char grade;grade=(char)System.in.read();System.out.print(Your score:);switch(grade)case A:System.out.print(85100n);break;case B:System.out.print(7084n);break;case C:System.out.print(6069n);break;case D:System.out.print(60n);break;default:System.out.print(enter data error!n);,break;语句用于结束当前switch语句,执行其后的语句。,grade=(char)System.in.read();System.out.print(Your score:);switch(grade)case A:System.out.print(85100n);break;case B:System.out.print(7084n);break;case C:System.out.print(6069n);break;case D:System.out.print(60n);break;default:System.out.print(enter data error!n);,2.Switch语句,例:将百分制成绩转化为优秀、良好、中等、及格和不及格的5级制成绩。标准为:优秀:90100分;良好:8089分;中等:7079分;及格:6069分;不及格:60分以下。,public class Level public static void main(String args)short newGrade,grade;grade=Short.parseShort(args0);switch(grade/10)case 10:case 9:newGrade=1;break;case 8:newGrade=2;break;case 7:newGrade=3;break;case 6:newGrade=4;break;default:newGrade=5;,System.out.print(grade);switch(newGrade)case 1:System.out.println(,优秀);break;case 2:System.out.println(,良好);break;case 3:System.out.println(,中等);break;case 4:System.out.println(,及格);break;case 5:System.out.println(,不及格);,2.2.4 循环结构,循环语句的作用是在一定条件下,反复执行一段程序代码,被反复执行的程序称为循环体。Java提供的循环语句有:while语句、dowhile语句和for语句。,1.while语句,while(布尔表达式)循环体当布尔表达式为true时,重复执行循环体。,例:计算10!public class Factorial public static void main(String args)int i;double s;i=1;s=1;while(i=10)s=s*i;i=i+1;System.out.println(10!=+s);,2.dowhile语句,do 循环体while(布尔表达式);重复执行循环体,直到布尔表达式为false。,例:计算1+3+5+99public class Sum1 public static void main(String args)int i=1,s=0;do s=s+i;i=i+2;while(i100);System.out.println(sum=+s);,例:计算150之间的奇数和、偶数和public class Sum2 public static void main(String args)int i=1,oddSum=0,evenSum=0;do if(i%2=0)/如果i是偶数 evenSum+=i;/求偶数和 else/如果i是奇数 oddSum+=i;/求奇数和 i+;while(i=50);/判断i的值是否在150之间 System.out.println(Odd sum=+oddSum);System.out.println(Even sum=+evenSum);,3.for语句,for(表达式1;表达式2;表达式3)循环体表达式1:循环初值;表达式2:布尔表达式,判断循环是否继续;表达式3:修改循环变量值。,例:计算s=1+2+3+4+100public class Sum3 public static void main(String args)int count,sum=0;for(count=1;count=100;count+)sum+=count;System.out.println(sum=+sum);,用while和do-while语句改写,1-100求和的Java实现,1 使用while语句int count=1;int sum=0;while(count=100)sum+=count;count+;,3 使用dowhile语句int count=1;int sum=0;do sum+=count;count+;while(count=100);,2 使用for语句int sum=0,count;for(count=1;count=100;count+)sum+=count;,比较三种循环语句的差异,4.循环嵌套,例如:for(;)/外循环开始.for(;)/内循环开始/内循环结束 while(condition)/内循环开始./内循环结束/外循环结束,4.循环嵌套,问题:求1!+2!+3!+10!,int i,j;long fact,sum=0;for(i=1;i=10;i+)fact=1;for(j=1;j=i;j+)fact*=j;sum+=fact;,内层循环的作用是什么?内层循环的循环条件和外层循环有何关系?,例:求Fibonacci数列中的前20项。public class Fibonacci public static void main(String args)long f1=1,f2=1;for(int i=1;i=10;i+)System.out.print(f1+f2+);f1=f1+f2;f2=f1+f2;,例:判断素数(质数)素数是指除1及自身外,不能被其它数整除的自然数。,start,输入k,i=2,k%i=0或ik-1,i=i+1,i=k?,k是素数,k非素数,end,true,false,true,false,public class Prime public static void main(String args)short i,k;k=Short.parseShort(args0);for(i=2;i=k-1;i+)if(k%i=0)break;if(i=k)System.out.println(k+is a prime.);else System.out.println(k+is not a prime.);,例:求250之间的所有素数。public class Primes public static void main(String args)final int MAX=50;int i,k;for(k=2;k=MAX;k+)for(i=2;i=k-1;i+)if(k%i=0)break;if(i=k)System.out.print(k);,2.2.5 跳转语句,break语句:与switch语句组合使用,表示从switch语句中跳出,转去执行其后的语句;用于循环语句中,表示从循环语句中跳出,立即终止循环,转去执行其后的语句。,(1)不带标号的break语句。break;(2)带标号的break语句。用在多重循环语句中,跳出标号所指定的语句块,并从紧跟该块后的第一条语句处执行。break 标号语句;,2.2.5 跳转语句,a:/标记代码块a b:/标记代码块b c:/标记代码块c break b;/这段语句将不执行/代码块c结束/这段语句也不执行/代码块b结束/从这段语句开始执行/代码块a结束,Java控制语句,continue语句无条件使控制转移到循环语句的条件判定部分,终止本次循环,直接进入下一次循环。,2.2.5 跳转语句,(1)不带标号的continue语句。continue;(2)带标号的continue语句。用在多重循环语句中,跳转到标号指明的循环中。continue 标号语句;,2.2.5 跳转语句,用在 while 和 do-while 语句中,表示转去执行条件判断,以决定是否开始新一轮循环。用在 for 循环语句中,表示转去执行“表达式3”,再进行条件判断,以决定是否开始新一轮循环。,outer:for(int i=0;i10;i+)for(int j=0;j10;j+)if(ij)continue outer;/内层循环结束/外层循环结束,for(int i=0;i 10;i+)if(i=5)continue;System.out.print(i);,跳转语句示例:,例:找素数public class PrimeNumber public static void main(String args)int i,j,k;boolean flag;for(i=2;i=50;i+)flag=true;k=i/2;for(j=2;j=k;j+)if(i%j=0)/如果该数可以整除其余数,则不可能是质数 flag=false;break;if(flag)System.out.print(i+);,(3)return语句,return语句的功能是从当前方法中退出,运行结果由方法名带回到调用方法中。它的语法格式如下:return expression;或 return(expression);注意,如果一个方法的返回值类型定义为void,则方法体中不需要有return语句。,将返回的结果,例:continue语句在三种循环语句中的应用。public class ExampleContinuepublic static void main(String args)int i=1;doif(i=5)continue;System.out.print(i+);i+;while(i10);,int i=1;while(i10)if(i=5)continue;System.out.print(i+);i+;,for(int i=1;i10;i+)if(i=5)continue;System.out.print(i+);,2.3 数组,2.3.1 数组的基本概念2.3.2 一维数组的创建与使用2.3.3 多维数组,113,问题,JAVA考试结束,需要计算全班(30个同学)的平均成绩?,int stu1=92;int stu2=87;int stu3=72;int stu4=65;int stu5=75;int stu30=86;,30个变量,太麻烦,引例,int,long,float,char等都是基本数据类型,一个变量表示一个数据,称为简单变量。对于有些数据,只用简单的数据类型是不够的。例如:要处理100个学生的考试成绩。数组是一种最简单的复合数据类型(引用数据类型)。数组是有序数据的集合,数组中的每个元素具有相同的数据类型。,2.3.1 数组的基本概念,数组概念的定义,115,数组:相同数据类型的变量按一定顺序排列的集合。这些相同数据类型的变量,称为数组元素。通过数组名和下标来使用数组中的元素。,数组名,下标,数组的分类,数组分为一维数组、二维数组和多维数组,如:arr13 arr234 arr3343数组要先声明和并分配空间后才能使用。,2.3.2 一维数组的创建与使用,数组的声明作用:声明数组的名称 和 元素的数据类型。数据类型可以是简单数据类型,也可以是某一对象类型。,117,语法格式1:数组类型 数组名;语法格式2:数组类型 数组名;,如:int a;Student stu;,注:Java不允许在声明数组时指定元素个数。,int a 10;,创建数组-分配内存空间,定义好的数组必须创建数组空间后才可以使用。创建时须指明数组长度,以确定所开辟内存空间的大小。语法格式:数组名=new 数组类型数组元素个数 例:a=new int10;stu=new Student 30;,118,数组声明 和 创建数组 可以用一条语句完成。如:int a=new int10;,提问:int x=10;double n=new doublex 可以吗?,注:Java中允许使用int型变量的值指定数组长度,在Java中声明并创建了数组之后,依数据类型的不同,会预设不同的初值。,数组的初始化,如果数组元素类型是基本数据类型,可以在声明数组的同时给数组元素赋初值。如:float data=23.2f,25.0f,171.4f,54.5f,81.3f,59.6f;用 逗号 分隔数组的各个元素,系统自动为数组分配空间。,120,对于对象类型为数组元素的数组,则必须利用构造函数来初始化每个数组元素,一般用循环结构来完成。例:for(i