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 坐标系统
屏幕的左上角是坐标系统原点(0,0),原点向右延伸是X轴正方向,原点向下延伸是Y轴正方向. 一.View的坐标 需要注意view的坐标是相对父容器而言的,包括:getTop().getBott ...
- powerdesinger中建立一个表后,出现Existence of index的警告
可以不检查 Existence of index 这项,也就没有这个警告错误了!意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用的话对执行没有影响~ 转载:http://bl ...
- [Mysql] mysql临时表corrupt
问题描述 机房临时硬件问题, 机器掉电. 恢复后, 重启mysql进程, 结果出现core dump. 而且一直循环, 无法终止, 只能kill掉. backtrace如下. # service my ...
- hdu4734 F(x)
链接 这题当时在网络赛时很费劲的推出来的,以递推的形式写出来的,一些边界点特别不好控制,靠看数据改出来的.现在改出dfs形式,也是很简单的. 因为f(x)的数不会很大,直接保留前面枚举的数得出的结果即 ...
- java高薪之路__009_网络
1. InetAddress类2. Socket: IP地址和端口号的结合,socket允许程序把网络连接当成一个流,数据在两个socket间通过IO传输, 通信的两端都要有socket. 主动发起通 ...
- Linux 监控文件被什么进程修改
安装: apt-get install auditd. auditd 是后台守护进程,负责监控记录 auditctl 配置规则的工具 auditsearch 搜索查看 aureport 根据监控记录生 ...
- JDK的安装与配置
1.什么是JDK(Java Development Kit) 开发工具,javac及基础核心类 运行环境,java及基础核心类 2.目前Java平台的版本 JavaSE(Java Platform S ...
- 使用window.print实现网页打印
Window.print()方法用于在浏览器中打印当前窗口的内容,如果想要打印当前窗口中指定部分的内容的话需要其他的一些特殊的处理; Demo: <html> <head> & ...
- 关于H5中自定义属性的设置和获取
自定义数据属性是在HTML5中新加入的一个特性.简单来说,自定义数据属性规范规定任何以data-开头属性名并且赋值.自定义数据属性是为了保存页面或者应用程序的私有自定义数据,这些自定义数据属性保存进D ...
- 数组的sort方法
今天在看<JavaScript高级程序设计第三版>时,学到了数组的sort方法.知道这个方法,但是一直没仔细研究过,这次发现,它是把数组内的值用toSting()变为字符串再进行比较,这样 ...