Java程序设计@第02章-Java基本语法综述综述_第1页
Java程序设计@第02章-Java基本语法综述综述_第2页
Java程序设计@第02章-Java基本语法综述综述_第3页
Java程序设计@第02章-Java基本语法综述综述_第4页
Java程序设计@第02章-Java基本语法综述综述_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计第02章Java基本语法本章内容CORE-C02-01数据与数据类型

CORE-C02-02数据存储与量

CORE-C02-03数据输入与输出

CORE-C02-04数据运算与运算符

CORE-C02-05运算与条件流程控制

CORE-C02-06运算与循环流程控制

CORE-C02-07运算与中断流程控制

CORE-C02-08数组

CORE-C02-09方法

本章目标1、能根据需要定义各种变量。2、能对变量正确赋值。3、能对变量进行各种运算。4、能使用控制语句控制程序的运行。5、能熟练使用数组。6、能封装方法。7、能调用方法。重点:

1.熟练使用各种数据类型的定义。2.熟练使用数组和各种控制语句。 3.掌握从键盘接收数据的方法。第01节

数据与数据类型知识点预览#节知识点难点重点应用1CORE-C02-01数据与数据类型1、数据值

√√2、定长数据类型

√√3、用户自定义类型√√√1、数据值-1数据值是计算机最重要的概念:计算机的核心功能是处理数据,所以任何计算机语言中数据是最重要的概念,而在数字计算机中数据的表现为数据值。数据值的存储:计算机要处理处理数据的首要问题是数据值在计算机内存中的存储,而要存储数据值则必须要先确定数据的大小与格式(数据值类型),然后数据值的记录方式。数据值的类型与记录方式:逻辑类型:true/false。(1字节)字符类型:’a’或者0-255之间的数。(本质是一个无符号的1字节整数)整数类型:1234,4523(1,2,4字节)或者3456L,3456L(8字节)。为了数据存储的有效性,整数根据大小分为1、2、4、8字节整数。小数类型:23.56,45.78d、45.78D(8字节)或者56.89f、56.89F(4字节)。为了数据存储的有效性,小数根据大小分为4、8字节小数。字符串类型:”Hello”,null。

字符串是多个字符的快捷表现形式,内存存储实际是字符格式。固定长数据值变长1、数据值-2整数数据值的进制表示二进制:0b10101八进制:07777十进制:123456十六进制:0xFFA12

0XfA6FF (x不区分大小写)整数数据值的后缀整数数据值一般使用4字节,如果8字节的整数数据值,则需要加L或者l后缀。小数数据值的科学表示普通表示:123.56科学表示:1.2356e2;小数数据值的后缀一般小数都是8字节的双精度数,如果需要4字节的小数,则需要f或者F后缀,8字节也可以使用d或者D后缀。1、数据值-3字符数据值的转义表示字符除使用’A’形式的有形字符表示外,还可以使用转义字符表示:‘\n’ 回车‘\t’ 水平制表符‘\b‘ 空格‘\r‘ 换行‘\f’ 换页‘\'‘ 单引号‘\"‘ 双引号‘\\’ 反斜杠‘\ddd’ 三位八进制‘\udddd’ 四位十六进制1、数据值-4JavaSE7.0引入了下划线来增强数字类型的可读性。下划线规则:不能出现在与禁止有关的符号前后。不能出现在小数点前后。不能出现在后缀前后。不能出现在数字值前后,只能在中间。floatf=12.4_5_6f;

inti=12_34_56;2、定长数据类型固定长数据值一般是直接存储的分配的内存空间之中,一般称为基本数据类型。Java基本数据类型的表示:逻辑类型:boolean。1字节字符类型:char。2字节整数类型:1字节整数类型:byte。2字节整数类型:short。4字节整数类型:int。8字节整数类型:long。小数类型:4字节小数:float。8字节小数:double。注意:还有一个特殊的类型,没有类型的类型void类型。在函数返回类型的时候使用,不能用来定义变量,后面讲函数的时候再详细讲解。3、用户自定义类型用户自定义数据类型也称复合数据类型就是使用基本数据类型根据用户需要组合成的新的数据类型。用户自定义数据类型的长度根据用户的需要而不定,所以用户自定义数据类型是属于变长数据类型。Java语言的数据表达能力:由于Java语言引入的用户自定义数据类型的表达方式,所以基本上Java语言可以表达与存储任何数据值。字符串类型属于用户自定义类型,由于字符串太常用,所以Oracle公司的工程师已经利用Java语法把字符串定义成一种用户自定义数据类型。字符串自定义类型:String。用户自定义数据值与基本数据值的存储空间的分配方式是不同的。基本数据类型是事先分配。(加载时分配)用户自定义类型是数据值确定的时候分配。(运行时分配)第02节

