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 ...
随机推荐
- CentOS下LAMP一键yum安装脚本
本脚本适用环境: 系统支持:CentOS/Redhat/Fedora 内存要求:≥64M 硬盘要求:2GB以上的剩余空间 服务器必须配置好软件源和可连接外网 必须具有系统 root 权限 建议使用干净 ...
- 复习练习(03)jquery Css方法一步步升级
jquery Css方法一步步升级 <script src="jquery-1.8.3.js"></script> <script type=&quo ...
- Git 忽略文件
在Git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.a ...
- IDEA maven项目 包不能导入问题 全是红线
情况如图所示,红线的话里肯定是没有maven包的 1.检查pom.xml是否报错 报错 右键添加一下 2.点击 3.出现错误提示 4.百度解决
- JavaEE开发环境搭建(2)---(MySQL的安装)
上次写了JavaEE开发环境搭建之jdk的安装...然后自己看的时候感觉有时候加载图片不是很流畅,所以这次就少添加点图片了~~ JavaEE开发环境搭建之MySQL的安装 1:mysql 的下载 在百 ...
- mysql跨数据库操作问题
跨数据库的操作,如果是命名符合mysql规范的直接database.table,如果不符合规范比如加了 - 等符号需要在数据库上面加`database`.table(不是'database'.tab ...
- Python 日期格式转换
经常需要爬取网站上的时间信息,不同的网站又有不同的日期显示方式.而我需要将日期格式转化为一种特定的格式,所以为了简便和学习,记录下各种不同的日期格式转换. 日期格式化符号: %y :两位数的年份表示( ...
- OneSQL的docker之旅
百度盘下载地址: http://pan.baidu.com/s/1v9GWA OneSQL Docker使用方法: 1. 解压 tar zxvf OneSql-Docker-5.6.2 ...
- linux笔记:文件系统管理-分区、文件系统以及文件系统常用命令
linux分区类型: linux文件系统: df(查看文件系统容量和占用): du(统计文件或目录大小): 查询和自动挂载: 挂载命令格式: 挂载光盘: 卸载光盘: 挂载U盘:
- web组件
慕课网:http://www.imooc.com/learn/99 js 在实战中的分层: 应用层 框架组件-框架通用组件.定制组件.独立组件 框架core(框架核心层) 浏览器底层