版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1/33,提问:,1、Java中基本数据类型的转换? 2、找错误,并改正 char grade = A; switch(grade) case “A”: score = 90;break; case “B”: score = 80 ;break; default: score = 70 ; ,2/33,3、说出程序的功能及结果,public class BreakDemo public static void main(String args) for(int i=1;i30)break; if(i = 19) continue; System.out.println(i = +i); Sys
2、tem.out.println(循环终止。); ,3/33,4、说出以下变量的作用范围,class variables static int a=10; / int b=100; / void fun() System.out.println(a=+a); System.out.println(b=+b); int a=20; / int b=200; / int c=1000; / class varArea public static void main(String args) variables var1=new variables(); var1.fun(); ,成员变量(类变量),
3、成员变量(实例变量),局部变量,4/33,tip,方法里面可以再次定义与类一级相同的变量名, 但在一个方法里面则不允许。 如: void show() int x; int x=3; 是不允许的,5,第一章 Java语言程序设计,6/33,回顾,流程控制语句(分支,循环,跳转) 方法的定义、引用 类、对象的定义使用,7/33,目标,掌握一维数组的定义和使用 掌握二维数组的定义和使用 掌握数组常用方法的使用 掌握可变长度数组类ArrayList的使用 掌握main方法传递参数,8/33,1.11 数组 1.12 main方法传递参数 2.5 数组的使用,9/33,数组使用前 必须 先声明、开辟内
4、存空间、再使用。 声明数组 但没有开辟空间,则数组不指向任何内存空间,其值为null 开辟空间后,则数组名指向该内存空间的引用地址。 见书P50,10/33,一、一维数组,1、一维数组的定义 数组类型 数组名; 或 数组类型 数组名; 数组类型可为Java中的任何数据类型(简单类型和复合类型)。 数组名,必须符合标识符定义规则。 “”指明该变量是一个数组类型的变量,可放到数组名后面,也可放到数组名前。,int student; int student;,11/33,2、 一维数组的初始化,使用new分配内存空间,数组中的每个元素会自动赋一个默认值。 如整形为0,实数型为0.0,布尔型为fals
5、e,字符型为0 int student ; student = new int10; 或 int student = new int10; 也可以在数组声明的时候初始化: int a = 1,2,3,12/33,3、 一维数组的引用,引用格式为: 数组名下标 int a=new int10; int b = a0+a9; 数组下标为从0到9。如果调用了a10,程序运行时将 提示错误: java.lang.ArrayIndexOutOfBoundsException 数组的成员length,表示数组的长度。如 a.length,13/33,一维数组的使用:求最小值,class qiuhe pub
6、lic static void main(String args) int a=5,8,2,4,1,9,78; System.out.println(The min is:+minnum(a); static int minnum(int num) int min=num0; for(int i=0;inumi) min=numi; return min; ,方法参数是数组,问题:补充代码,num.length-1,14/33,例2.23 数组元素是类对象的数组的使用 p81,public class UseObjArray public static void main(String arg
7、s) A obj=new A5; for(int i=0;iobj.length;i+) obji=new A(i,字符串+i); int sum=0; String s=; for(int i=0;iobj.length;i+) sum+=obji.x; s+=obji.str; System.out.println(sum=+sum); System.out.println(s=+s); ,class A int x; String str; A(int x1,String s1) x=x1; str=s1; A add2(A a1) A a2=new A(0,); a2.x=x+a1.x
8、; a2.str=str+a1.str; return a2; ,定义有5个元素的数组,实例化对象,给数组赋值,引用对象的成员变量,15/33,二、 二维数组,1、二维数组的定义 数组类型 数组名; 或 数组类型 数组名; 或 数组类型 数组名;,int array_name ; 或 int array_name; 或 int array_name ;,数组的数组,16/33,二维数组定义完后,需要使用new运算符分配内存空间(1)直接为每一维分配空间,例如: int a=new int32; (2)高维开始,分别为每一维分配空间, 例如: int a =new int3; a0=new in
9、t2; a1=new int3; a2=new int4;,17/33,2、 二维数组的初始化,分配完数组空间后,可以进行初始化。 (1)、可以直接为数组元素赋值; (2)、可以在声明数组的时候为数组初始化; 例如: int a = new int22; a00 = 1; a01 = 1; a10 = 2; a11 = 3; int a=1,2,3,4,5,6;,18/33,3、 二维数组的引用,引用格式为: 数组名下标2 下标1; 下标1,下标2分为二维数组的第一、二维下标,同一维数组一样,也可为整型常量和表达式,并且数组下标都从0开始。,int a=1,2,3,4,5,6,7,8,9,10
10、,11,12; System.out.println(数组a各元素的值为:); for(int i=0;i4;i+) for(int j=0;j3;j+) System.out.print(aij+t); System.out.println(); ,19/33,例:初始化二维数组,输出数组长度和每个元素的值。 class ArrayInit public static void main(String args) int a=12,34,-5,3,5,7; int i,j; System.out.println(二维数组a的长度为:+_); for(i=0;ia.length;i+) Sys
11、tem.out.println(“第”+i+”行的元素个数:+_); for(j=0;jai.length;j+) System.out.print(a+i+j+=+_+t); System.out.println(); ,问题:补充代码,a.length,ai.length,aij,20/33,二维数组转置 class ArrayInit1 public static void main(String args) int a=1,2,3,4,5,6,7,8,9,10,11,12; int b=new int34; int i,j; System.out.println(数组a各元素的值为:)
12、; for(i=0;i4;i+) for(j=0;j3;j+) System.out.print(aij+t); System.out.println(); for(i=0;i4;i+) for(j=0;j3;j+) bji=aij; System.out.println(数组b各元素的值为:); for(i=0;i3;i+) for(j=0;j4;j+) System.out.print(bij+t); System.out.println(); ,21/33,java.util.Arrays 排序 sort() 二分查找 binarySearch() java.lang.System 复制
13、arraycopy(),三、数组的常用方法,22/33,(1)、排序方法 sort 递增排序 public static void sort(Object arrayname) Sort方法存在重载 public static void sort(Object arrayname, int fromIndex,int toIndex) fromIndex,toIndex 为数组的起始位置和结束位置。,23/33,例2.25 使用sort方法对整型数组排序 import java.util.*; class ArraySort public static void main(String arg
14、s) int str=7,5,2,6,3; Arrays.sort(a); for(int i=0;istr.length;i+) System.out.print(stri+ ); ,24/33,(2)、二分查找方法 binarySearch 前提:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。 对数组进行二分法查找。 格式: public static int binarySearch(Object a,Object key) a:排好序的数组,key:要查找的数据。 返回值:该元素在数组中的位置,否则返回负数。,25/33,例2.26 使用binarySearch方法,查找某个
15、数在数组中是否存在 import java.util.*; class ArraySearch public static void main(String args) String str = size, abs,length,class; Arrays.sort(str); for (int i=0; istr.length; i+) System.out.println(stri+t); int index=Arrays.binarySearch(str,Class); if(index0) System.out.println(查找:Class,+数组中没有这个元素); else Sy
16、stem.out.println(数组中找到:+strindex); ,26/33,(3)、System类中的静态方法arraycopy() static void arraycopy(Objectsrc, intsrcPos, Objectdest, intdestPos, intlength) Copies an array from the specified source array, beginning at the specified position, to the specified position of the destination array.,27/33,例:数组的复
17、制,预测输出? class UseArrayCopy public static void main(String args) int a=1,2,3,4,5,6,7; int b=new int6; int i; System.arraycopy(a,1,b,2,3); for(i=0;ib.length;i+) System.out.print(bi+ ); ,28/33,四、main方法传递参数,Java应用程序中必须有一个类定义一个main方法; main方法是Java应用程序的入口,由Java虚拟机自动调用。 从命令行传入参数: 用法:java 类名字符串1 字符串2 字符串3,被m
18、ain的参数数组args接收,29/33,例1.18:从命令行输入字符串参数,转换为大写输出,public class MainParameters public static void main(String args) System.out.println(“命令行传入的字符串参数的个数: +args.length); for(int i=0;iargs.length;i+) /此处输出每个字符串 _ System.out.println(全部转化为大写:); for(int i=0;iargs.length;i+) System.out.print(t+argsi.toUpperCase(); ,1、补充缺少的代码; 2、如何运行?(命令行、开发工具),system.out.println(t+argsi); java MainParameters hello java,30/33,五、ArrayList的使用 P86,数组大小不确定的,应如何处理?,1、定义大小尽可能大的数组; 2、使用java.util包中的ArrayList类。,31/33,创建ArrayList对象 alist ArrayList alist = new ArrayList(); add() :增加元素, 参数:基本数 据类型或类对象 ali
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单招身心素质测试题库及答案详解
- 2026青海品控军粮供应链有限公司招聘1人备考题库含答案详解(模拟题)
- 2026黄淮学院招聘高层次人才38人备考题库含答案详解(考试直接用)
- 2026黑龙江哈尔滨启航劳务派遣有限公司派遣到哈尔滨工业大学全媒体中心招聘2人备考题库参考答案详解
- 2026黑龙江大兴安岭地区加格达奇区红旗街道社区卫生服务中心招聘护士1人备考题库及答案详解(真题汇编)
- 2026黑龙江省交通投资集团有限公司招聘备考题库及答案详解(名师系列)
- 2026黑龙江黑河市北安市社区卫生服务中心招聘82人备考题库及一套参考答案详解
- 202广西来宾合山市委政策研究和专用通信技术服务中心招聘2人备考题库附答案详解
- 中国航天科工二院二十三所航天南湖电子信息技术股份有限公司2026届校园招聘备考题库附答案详解(培优)
- 南充职业技术学院2026年引进高层次人才公开考核招聘的备考题库(10人)含答案详解(黄金题型)
- 盆底康复中心运营管理
- 新疆乌鲁木齐天山区2026届中考历史全真模拟试卷含解析
- 辽宁省能源集团招聘笔试题库2026
- 2026年乡村医生培训考试试卷及答案(共十九套)
- 2026年湖北省武汉市辅警协警笔试真题及答案
- GB/T 47417-2026蜂蜜中水不溶物的测定
- 管道拆除安全措施方案
- 成人2型糖尿病口服降糖药联合治疗专家共识(2025版)课件
- 110kV变电站电气设备吊装专项施工方案
- 便利店工作制度详细流程
- 2026年云南省初中学业水平考试数学仿真卷(一)(含答案)
评论
0/150
提交评论