数据存储与量知识点预览#节知识点难点重点应用2CORE-C02-02数据存储与量1、定义变量

√√2、初始化变量与变量赋值

√√3、使用变量

√√4、赋值与类型转换

√√5、字符串

√√6、常量

√√7、量的作用域

√√1、定义变量数据值在Java中使用有两种方式:1、直接使用,我们称为字面值。2、先申请内存(我们把命名的内存称为量),并对内存命名(定义量),然后把数据放入内存(量初始化或量赋值),如果量的值可以反复赋值,则称为变量,否则称为常量。变量定义语法:数据类型变量名[=值]; //定义一个变量数据类型变量名1[=值],变量名2[=值],……;//定义多个变量2、初始化变量与变量赋值-1第一次变量赋值称为变量初始化。Java变量如果没有初始化,编译器会提供初始值。逻辑变量默认初始值是false。字符变量默认是空字符(ASCII码为0的字符)。整数变量默认值是0。小数变量默认值是0.0。用户自定义类型变量默认值是null。变量赋值语法:变量初始化方式:变量名=值;//值可以是字面值,另外一个变量,表达式,函数调用;变量名=字面值; //使用赋值语句初始化数据类型变量=字面值;//在定义变量的同时初始化。数据类型变量=字面值,变量=字面值,…..;2、初始化变量与变量赋值-2逻辑变量赋值字符变量赋值booleanb_data;b_data=true; //赋值方式1booleanisrunning=false; //赋值方式2booleanisup=true,isdown=false,isright; //赋值方式3charc1;c1=‘A’; //赋标准字符值。c1=65; //赋ASCII字符值,ASCII可以是2、8、16进制等。c1=‘\53’; //赋8进制转义字符值。c1=‘\n’; //赋普通转义字符值。c1=‘\u4e2d’; //赋16进制(unicode)转义字符值。charc2=c1; //把另外一个字符赋值给字符变量。

c2=‘中’; //Java支持Unicode字符—汉字本地字符2、初始化变量与变量赋值-3赋值注意事项:赋值的范围:按照字节计算。赋值的形式:赋值语句,定义变量的时候赋值。赋值的格式:进制,字面值类型,使用另外一个变量赋值,表达式,函数。使用变量赋值的时候,注意字节大小的转换,小可以转换为大类型。字符型也属于整数类型,字符除不能转换为byte与short型。byted_byte=127; //赋值范围-128~127 2的7次方。shortd_short=200; //赋值范围-32768~32767 2的15次方。intd_int=200000; //赋值范围-2147483648~21474836472的31次方。longd_long=9999999; //赋值范围 2的63次方。

//上面的整数值可以是2、8、10、16进制,整数字面值都是4字节,如果超过4字节使用L/l后缀。

byteb1=‘c’; //赋字符值,不能赋字符变量。

charc1=‘A’;shorts1=c1; //赋字符变量。s1=d_short; //赋另外一个整数变量。

2、初始化变量与变量赋值-4小数(浮点数)变量赋值注意事项:赋值的范围与精度:float精度7位左右,double精度16位左右。赋值的形式:赋值语句,定义变量的时候赋值。赋值的格式:普通计数与科学计数,字面值类型,使用另外一个变量赋值,表达式,函数。使用变量赋值的时候,注意字节大小的转换,小可以转换为大类型。整数类型也可以转换为小数类型。注意:浮点数字面值默认是8字节。floatf=5.555555f; //

正负3.4028235E+38F范围内doubled=5.5555555; //正负1.7976931348623157E+308范围内

