欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (2.2)--JAVA语言程序设计(第二章 JAVA语法基础.ppt

    • 资源ID:96451955       资源大小:2.43MB        全文页数:102页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (2.2)--JAVA语言程序设计(第二章 JAVA语法基础.ppt

    Java语言程序设计第二章 JAVA语法基础回回顾顾JAVA的发展历史、语言特点、技术领域三个技术领域:JAVA SE、JAVA ME、JAVA EE开发JAVA程序的步骤:编辑、编译、解释执行JDK的安装和配置基本的JAVA程序结构,从main方法开始执行path(java.exe、javac.exe)、classpath(类路径)公共类、主类、主方法三种注释单行、多行、文档用Eclipse开发JAVA程序的步骤程序的调试与项目的迁移数据的输入和输出JAVA入门知识集成开发环境SDUTOJ平台本本章章目目标标标识符常量和变量使用API帮助文档数据类型运算符和表达式语句数组一维数组二维数组2-1 JAVA标识符及程序判定合法性1、标识符及命名规则2、程序判定JAVA标识符P3328示范讲解标识符标识符标识符用来标识标识符用来标识类名类名变量名变量名方法名方法名接口名接口名枚举名枚举名数组名数组名文件名文件名标识符符组成成(1)字母字母(英文字母或汉字)(英文字母或汉字)(2)数字数字(3)下划下划线“_”(4)美元符号美元符号“$”;首字符必首字符必须是是(1)字母字母(英文字母或汉字)(英文字母或汉字)(2)下划下划线“_”(3)美元符号美元符号“$”所有所有标识符区分大小写符区分大小写除去关除去关键字、字、false、true和和nullJava关键字关键字(50个个)具有特殊含义的字符序列具有特殊含义的字符序列例如:例如:public、static和和class具有特殊用途,不能作为变量名、具有特殊用途,不能作为变量名、方法名和类名方法名和类名思考思考:是否合法标识符是否合法标识符?myVariable 9pinsMYVARIABLE i a+ctesting1-2-3_myvariablejava&umlMy Variable$myvariable _9pins Its猫123测试字符能否为标识符字符测试字符能否为标识符字符chartestChar=1;System.out.println(Character.isJavaIdentifierPart(testChar);System.out.println(Character.isJavaIdentifierStart(testChar);编程:给定一个字符串,判断其是否为合法标识符。课堂任务课堂任务判断字符串为合法标识符判断字符串为合法标识符算法分析算法分析程序开始取得字符串获得字符串的首字符判断首字符是否合法?程序结束N获得字符串后续字符判断中间字符是否合法?Y判断是否还有字符未读?Y输出“非法标识符”输出“合法标识符”NNY小小结结标识符及命名规则程序判定JAVA标识符P3328示范讲解2-2 常量和变量、API帮助文档1、系统API帮助文档查看2、常量和变量查看查看API帮助文档帮助文档java.util.Scanner类nextInt()nextFloat next()nextLine()hasNext()Character类 (java.lang包)isJavaIdentifierPart(ch)isJavaIdentifierStart(ch)String类 (java.lang包)length()charAt()System类 (java.lang包)in out变量和常量变量和常量变量变量变量:用来存储数据,随着程序的运行而发生改变。变量:用来存储数据,随着程序的运行而发生改变。变量的种类:变量的种类:域成员变量(在类中)域成员变量(在类中)局部变量(方法中的变量、形式参数)局部变量(方法中的变量、形式参数)举例及解释其作用域。变量和常量变量和常量常量常量100、1323.45、a、true、false局部变量中的常量:局部变量中的常量:finaldoublePI=3.1415927;小小结结系统API帮助文档查看常量和变量2-3 基本数据类型及数据转换和运算1、基本数据类型2、基本数据类型的转换3、基本数据类型的运算转型4、作业 (1)P1235(计算球体积)(2)P4290(求班级男女生比例)1、Java的基本数据类型的基本数据类型基本类型所占的内存空间大小关于基本数据类型的关于基本数据类型的说明说明Java基本数据类型的变量所占基本数据类型的变量所占存储空间大小存储空间大小固定固定的,不随操作系统的变化而变化的,不随操作系统的变化而变化实现实现平台无关性、可移植性平台无关性、可移植性数值类型(数值类型(6种)为有符号数。种)为有符号数。精度从低到高排序:精度从低到高排序:byteshort(char)intlongfloatdouble124848布尔型布尔型占的存储空间的大小没有明确指定。占的存储空间的大小没有明确指定。取值:取值:true或或falsefloat数据类型在内存中的表示数据类型在内存中的表示实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。数的精度取决于尾数的尾数。数的精度取决于尾数的尾数。float:数符数符(1b)阶码(阶码(8b)尾数(尾数(23b)SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMMboolean类型类型Java虚拟机规范虚拟机规范规定规定:Java语言表达式所操作的语言表达式所操作的boolean值,在编译之后都值,在编译之后都使用使用Java虚拟机中的虚拟机中的int数据类型来代替;数据类型来代替;boolean数组将会被编码成数组将会被编码成Java虚拟机的虚拟机的byte数组,数组,每个每个boolean元素占元素占8位。位。因此,一个因此,一个boolean值占用内存值占用内存4个字节的空间;但个字节的空间;但一个一个boolean数组中的每一个值占用内存数组中的每一个值占用内存1个字节的个字节的空间。空间。数据类型转换数据类型转换由于昨日贪杯,西行四人组一觉醒来已经是日上三竿,唐班长大吼一声:“不好,过流沙河的船要跑了!”,四人飞速穿上衣物,闪电奔向码头,刚一出门,八戒同学就来了个大马趴,三人无暇理他,继续飞奔,终于在最后一刻赶上了船,上船后突然惊觉八戒掉队了,回头看去,只见八戒手中拎着两只开了口子的大皮鞋,身上挂着几个布条,裤子开着好大一个缝赤脚飞奔而来,咋回事,赶个船都能赶的跟个乞丐似的?正纳闷间,悟空同学开口了:“咦?今个衣服怎么变大了?”,唐班长两人看过去,只见八戒的一身行头完好无损的如斗篷一样穿在悟空的身上,那,八戒身上穿的是。?数据类型转换数据类型转换Java语法要求严格,每一种类型只能存储统一类型语法要求严格,每一种类型只能存储统一类型的数据,不允许乱放。的数据,不允许乱放。Java提供了方便之门,可以在不同的数据类型之间提供了方便之门,可以在不同的数据类型之间进行转换以满足需要。进行转换以满足需要。数据类型转换方式有哪些?自动类型转换自动类型转换强制类型转换强制类型转换自动类型转换自动类型转换默默进行的转换默默进行的转换public class Pay public static void main(String args)int wine=20;/酒钱int lionhead=25;/狮子头价钱int braisedFish=15;/红烧鱼头价钱int ribs=35;/排骨汤价钱int squid=12;/红烧鱿鱼价钱double price;/每人应该支付的钱数price=(wine+lionhead+braisedFish+ribs+squid)/4;System.out.println(每人应该支付:+price+元!);int类型的结果赋值给double类型?思考 price=?自动类型转换自动类型转换默默进行的转换默默进行的转换inta=1;longb=a;自动类型转换的自动类型转换的条件条件两种类型相互兼容,如均为数值型(整型和浮点型)两种类型相互兼容,如均为数值型(整型和浮点型)自动类型转换自动类型转换规则规则由低精度的数据类型向高精度的类型进行转换由低精度的数据类型向高精度的类型进行转换byteshort(char)intlongfloatdouble124848在一个表达式中,如果某一个操作数为在一个表达式中,如果某一个操作数为double类型,则整个表达类型,则整个表达式提升为式提升为double类型。类型。强制类型转换强制类型转换强扭的瓜也可以是甜的!强扭的瓜也可以是甜的!八戒好容易上了船,却衣着阑珊,眼瞅着自己的行头全在悟空同学的身上,却慑于悟空同学闻名全校的暴力倾向而不敢开口,只好将目标转向了沙僧同学,幸好沙僧同学还有备用的一套衣服,可惜,八戒同学仍然大了一圈,穿不上啊!唐班长灵机一动,有办法了,拿出一卷绷带,将八戒同学全身缠了个结结实实,猛的看上去真的瘦了好多,嘿!还真能穿上了!数据类型如何进行瘦身?强制类型转换强制类型转换public class BigToSmall public static void main(String args)double score=87.5;int newScore=(int)score;System.out.println(“小明的考试成绩归整后为:+newScore);强制变型为int型 强制类型转换可能会丢失精度,使用时需注意。作作业业示例示例1、P1235:计算球体积计算球体积描述:根据输入的半径值,计算球的体积描述:根据输入的半径值,计算球的体积(结果保留三位小数)。输入:输入:1 1.5输出:输出:4.189 14.137已知:已知:PI=3.1415927 示例示例2:P4290:求班级男女生比例:求班级男女生比例描述:输入男、女生人数,求本班男、女生的百分比。有描述:输入男、女生人数,求本班男、女生的百分比。有多组输入,每行一组数据。多组输入,每行一组数据。输入:输入:20 30输出:输出:40.00%60.00%体会:数据类型的重要性小 结1、基本数据类型2、基本数据类型的转换3、基本数据类型的运算转型4、作业 (1)P1235(计算球体积)(2)P4290(求班级男女生比例)2-4 基本数据类型小结和封装类1、基本数据类型进阶2、基本数据类型封装类3、自动装拆箱数据类型之小结数据类型之小结不同数据类型之间的相互赋值不同数据类型之间的相互赋值转换转换自动类型转换和强制类型转换自动类型转换和强制类型转换不同数据类型之间的运算不同数据类型之间的运算向精度高的类型进行转换向精度高的类型进行转换整数和实数常量整数和实数常量整数:整数:在赋值时不超过其取值范围,归为所属的数据类型上;在赋值时不超过其取值范围,归为所属的数据类型上;在参与计算时,做为在参与计算时,做为int类型;类型;实数:实数:doublebyteb=12;shorts=100;inti=200;longl=1000;byteb1=b+1;shorts1=s+1;inti1=i+1;longl1=l+1;floatf=1.234;每一种基本类型都有一个封装类每一种基本类型都有一个封装类intIntegerbyteByteshortShortlongLongdoubleDoublefloatFloatcharCharacterbooleanBoolean 封装类的好处比基本类型提供更多的信息和功能如:各种类型的数据的最大及最小值。自动装箱与自动拆箱自动装箱与自动拆箱inti=10;Integerj=i;/自动装箱自动装箱autoboxingintk=j;/自动拆箱自动拆箱unboxing从从JDK5.0版本开始的版本开始的课堂练习课堂练习西行四人组途径鹰愁涧,天色已晚,借宿于龙门西行四人组途径鹰愁涧,天色已晚,借宿于龙门客栈,不曾想被老板小白龙借地势之利敲诈,强客栈,不曾想被老板小白龙借地势之利敲诈,强行收取住宿,伙食各项费用行收取住宿,伙食各项费用2311.53元,唐班长只元,唐班长只好支付,离开鹰愁涧后大伙均摊,为防止找零麻好支付,离开鹰愁涧后大伙均摊,为防止找零麻烦,只收整头,每人应支付唐班长多少钱?烦,只收整头,每人应支付唐班长多少钱?变量存储总费用2311.52元使用算术运算符计算平均值将结果强制类型转换为整型分析分析小 结1、基本数据类型进阶2、基本数据类型封装类3、自动装拆箱2-5 运算符和表达式1、算术运算符2、关系运算符3、逻辑运算符运算符及表达式运算符及表达式算术运算符算术运算符关系运算符关系运算符逻辑运算符逻辑运算符位运算位运算赋值运算符赋值运算符条件运算符条件运算符本节内容本节内容(部分)运算符及表达式部分)运算符及表达式算术运算符算术运算符+-*+-*/%+(单目减)单目减)关系运算符关系运算符=逻辑运算逻辑运算(&和和|、&和和|)&和|采用短路规则采用短路规则示例:示例:(a3)&(b3为为false,b3)|(b3为为true,b3)&(b3和和b3)|(b3和和b=2都需要计算都需要计算赋值运算符赋值运算符在程序中,给变量赋值是一个必须的过程。程序在程序中,给变量赋值是一个必须的过程。程序里使用里使用“=”对变量进行赋值。对变量进行赋值。示例示例int number=100;String name=“黄三儿”;double score=78.3;char sex=男;char c1=65;char c2=u0031;char型赋值时,使用单引号将值包含起来,且仅能有一个字符。用整数为char型赋值用unicode编码为char型赋值算术运算符算术运算符public class Operator public static void main(String args)int result=1+2;/result值操作后是3System.out.println(result);result=result-1;/result值操作后是2System.out.println(result);result=result*2;/result值操作后是4System.out.println(result);result=result/2;/result值操作后是2System.out.println(result);result=result+8;/result值操作后是10System.out.println(result);result=result%7;/result值操作后是3System.out.println(result);加减乘除取余算术运算符算术运算符使用变量存储每个价钱使用变量存储每个价钱使用算术运算符进行计算使用算术运算符进行计算为提高学校整体学习效率,在玉帝校长的倡导,观音班主任的领导下,以唐班长为中心,集合了悟空、八戒、沙僧三位同学,组成了西行考察小组,前往天竺大雷音高校汲取经验。四人初次见面,为加深彼此感情,利于今后合作,欢聚五行山酒楼,一通吃喝,菜单如下:老白干2瓶:20元狮子头:25元红烧鱼头:15元蕃茄排骨汤:35元砂锅鱿鱼:12元饭后四人决定AA制,每人应该支付多少钱?分析分析算术运算符算术运算符public class Pay public static void main(String args)int wine=20;/酒钱int lionhead=25;/狮子头价钱int braisedFish=15;/红烧鱼头价钱int ribs=35;/排骨汤价钱int squid=12;/红烧鱿鱼价钱double price;/每人应该支付的钱数price=(wine+lionhead+braisedFish+ribs+squid)/4;System.out.println(每人应该支付:+price+元!);位运算符位运算符publicclassBitOperatorpublicstaticvoidmain(Stringargs)inta=2;intb=3;System.out.println(a+&+b+=+Integer.toBinaryString(a&b);System.out.println(a+|+b+=+Integer.toBinaryString(a|b);System.out.println(a+b+=+Integer.toBinaryString(ab);System.out.println(b+2=+Integer.toBinaryString(b2=+Integer.toBinaryString(b2);System.out.println(+b+2=+Integer.toBinaryString(b2);小小结结1、算术运算符2、关系运算符3、逻辑运算符4、位运算符2-6 运算符和表达式应用举例1、赋值运算符2、条件运算符3、运算符和表达式应用举例 (1)P1580 闰年 (2)P1583 奇偶性运算符及表达式运算符及表达式赋值运算符赋值运算符=+=-=*=/=%=条件运算符条件运算符intflag=ab?1:2;运算符和表达式运算符和表达式作业作业1、P1137素数素数2、P1181公倍数公约数公倍数公约数小 结1、算术运算符2、关系运算符3、逻辑运算符4、位运算符5、赋值运算符6、条件运算符7、运算符和表达式应用举例 (1)P1580闰年 (2)P1583奇偶性2-7 语句1、顺序结构2、分支结构(选择结构)(1)if (2)switch3、循环结构 (1)for (2)while 4、跳转语句 (1)break (2)continue顺序结构顺序结构以分号;分以分号;分隔的多条语隔的多条语句句按先后顺序按先后顺序依次执行依次执行import java.util.Scanner;public class Main public static void main(String args)Scanner reader=new Scanner(System.in);int a=reader.nextInt();int b=reader.nextInt();int sum=a+b;System.out.println(sum);reader.close();分支(选择)结构语句分支(选择)结构语句Java中的选择结构语句选择结构语句,对一些条件作出判断条件作出判断,从而决定执行哪一段代码决定执行哪一段代码。Java中的选择结构语句分为:if条件条件语句句switch条件条件语句句选择结构语句选择结构语句if条件语句条件语句if语句ifelse语句ifelse ifelse语句语法:if(条件)/执行语句.判断条件?执行语句true判断条件?执行语句1truefalse执行语句2if(条件)/执行语句1else /执行语句2语法:选择结构语句选择结构语句if条件语句条件语句ifelse ifelse语句判断条件1?执行语句1truefalse语法:if(条件1)/执行语句1.else if(条件2)/执行语句2.else if(条件n)/执行语句nelse /执行语句n+1判断条件2?执行语句2truefalse判断条件n?执行语句ntruefalse执行语句n+1.if选择结构选择结构编程举例编程举例(学生的考试成绩学生的考试成绩0score100进行等级划分进行等级划分)if 语句score=60,就打印出成绩的级别:及格。if-else语句score=60,就打印出成绩的级别:合格;否则,就打印出:不合格。if else if else 语句score=90,等级为:优秀;score=80,等级为:良好;score=70,等级为:中等;score=60,等级为:及格;score60,等级为:不及格。选择结构语句选择结构语句switch条件语句条件语句switch 条件语句:由一个由一个switch控制表控制表达式和多个达式和多个case关关键字字组成成。特点特点:等值判断等值判断语法:语法:功能:switch(条件控制表达式)case 目标值1:执行语句1 break;case 目标值2:执行语句2 break;case 目标值n:执行语句n break;default:执行语句n+1 break;结果类型:结果类型:byte、short、char、int、枚举以及枚举以及String类型,类型,而不能是而不能是boolean类型类型循环结构语句循环结构语句循环循环语句语句分类分类for循环循环while循环循环dowhile循环循环while循环结构语句循环结构语句while循环语句语法格式:while(循环条件)执行语句 .while循环语句执行流程:循环条件?执行语句truefalsedo-while循环结构语句循环结构语句do-while循环语句语法格式 do 执行语句 .while(循环条件);do-while循环语句执行流程:循环条件?执行语句truefalsefor循环语句循环语句for循环语句的基本语法格式:for(初始化表达式;循环条件;操作表达式)执行语句 .do-while循环语句执行流程:循环条件?初始化表达式truefalse执行语句(循环体)操作表达式循环嵌套结构语句循环嵌套结构语句嵌套循环:在一个循一个循环语句的循句的循环体中体中,再定再定义一个循一个循环语句句的语法结构。while、do-while、for循环 语句都可以进行循环嵌套,它们之间也可以互相嵌套。双层for循环的语法格式:for(初始化表达式;循环条件;操作表达式).for(初始化表达式;循环条件;操作表达式)执行语句 .跳转语句(跳转语句(break、continue)跳转语句:用于实现循环语句执行过程中程序流程的跳转。在Java中的跳跳转语句有句有:break语句和句和continue语句句。在switch条件语句和循环结构语句中都可以使用break语句。1.break语句2.continue语句continue语句用在循环语句中。作用作用:终止本次循环,执行下一次循环。用于用于终止某个止某个case,并跳出并跳出switch结构构用于用于跳出当前循跳出当前循环结构,构,执行后面的代行后面的代码。2-7 一维数组1、数组变量的声明2、数组对象的创建和赋值3、数组元素的访问4、数组名称的含义5、引用型数据类型与基本数据类型在比较相等时(=)的差异数数组组数组类型是引用型数据类型数组类型是引用型数据类型由相同类型的若干项数据组成由相同类型的若干项数据组成publicstaticvoidmain(Stringargs),其中其中:args是是String类型的数组类型的数组inta=newint10;数组元素在内存中占用连续的地址数组元素在内存中占用连续的地址数组空间的静态性数组空间的静态性创建的时候指定长度(长度的数值可以是变量)创建的时候指定长度(长度的数值可以是变量)一旦创建就不能修改数组的长度一旦创建就不能修改数组的长度示示例例intc=newint12;c是数组名是数组名获得数组的长度获得数组的长度:c.length第一个数组元素的索引第一个数组元素的索引:0数组元素的访问数组元素的访问:数组名数组名索引值索引值每个数组元素相当于普通的变量每个数组元素相当于普通的变量c0=3;c0+=5;12-4560721543-89062-31645378c 1 c 2 c 4 c 3 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 0 c.length索引索引也称为下标也称为下标必须是整数或整数表达式必须是整数或整数表达式,例如例如:c10,ci-3一维数组一维数组一维数组的声明一维数组的声明一维数组对象的创建一维数组对象的创建1、new操作符操作符2、数、数组初始化初始化语句句一维数组元素的访问一维数组元素的访问一维数组的声明一维数组的声明声明格式有两种声明格式有两种:(1)数组元素的数据类型数组元素的数据类型变量名变量名;(2)数组元素的数据类型数组元素的数据类型变量变量名名;示例示例:intc;intc;Stringnames;Stringnames;一维数组对象的创建一维数组对象的创建形式之一形式之一Java数组是对象,通过数组是对象,通过new关键字来创建关键字来创建.示例示例:intc;/声明时不必指定数组的大小声明时不必指定数组的大小c=newint12;/创建对象,分配内存,元素赋初值创建对象,分配内存,元素赋初值上面的2行语句可以简化成一行语句int c=new int12;基本数据类型数组元素初始值基本数据类型数组元素初始值数据类型数据类型初始值初始值数据类型数据类型初始值初始值byte0float0.0fshort0double0.0dint0charu0000long0Lbooleanfalse引用类型null一维数组对象的创建一维数组对象的创建形式之二形式之二Java语言允许通过数组的初始化语句创建数组语言允许通过数组的初始化语句创建数组示例示例:intn1=10,20,30,40,50;intn2=newint1,2,3,4,5;错误:错误:intb;b=1,2,3;正确:正确:intb;b=newint1,2,3;注意事项注意事项当通过循环遍历数组时当通过循环遍历数组时下边界:下边界:0上边界:数组长度上边界:数组长度1当数组下标出错,当数组下标出错,Java产生异常产生异常ArrayIndexOutOfBoundsException一维数组使用举例一维数组使用举例说明:说明:数组的内存空间在声明时并未分配,数组的内存空间在声明时并未分配,在使用在使用newnew时实际分配内存空间,可以由时实际分配内存空间,可以由用户的输入来确定数组长度。用户的输入来确定数组长度。程序举例:程序举例:功能:利用一维数组功能:利用一维数组,输入学生成绩,输入学生成绩,计算最大值、最小值平均成绩并输出。计算最大值、最小值平均成绩并输出。一维数组程序示例一维数组程序示例importjava.util.Scanner;publicclassScorepublicstaticvoidmain(Stringargs)Scannerscanner=newScanner(System.in);System.out.print(请输入学生人数请输入学生人数:);intcount=scanner.nextInt();floatscore=newfloatcount;floatsum=0;for(inti=0;iscore.length;i+)System.out.print(“请输入当前学生成绩(请输入当前学生成绩(0-100之间)之间):);scorei=scanner.nextInt();sum+=scorei;System.out.println(平均成绩为平均成绩为:+sum/score.length);小 结1、数组变量的声明2、数组对象的创建和赋值3、数组元素的访问4、数组名称的含义5、引用型数据类型与基本数据类型的差异2-8 二维数组1、二维数组变量的声明2、二维数组对象的创建和赋值3、二维数组元素的访问4、二维数组名称的含义多维数组多维数组最常用的多维数组是二维数组最常用的多维数组是二维数组二维数组可以理解成如下图示的表格二维数组可以理解成如下图示的表格a 0 0 a 1 0 a 2 0 a 0 1 a 1 1 a 2 1 a 0 2 a 1 2 a 2 2 a 0 3 a 1 3 a 2 3 行的下标值列的下标值二维数组二维数组二维数组的声明二维数组的声明1、数、数组元素的数据元素的数据类型型变量名;量名;2、数、数组元素的数据元素的数据类型型变量名量名;二维数组对象的创建二维数组对象的创建1、new操作符直接操作符直接创建建2、数、数组初始化初始化语句句3、从高、从高维开始逐开始逐维创建建二维数组元素的访问二维数组元素的访问示例示例1new操作符直接创建对象操作符直接创建对象多多维数数组对象的象的创建方式之一建方式之一类似于一维数组进行二维数组的声明、创建类似于一维数组进行二维数组的声明、创建(内存分配内存分配)与访与访问方式问方式示例示例:classJ_FillArraypublicstaticvoidmain(Stringargs)intmatrix=newint45;/声明及对象的创建声明及对象的创建for(introw=0;row4;row+)for(intcol=0;coljava J_FillArraymatrix00=0matrix01=1matrix02=2matrix03=3matrix04=4matrix10=1matrix11=2matrix12=3matrix13=4matrix14=5matrix20=2matrix21=3matrix22=4matrix23=5matrix24=6matrix30=3matrix31=4matrix32=5matrix33=6matrix34=7示例示例2通过初始化语句创建数组对象通过初始化语句创建数组对象多多维数数组对象的象的创建方式之二建方式之二示例示例:doublearr=1.0,2.0,3.0,4.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0;示例示例3动态创建二维数组动态创建二维数组多多维数数组对象的象的创建方式之三建方式之三classJ_DynamicArraypublicstaticvoidmain(Stringargs)intarr;arr=newint4;for(inti=0;iarr.length;i+)arri=newint5;for(inti=0;iarr.length;i+)for(intj=0;jarri.length;j+)arrij=i*j;System.out.println(arr+i+j+=+arrij);多维数组说明多维数组说明Java的多维数组是的多维数组是:数组的数组,即以数组为元素的数组数组的数组,即以数组为元素的数组二维数组的每一行可以具有不同的列数二维数组的每一行可以具有不同的列数示例示例:inta;a=newint3;/allocaterowsa0=newint3;/allocaterow0a1=newint2;/allocaterow1a.length数组数组a的长度的长度ai.length数组数组ai的长度的长度注意事项注意事项Java允许数组的维数为允许数组的维数为:三、四、或更大三、四、或更大慎用高维数组慎用高维数组三维数组在实际的应用中也比较少出现三维数组在实际的应用中也比较少出现JAVA基础语法基础语法作作业业1、P2251 期末考试之分等级2、P1250 统计元音 3、P1294 选票统计4、P4199 小I选宾馆5、1164 矩阵转置6、1172 矩阵下三角元素之和7、1185 求矩阵对角线元素之和小 结1、二维数组变量的声明2、二维数组对象的创建和赋值3、二维数组元素的访问4、二维数组名称的含义2-9 数组操作进阶1、数组对象间的赋值、数组对象间的赋值2、数组元素内容的复制、数组元素内容的复制3、数组上的其他操作、数组上的其他操作数组对象赋值数组对象赋值 int arr1=1,2,3,4,5;int tmp1=arr1;int tmp2=arr1;三个整型数组变量arr1,tmp1,tmp2引用同一数组对象。数组是引用数据类型(非基本数据类型)使用“=”将该对象指定给另一数组名称来引用并没有创建新的数组对象数组元素的复制数组元素的复制1 1、遍历整个数组,将每个元素的值逐个赋值给另一、遍历整个数组,将每个元素的值逐个赋值给另一数组的元素;数组的元素;2 2、使用、使用System.arrarycopy()System.arrarycopy()方法方法System.arraycopy(源数组源数组,起始索引起始索引,目标数组目标数组,起始索引起始索引,复制长度复制长度);目标数组要提前定义,目标数组要提前定义,复制长度复制长度受限受限于原数组和目标数组的大小于原数组和目标数组的大小3 3、Arrays.copyOf()Arrays.copyOf()、Arrays.copyOfRange()Arrays.copyOfRange()Arrays.copyOf(源数组,长度源数组,长度)、Arrays.copyOfRange(源数组,起点,终点源数组,起点,终点)生成新的数组,长度不受限生成新的数组,长度不受限原来的数组元素不足的,根据数组类型补充默认值原来的数组元素不足的,根据数组类型补充默认值数组元素的复制 举例举例1人工复制人工复制publicclassAdvanceArraypublicstaticvoidmain(Stringargs)intarr=1,2,3,4,5;inttmp=newintarr.length;for(inti=0;itmp.length;i+)tmpi=arri;System.out.println(tmp+i+=+tmpi);动态生成一个与原数组大小相同的数组,遍历整个数组,将每个值逐个赋值给另一数组数组对象的复制举例数组对象的复制举例2自自动复制复制publicclassAdvanceArraypublicstaticvoidmain(Stringargs)intarr=1,2,3,4,5;inttmp=newintarr.length;System.arraycopy(arr,0,tmp,0,arr.length);for(inti=0;i=0)System.out.println(key+的索引值为的索引值为:+index);else System.out.println(未找到未找到!);程序功能:创建一个数值数组,对数值进行排序,从键盘输入一数值,在排序后的数组中查找,输出其索引号(即下标)。Arrays类常用方法举例2(预置数组内容及比较数组内容)importjava.util.*;publicclassArrayMethodpublicstaticvoidmain(Stringargs)intarr1=newint5;intarr2=newint7;intarr3=newint5;Arrays.fill(arr1,10);Arrays.fill(arr2,10);Arrays.fill(arr3,10);/输出输出arr1数组内容数组内容System.out.print(arr1数组内容数组内容:);System.out.println(Arrays.toString(arr1);System.out.println();/输出输出arr2数组内容数组内容System.out.print(arr2数组内容数组内容:);System.out.println(Arrays.toString(arr2);System.out.println();/输出输出arr3数组内容数组内容System.out.print(arr3数组内容数组内容:);System.out.println(Arrays.toString(arr3);System.out.println();/判断数组内容是否相同判断数组内容是否相同System.out.println(arr1与与arr2内容是否相同内容是否相同?+Arrays.equals(arr1,arr2);System.out.println(arr1=arr2?+(arr1=arr2);System.out.println(arr1与与arr3内容是否相同内容是否相同?+Arrays.equals(arr1,arr3);System.out.println(arr1=arr3?+(arr1=arr3);Arrays类常用方法举例3(二维数组的内容比较及内容输出二维数组的内容比较及内容输出)importjava.util.*;publicclassArrayDeepTestpublicstaticvoidmain(Stringargs)intarr1=1,2,3,4,5,6,7,8,9;intarr2=1,2,3,4,5,6,7,8,9

    注意事项

    本文((2.2)--JAVA语言程序设计(第二章 JAVA语法基础.ppt)为本站会员(奉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开