java学习第十一天
第十二次课
目标
一维数组(创建访问)
一、概念与特点
1、概念
相同数据类型的有序集合[]
数组名: 容器的名字
元素: 下标变量,数组名[下标]
长度: length
下标: 位置、索引 [0,length)
2、特点
1)、数组是引用类型,也是对象 (new), 元素看成成员属性
2)、数组是一个容器,长度一旦确定不可改变 (new 开辟空间)
3)、元素的数据类型相同
a)、基本类型: int[] double[]
b)、引用类型: String[] Man[] Dog[]
4)、位置有序,不是指内容有序
二、声明与初始化
1、使用默认值
类型[] 数组名 =new 类型[长度];
类型数组名[] =new 类型[长度]; à不推荐类C语言的写法
2、手动给定值
类型[] 数组名 =new 类型[]{值列表};
省略形式:类型[] 数组名 ={值列表};
省略的形式不能与声明分开
三、数组的遍历
数组的访问如果没有规律,只能一个一个元素的访问,如果存在规律,可以循环来遍历访问。
1、普通for
2、增强for foreach
注意: foreach常用于获取数据,因为局部变量拷贝的元素的内容。
3、练习(能做出前3个即可)
1)、存储1-5整数,累加求和
2)、模拟超市购物打印小票(列出商品) 结账
3)、将1-20存放到指定的数组中
4)、存储乘法表的值,求和
5)、5个人,组成一个圈,每2个退出一个,打印退出的顺序,最后一个编号是谁 (了解......)
|
//代表5个人 -->false 存在 true表示离开 boolean[] people =newboolean[10]; //不断的踢人 inti=0; intlen =people.length; intj=0; //0 1 while(len>0){ //不断0 1 2 3 4 循环查找 if(people[i]==false){ j++; //找到一个 if(j==2){ people[i]=true;//离开 len--; //少一人 System.out.println(i); j=0; } } i++; i=i%people.length; } |
6)、随机生成100个小写字母,统计打印每个字母出现的概率
a)随机生成小写字母
b)生成100个,
c)统计概率
7)、使用数组实现:有三个人,张三(24岁),李四(28岁),王五(22岁);编写程序实现:
在程序中有一个int变量,当其值为某个人的年龄时,
打印出该人姓名。并在其值不等不等于这三个人的年龄时,输出没有人的年龄为[值]。
如:
a) int age=22;则输出王五
b) int age=12;没有人的年龄为12
四、数组的界限(避免运行时异常)
1、NullPointerException
没有开辟空间
2、ArrayIndexOutOfBoundsException
数组越界,范围在[0,长度)
3、NegativeArraySizeException
负数的长度,编译通过,运行错
五、命令行参数(了解)
1、cmd传递参数
java ArrayDemo11 a b c "d e f"
2、eclipse 传递
六、数组方法
1、equals()
没有重写equals方法,比较还是地址
2、Arrays.equals()
比较数组的内容
3、Arrays.sort()–>了解
从小到大(默认,升序) 或者从大到小(降序)排序
了解:
1)、Comparable +compareTo
2)、Comparator +compare
java学习第十一天的更多相关文章
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十一周
java学习第十一周 本周,进行了java集合方面的知识,在博客园的帮助下,我的课前预习更有条理性,重点明确,本周的课堂反应明显更好了,首先,梳理一下本周知识点. Collection ...
- 从.Net到Java学习第十一篇——SpringBoot登录实现
从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...
- Java学习笔记十一:Java中的方法
Java中的方法 一:什么是方法: 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 学过C语言或者其他语言的应该都知道函数这个东西,在Java中,其实方法就是函数,只不过叫法不同,在 ...
- JAVA学习第二十一课(多线程(一)) - (初步了解)
放假在家,歇了好几天了,也没学习,今天学习一下多线程.找找感觉.后天就要回学校了.sad... PS:包 没有什么技术含量,会用就可以,日后开发就必需要会用啦,所以打算先放一放,先来多线程 一.多线程 ...
- Java学习(十一)
今天学习了this和static关键字,这两个都是c++中学过的,但讲师还是讲了2个小时... 学得东西大部分都知道吧. this是当前对象的地址,类中带有static的方法不能使用this. 类中带 ...
- Java学习笔记(十一)面向对象---多态
多态的体现 父类的引用指向了自己的子类对象. 父类的引用也可以接受自己的子类对象. 代码体现 abstract class Animal { public abstract void eat(); } ...
- 从.Net到Java学习第一篇——开篇
以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...
- “2017面向对象程序设计(Java)第十一周学习总结”存在问题的反馈及教学安排
“2017面向对象程序设计(Java)第十一周学习总结”存在问题的反馈及教学安排1.“提出表扬的同学:姜依萍,王雪玲,徐楠,相文君,赵晓未提交作业的同学:任红强,王瑞强,宗鹏新,扎西才让,布旦刀杰,范 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第十一周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第十一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...
随机推荐
- Oracle软件开发分析
软件开发的步骤可大致分为: 1.需求分析 2.系统设计 3.编码实现 4.系统测试 5.运行维护 student class 多对一 sno name age gender cid id c ...
- UVa 12299 RMQ with Shifts(移位RMQ)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: "Times New ...
- jsp表格数据导出到Execl
1.关于“下载” 需要设置页面header的一个属性为:Content-Disposition: attachment; filename=下载的文件.txt 如: <a href=" ...
- postMessage
postMessage 父页面 e.target.contentWindow.postMessage(messageData, '*'); /*******onMessage处理******/ fun ...
- Greenplum 在Linux下的安装
1.实验环境 1.1.硬件环境 Oracle VM VirtualBox虚拟机软件:三台Linux虚拟机:Centos 6.5:数据库:greenplum-db-4.3.9.1-build-1-rhe ...
- 转:C++的重载(overload)与重写(override)
C++ override overload 的区别 override是指在不同作用域中,多个函数原型完全一样,而实现却不同的函数.在C++中,经常发生在类的继承中.当基类中的某个方法是virtual ...
- QQ(iOS)客户端的粘性动画效果
qq的app中要是有新的联系人发消息过来,相应联系人的cell右边会有一个红色的圆圈表示消息条数.如果去触碰那个圆圈,可以发现它竟然会跟着手指的移动而移动. 在一定范围内,手指离开屏幕,会发现红色圆圈 ...
- 1 Spring MVC 原理
1. 注解式 Spring MVC 响应流程: 重要的接口和类的简单说明: DispatcherServlet:前端控制器,用于接收请求. HandlerMapping接口:用于处理请求的映射. D ...
- UI里的UIActionSheet按钮
1.效果图:分别为有短信分享 无短信分享 -(void)viewDidLoad{ //添加按钮 UIButton *share ...
- Django1.9开发博客(7)- 实现功能
到目前为止我们已经完成了一个django应用的所有基础部分. 包括url配置.视图.模型和模板.接下来开始继续完善我们的博客系统了. 首先我们需要一个显示每篇文章的详细页面,对不? 文章详情 对于首页 ...