3、使用变量定义变量的主要目的是存放数据,要使用存放在变量的数据就是使用变量。变量的使用方式:用来给另外一个变量赋值。在表达式中使用。直接用在函数中。inti=20;floatf=i; //用来给另外一个变量赋值intj=i+20; //用在表达式中System.out.println(j); //用在函数调用中4、赋值与类型转换-1给变量赋值的时候,如果变量的类型与值的类型不一致,则只有两种可能情形存在:1、错误:编译器提示类型错误不能赋值。2、成功:编译器自动把值的类型进行转换。赋值时的类型转换:1、编译器自动转换:隐式转换。2、在代码中使用转换语法:显示转换4、赋值与类型转换-2隐式转换规则:内存空间能够存储,数据范围有包含关系,不能出现数据丢失。不同格式的数据类型之间一般不能转换。逻辑值不能转换为数字型(字符,整数与浮点数)变量。如果是字面值赋值给变量,只要数据不丢失都可以赋值。charc=‘A’;shorts=c;//不自动转换,尽管char与short都是2字节,但出现数据范围不同。

inti=c;//会自动转换,char空间小于int,char范围包含int,转换不会丢失数据

byte: shortintlongfloatdouble char: intlongfloatdoubleshort: intlongfloatdoubleint: longfloatdoublelong: floatdoublefloat: doublebyteb=‘a’charc=97;shorts=‘a’; //这里三种情况在变量赋值给变量都会出现语法错误。4、赋值与类型转换-3显式转换语法(类型)值或者变量显式转换规则只有同类类型才能转换。charc=‘A’;shorts=(short)c;inti=(int)23.67;charc=(char)true; //boolean型不能转换为数字型,反之亦然。

inti=(int)”1234”; //字符串类型不能转换为整数类型。

4、赋值与类型转换-4把字符串转换为整数把字符串转换为浮点数把整数转换为字符串inti=Integer.parseInt(“123”);floatf=Float.parseFloat(“123.56”);doubled=Double.parseDouble(“123.56”);Stringstr=“”+1234;5、字符串字符串字面值“字符串值”定义字符串String字符串变量;字符串赋值字符串变量=“字符串”;字符串变量=另外一个字符串变量;字符串长度连接字符串Stringstr=“Hello”;intlenth=str.length();Stringstr1=“Hello”+“world”;str1=“”+123;Stringstr2=str1+”Hello”;6、常量定义常量:注意:常量只能赋值一次。常量不是一定要在定义的时候初始化的。final类型常量名[=初始值];finalintii=20; //在定义的时候初始化。ii=30; //不允许,因为常量不能二次赋值。

finalintj;j=20; //允许,因为常量j在这里是第一次赋值。j=30; //不允许,因为常量不能二次赋值。

