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 ...
随机推荐
- Android 对电话进行监听和挂断
1.添加权限 <!--拨打电话的权限--><uses-permission android:name="android.permission.PROCESS_OUTGOIN ...
- [问题2014A09] 解答
[问题2014A09] 解答 通过简单的计算可得 \[(AB)^2=9AB,\cdots\cdots(1)\] 将 (1) 式的右边移到左边, 并将 \(A,B\) 分别提出可得 \[A(BA-9I ...
- DAL、DAO、ORM、Active Record辨析
转自:http://blog.csdn.net/suiye/article/details/7824943 模型 Model 模型是MVC中的概念,指的是读取数据和改变数据的操作(业务逻辑).一开始我 ...
- 开源.NET FTP组件edtFTPnet 用法
edtFTPnet官方网站:http://www.enterprisedt.com/products/edtftpnet/ 目前最新版本为2.2.3,下载后在bin目录中找到edtFTPnet.dll ...
- mysql局域网连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION; //从任何主机连接到mysql服务 ...
- 学习mongo系列(八)密码与权限
一.设置密码及用户角色[1] > db.createUser(... {... user: "maxh",... pwd: "123",... roles ...
- 【UFLDL】Exercise: Convolutional Neural Network
这个exercise需要完成cnn中的forward pass,cost,error和gradient的计算.需要弄清楚每一层的以上四个步骤的原理,并且要充分利用matlab的矩阵运算.大概把过程总结 ...
- json和xml数据的解析
一 json数据 1一条json就像一个对象,也想像OC中的数组,且内嵌了很多键值对字典 {"name" : "jack", "age" : ...
- 在eclipse中导入weka(小白在路上)
第一步:新建一个java工程,new->javaproject,假设工程名为wekatest 第二步:导入weka.jar 第三步:src关联 导入后有许多的.class文件,直接双击打开是看不 ...
- 每周一荐:学习ACE一定要看的书
作 者:david++发布时间:2012/06/08 09:02文章地址:http://game-lab.org/?p=320 近两个月都在学习ACE,一个超级强大,也超级复杂的网络框架库.对ACE的 ...