7、量的作用域变量的作用域与他定义的位置和修饰符号有关。通常变量可以在两个位置定义:在类块中定义—成员变量在函数块中定义—局部变量影响变量作用域的修饰符号-全局变量static。static只能修饰在类块中定义的变量,不能修饰函数块中定义的变量。static修饰的变量使用方式:类块名.变量名.classClsA{intm_a=20; //成员变量publicstaticvoidmain(String[]args){

inta=30; //局部变量}}classClsA{

staticintm_a=20; //全局变量}第03节

数据输入与输出知识点预览#节知识点难点重点应用3CORE-C02-03数据输入与输出1、输入数据

√√2、格式化输出

√√可以使用Scanner类创建一个对象:scanner对象调用下列方法,读取用户在命令行(例如,MS-DOS窗口)输入的各种基本类型数据:next()//输入字符串nextInt()//输入整数nextDouble()//输入浮点数nextBoolean()、nextByte()、nextShort()、nextLong()、nextFloat()Scannerscanner=newScanner(System.in);

1、输入数据Scannerscanner=newScanner(System.in);Stringstr=scanner.next();Scannerscanner=newScanner(System.in);inti=scanner.nextInt();Scannerscanner=newScanner(System.in);doubled=scanner.nextDouble();2、格式化输出-1用System.out.println()或System.out.print()可输出串值、表达式的值,二者的区别是前者输出数据后换行,后者不换行。允许使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置一起输出,如:

System.out.println(m+"个数的和为"+sum);System.out.println(“:”+123+“大于”+122);2、格式化输出-1JDK1.5新增了和C语言中printf函数类似的数据输出方法,该方法使用格式如下:

System.out.printf("格式控制部分",表达式1,表达式2,…表达式n)格式控制部分由格式控制符号:%d、%c、%f、%s和普通的字符组成,普通字符原样输出。格式符号用来输出表达式的值。%d:输出int类型数据值%c:输出char型数据。%f:输出浮点型数据,小数部分最多保留6位%s:输出字符串数据。输出数据时也可以控制数据在命令行的位置,例如:%md:输出的int型数据占m列%m.nf:输出的浮点型数据占m列,小数点保留n位。System.out.printf(“thisis%+8.2f”,123.45);System.out.printf(“thisis%4$+8.2f”,1,2,3,123.45);//参数索引从1开始2、格式化输出-1数字格式化输出货币格式财务格式字符串格式化输出NumberFormatnf=NumberFormat.getIntegerInstance();Stringstr=nf.format(12345);NumberFormatnf=NumberFormat.getCurrencyInstance();Stringstr=nf.format(12345.6789);Stringresult=MessageFormat.format(“{0},{1,number,integer},{3}”, //number有三种格式:integer”Hello”,123,456.78); //currency,percent.第04节

数据运算与运算符知识点预览#节知识点难点重点应用4CORE-C02-04数据运算与运算符1、算数运算

√√2、关系运算

√√3、逻辑运算

√√4、位运算

√√5、复合运算

√√6、运算与数据类型转换

√√7、运算优先级

√√8、数学函数与数学运算

√√运算符的最大作用可以根据用户需要形成不同的表达式。1、算数运算单目:+(取正)-(取负)++(自增1)--(自减1)双目:+(加)-(减)*(乘)/(除)%(取余)注意:++与--分前与后。当与其他环境在一起使用,前后的意义不同。前:先自增(减),在参与环境运算。后:先参与环境运算,再自增(减)。2、关系运算等于符号:==不等于符号:!=大于符号:>

小于符号:<大于等于符号:>=小于等于符号:<=3、逻辑运算逻辑与&&逻辑或||逻辑否!4、位运算位算术运算符&(与)

~(非)|(或)^(异或)位移运算符<<(带符号左移)>>(带符号右移)>>>(无号右移)5、复合运算与赋值运算符号=复合的运算,也称赋值运算符。=+=-=*=/=%=&=^=|=<<=>>=特殊的三目运算:逻辑表达式?表达式1:表达式26、运算与数据类型转换-1当各种运算符号形成表达式,其中参与运算的目的类型不一样就导致最终的返回数据的类型难以确定。Java对复杂表达式的最终返回数据的类型指定了相应的规则:参与运算的数据必须满足运算符号要求的类型。最后返回的数据类型符合最后执行的运算符号的规则。6、运算与数据类型转换-2算术运算的目的数据类型参与所有算术运算的基本数据类型有(可以混合)charbyteshortintlongfloatdouble对boolean等其他类型无效。算术运算返回数据的类型规则加减乘除取余遵循的规则:按照intlongfloatdouble从小到大的原则,返回参与运算的最大类型。最小返回int类型。计算两个byte变量运算也是返回int类型。自增/自减准寻的规则:返回类型与参与运算的类型一致。float自增后还是float,byte自增后还是byte类型。6、运算与数据类型转换-3关系运算符的目的数据类型:参与关系运算的基本数据类型有(可以混合):charbyteshortintlongfloatdoublebooleanstring支持(==关系运算符)。关系运算返回数据的类型规则返回boolean类型的数据。6、运算与数据类型转换-4逻辑运算符的目的数据类型:只能是boolean类型。其他类型不能参与逻辑运算。逻辑运算返回数据的类型规则只能是逻辑类型。6、运算与数据类型转换-5位运算符的目的数据类型:参与位算术运算的基本数据类型有(可以混合):charbyteshortintlong参与位移运算的基本数据类型有(可以混合):charbyteshortintlong位运算返回数据的类型规则位算术与位移运算符遵循的规则:按照intlongfloatdouble从小到大的原则,返回参与运算的最大类型。最小返回int类型。计算两个byte变量运算也是返回int类型。位移运算符遵循的特别规则bytecharshortint位移的位数是先对32取余后的结果位移。long位移的位数是对64取余后的结果位移。byteb=45;intc=b>>2;intd=b>>34; //与b>>2的效果完全一样。6、运算与数据类型转换-6复合运算符的目的数据类型:满足=前的运算符参与运算的目的类型。逻辑运算返回数据的类型规则=后的变量自动转换为左边的变量类型后进行运算。最后的返回值自定转换为左边的变量类型。byteb=45;doubled=45.45;b+=d; //合法,因为byte与double符合+的运算类型 //d先转换为byte型,进行完+运算后再转换为byte。b>>=d; //不合法,因为double不是>>的运算类型。6、运算与数据类型转换-7?:三目运算的目的数据类型第一目:必须是boolean类型。第二目与第三目可以是任意类型,如果需要使用变量存储运算结果,则两个目的数据类型必须相同。如果不需要使用变量存储,而是直接打印输出,则数据类型可以不同。System.out.println(true?12:”Hello”); //合法

intk=true?12:”Hello”; //非法7、运算优先级可以使用()改变优先级别。优先级别从高到低排列[]() ++--!~instanceof*/%+-<<>>>>><><=>==!=&^&&||?:=op=8、数学函数与数学运算Java提供了很多工具来提供强大的数据运算:Math工具提供的运算有三角函数运算。指数与对数运算。取整运算。随机数运算。BigDecimal提供大小数运算。BigInteger提供大整数运算。参考Math、BigDecimal、BigInteger类第05节

运算与条件流程控制知识点预览#节知识点难点重点应用5CORE-C02-05运算与条件流程控制1、if条件块

√√2、if嵌套块

√√3、switch条件块

√√1、if条件块条件if块语法:执行流程如果if中的表达式返回true,则执行紧随的块,如果后面有else块,执行完毕直接跳转到else块的结束位置,否则执行其后紧随的代码。如果if中的表达式返回false,则直接跳转到紧随块的结束位置,如果后面有else块,则执行else块,否则执行其后紧随的代码。语法规则:当if块或者else块只有一个语句(块当成一个语句),可以省略{}。if(返回结果为boolean类型的逻辑表达式){ //语句;}else{ //语句;}必须可选2、if嵌套块-1条件if嵌套有两种情况-1:在if块嵌套if(条件1){ //语句 if(条件2){ //语句 }else{ //语句 } //语句}else{ //语句;}2、if嵌套块-2条件if嵌套有两种情况-2:在else块嵌套:可以省略else的{}。if(条件1){ //语句}else{ if(条件2){ //语句 }else{ //语句 }}if(条件1){ //语句}elseif(条件2){ //语句}else{ //语句}3、switch条件块条件switch语法条件switch使用的表达式规则:表达式类型必须是char、byte、short、int类型在JavaSE7.0以后增加了String类型。switch(表达式){case常量表达式1:

语句; break; //break可选。case常量表达式2:

语句; break;…default:

语句; break;}执行流程:

如果表达式的值匹配那个case。

则从那个case开始执行,

直到break才跳转到switch块结束位置。

如果没有break,则继续执行到结束位置。第06节

运算与循环流程控制知识点预览#节知识点难点重点应用6CORE-C02-06运算与循环流程控制1、while循环块√√√2、for循环块√√√3、for与while比较

√√4、循环嵌套使用√√√1、while循环块循环while块语法:条件表达式规则:必须返回boolean类型。执行流程:判定条件表达式是否是true或者false;如果是true,则执行块中语句,执行完毕后跳转到while继续判定。如果是false,则直接跳转到while块的结束位置。while(条件表达式){

语句;}2、for循环块-1循环for块的语法规则:语句可以是任何合法的语句,如果是多个语句使用逗号(,)分隔。条件表达式必须返回boolean值。注意:多个语句的时候,语句如果是变量定义语句,则必须都是变量定义语句,而且还必须是同一类型的变量。头for中的语句、表达式、语句可以为空。注意:表达式为空,默认是true,而不是false。执行流程:首先执行语句1(可以是逗号分隔的多个语句)。然后判定表达式的值是true还是false。如果是true,则执行语句3(可以是用分号分隔的多个语句)。执行完毕后,则跳转执行语句2,然后再判定条件表达死。如果是false,则直接跳转到for块的结束位置。for(语句1;条件表达式;语句2){

语句3;}2、for循环块-2在JDK1.5引入了一种争对集合与数组的特例化循环for变量in数组/集合{}注意:该循环在数组与集合的时候专门讲解.3、for与while比较循环for与while本质上是等价,效果一样的。主要区别:循环for把循环的三个要素在循环头中设置。格式固定,容易理解与使用。循环while需要程序员自己在适当的地方控制循环3要素。格式灵活,使用自由。for(inti=0;i<100;i++){System.out.println(i);}inti=0;while(i<100){System.out.println(i);

i++;}注意不同颜色对应的部分。4、循环嵌套使用循环是可以嵌套使用的。循环还可以结合if控制,形成对程序流程复杂的控制,实现复杂的业务逻辑流程。循环嵌套,但不能交错。for(语句;条件表达式;语句){

语句; for(语句;条件表达式;语句){

语句; }

语句;}第07节

运算与中断流程控制知识点预览#节知识点难点重点应用7CORE-C02-07运算与中断流程控制1、break中断语句

√√2、contine中断语句

√√3、return中断语句

√√1、break中断语句语句break在Java中有两种使用场景:在switch中使用,用来分隔匹配成功的代码段的执行。用法:break;在循环中使用,用来结束循环。循环中break语句的使用方法:独立使用:break;中断当前循环。与标签结合使用:中断指定标签的循环。定义标签:

标签名:规则:标签只能定义在循环头的前面,中间不能有可执行代码。标签与循环是绑定的,表示一个循环的名字。在break中使用标签:break标签名;A:

//标签:对循环命名,便于跳转执行流程。for(语句;条件表达式;语句){ for(语句;条件表达式;语句){ breakA;//不是中断内层循环,而是中断外层循环。

break; //中断当前层循环-内层循环。 }}2、contine中断语句语句continue的使用:在循环中使用,用来跳转到循环开始:在for与while跳转位置有差别。循环中continue语句的使用方法:独立使用。与标签结合使用。A:

//标签:对循环命名,便于跳转执行流程。for(语句;条件表达式;语句){ for(语句;条件表达式;语句){ continueA;//跳转到A代表的循环开始位置。

continue;//跳转到当前循环开始位置。 }}for(语句1;表达式;语句2){

语句3;continue;//跳转到语句2

语句4;

}while(表达式){

语句3;continue;//跳转到表达式

语句4;

}3、return中断语句语句return实际上与循环无关,该语句是中断函数的,并且还可以返回一个数据。在循环中使用return语句,直接跳转到循环所在函数的结尾。注意:在方法或者函数的章节还会描述该语句的具体使用。return返回的值或者表达式; //返回的值根据情况是可选第08节

数组知识点预览#节知识点难点重点应用8CORE-C02-08数组1、定义数组

√√2、初始化数组与数组赋值

√√3、使用数组

√√4、命令行参数数组

√√5、数组循环与for语句增强

√√6、多维数组

√√7、不规则数组√√√8、数组操作

√√1、定义数组数组是一次定义多个变量的另外一种方式,与前面定义多个变量的语法一样,数组的类型都是一样的,而且变量名也一样,不同的变量使用下标的方式来区别。定义数组的语法:注意:类型可以是基本类型与用户自定义类型。

类型[]数组名;

类型

数组名[];

类型[]数组名1,数组名2,……;类型

数组名1[],数组名2[],…….;2、初始化数组与数组赋值-1没有初始化的数组是不能使用的。变量不初始化也可以使用。数组变量的存储方式与一般变量不一样。一般变量:定义变量时分配一个空间,赋值时,数据就放入到该空间。数组变量:定义变量时分配一个4字节空间,但不能存放数组的值,如果需要存放,则需要分配新的空间存放数据,并把新分配的空间地址存放在开始分配的4字节空间中。数组的初始化包含两个过程:空间分配:根据实际数据长度分配空间。对数组中的每个变量赋初值。注意:数组在分配空间的时候会用缺省的初始值对数组的每个变量进行初始化。

数组名=new类型[变量个数]; //对已经定义的数组进行空间分配

类型[]数组名=new类型[变量个数]; //在申明数组的时候同时进行空间分配2、初始化数组与数组赋值-2数组中每个变量的初始化:数组的每个变量的表示:数组名[下标],数组下标从0开始编号。数组中变量初始化方式:int[]arr=newint[4]; //方式一:对数组每个变量逐一初始化。arr[0]=1;arr[3]=4;arr[4]=5; //非法:数组不能越界

int[]arr=newint[]{1,2,3,4};//方式二:在分配空间的时候批量初始化。//注意:不要指定变量个数。

int[]arr={1,2,3,4}; //方式三:在声明的时候newint[]可以省略arr={1,2,3,4}; //不是申明,所以newint[]不能省略,省略就错误。

3、使用数组-1使用数组的场景:在赋值的时候使用。在表达式中使用。在函数调用的时候使用。使用数组的方式:使用数组中的某个变量。使用整个数组。int[]arr={1,2,3,4};inti=arr[1]; //赋值使用。System.out.println(arr[i]); //直接使用。System.out.println(arr[i]+20); //在表达式中使用。intr=Math.sqrt(arr[3]); //在函数中使用。

int[]arr={5,3,2,4,1};Arrays.sort(arr); //直接使用数组。

3、使用数组-2数组的长度利用数组长度,可以清楚数组边界,防止访问数组越界。int[]arr={5,3,2,4,1};intlen=arr.length; //直接使用数组。

int[]arr={5,3,2,4,1}; //利用数组长度,可以防止使用数组的时候越界。for(inti=0;i<arr.length;i++){ //可以利用数组的长度,方便的遍历数组。 System.out.println(arr[i]);}4、命令行参数数组命令行格式:命令参数1参数2……Java是命令-ea:…是第一个参数TestException是第二个参数在Java程序中也可以带命令行参数Java中访问命令行参数通过main函数的数组参数String[].javaClass文件参数1参数2参数3publicstaticvoidmain(String[]args){ intlen=args.length;//命令行参数个数}5、数组循环与for语句增强在for…in中使用数组int[]arr={1,2,3,4,5,6};for(inti:arr){ System.out.println(i); //注意:i不是arr数组的下标,而是变量}6、多维数组多维数组的申明语法多维数组的初始化语法多维数组的使用语法多维数组的长度

int[][][]arr1,arr2,arr3;int[][]arr4[],arr5[],arr6[];int[]arr7[][],arr8[][],arr9[][];intarr10[][][],arr11[][][],arr12[][][];int[][]arr1=newint[2][3];int[][]arr2=newint[][]{{1,2},{3,4},{5,6}};int[][]arr3={{1,2},{3,4},{5,6}};int[][]arr1={{1,2},{3,4},{5,6}};System.out.println(arr1[1][0]);int[][]arr1={{1,2},{3,4},{5,6}};intlen1=arr1[1].length; //二维数组的第一行的长度:列数

intlen2=arr1.length; //二维数组的行数7、不规则数组在Java中因为多维数组存储空间结构的特殊性,允许数组是不规则数组。int[][]arr1={{1,2,3},{3,4},{5,6,7,8,9}};//定义了3行,第一行3个变量,第二行2个变量,第三行5个变量的数组。8、数组操作多维数组可以转化低维数组:维数只能逐步降低。操作数组的一个强大工具:Arrays工具排序。二分法查找。初始化。拷贝。相等判定。转换为字符串。int[][]arr1={{1,2},{3,4},{5,6}};int[]arr2=arr1[1]; //arr1[1]就是1维数组;第09节

方法

知识点预览#节知识点难点重点应用9CORE-C02-09方法1、方法的定义

√√2、方法的参数

√√3、方法的变长参数√√√4、方法调用

√√5、方法重载

√√6、main方法

√√1、方法的定义-1方法是一组语句形成的有名块。对语句分组的好处便于重复调用。也称为语句封装。一个例子:

修饰符号返回数据类型函数名(参数类型参数,……)异常列表{

语句组;}staticpublic

void

main(String[]

args)throwsException{ System.out.println(“HelloJava!”);//被封装的语句}修饰符号返回数据类型函数名参数类型参数异常列表1、方法的定义-2方法的修饰符号:

控制作用域【必须】:publicprotectedprivate缺省public表示在哪儿都可以调用

控制方法的改变【可选】:final

控制方法的使用方式【可选】:staticstatic表示方法成为全局方法,可以直接调用。

方法的异常列表:throws异常类型1,异常类型2【可选】一个最简洁的方法void

show(){ ……;}1、方法的定义-3方法的返回值:无返回值,使用void。有返回值,就使用返回值的类型。语句return:无返回值,不需要使用return或者直接使用return。有返回值,使用return表达式或者值。return返回的值必须与方法头中返回值类型一致。intadd(inta,intb){ returna+b;}

voidshow(){ return;}2、方法的参数为了保证方法的灵活性,允许为封装的代码提供不同的处理数据,这个由参数来实现并完成。方法参数的作用域:只能在方法块内使用,当方法执行完毕,参数变量被释放。形参:定义方法的时候,方法的参数名可以随意改变(但须遵循Java标识符的命名规则),因为参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论