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中线程,并发的知识,在老师的带领下,进行了对知识的理解学习,以及对实验的运行讲解,对这一块内容掌握的还可以,在自主编程中,也能够完成.线, ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十五周
java学习第十五周 Java的GUI界面设计,框架以及主要部件填充,归置,布局管理,在第十一章和第十二章进行了系统的学习,在这两章的知识奠基下,可以简单的构造一个GUI用户界面,在两周的学习后,可以 ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十四周
java学习第十四周 本周,主要精力放在了第十二章swing用户界面组件知识的学习,swing是一个用于开发Java应用程序用户界面的开发工具包.它以抽象窗口工具包(AWT)为基础使跨 ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十周
---恢复内容开始--- Java学习第十周 本周,学习泛型程序设计,泛型也被称为参数化类型(parameterized type),就是在定义类.接口和方法时,通过类型参数指示将要处理的 ...
- JAVA学习前十天:小结、面向对象之”扑克牌“例子
2016年4月26号正式步入JAVA学习课堂,学习了第一节JAVA课程,由于以前有C语言基础,所以课程有点快! 第一天:学习了教材的第一部分,第一部分总共两章,分别是JAVA简介和JAVA基础语法. ...
- 从.Net到Java学习第十二篇——SpringBoot+JPA提供跨域接口
从.Net到Java学习系列目录 最近又撸了半个月的前端代码,做app离线存储,然后又花了一周去将过去的wcf项目转webapi,java又被落下了,总感觉我特么像斗地主中的癞子牌,变来变去..... ...
- 从.Net到Java学习第十篇——Spring Boot文件上传和下载
从.Net到Java学习系列目录 图片上传 Spring Boot中的文件上传就是Spring MVC中的文件上传,将其集成进来了. 在模板目录创建一个新的页面 profile/uploadPage. ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十二周
java学习第十章:图形程序设计 本章,介绍的是如何编写使用图形用户界面GUI的java程序.主要讲的是如何编写定义屏幕上的窗口大小和位置的程序,如何在窗口中采用多种字体显示文本,如何显示 ...
- Java学习第十六天
1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...
随机推荐
- MATLAB随机森林回归模型
MATLAB随机森林回归模型: 调用matlab自带的TreeBagger.m T=textread('E:\datasets-orreview\discretized-regression\10bi ...
- C语言实现进制转换
#include<stdio.h> int main() { char ku[16]={'0','1','2','3','4','5','6','7','8','9','A','B ...
- Octopus系列之如何让前台的js脚本变得灵活重用
Octopus系列如何让前台的js脚本变得灵活,重用 方式1:ajax方式 方式2:form表单方式 面向对象的脚本封装 jQuery的封装 做Web开发的少不了前台Ajax的使用, 返回true:f ...
- NetworkComms框架介绍 完美支持TCP/UDP协议
NetworkComms网络通信框架序言 英文文章地址 :http://www.networkcomms.net/tcp-udp-connections/ NetworkComs.Net无缝的支持TC ...
- myeclipse中java文件中文注释乱码问题
在myeclipse中,有时打开java文件会发现中文注释全为乱码了,这个问题主要是因为编码的问题没有设置好,一个重要的原则就是保证所有的编码一致才不会发生乱码 出现乱码,需要知道三个地方的编码格式: ...
- 电脑的基本硬件知识以及unix图解
1.DELL R720 R610 2.电源: 人体心脏3.硬盘: 存数据的地方.机械的性能不高,3.5英寸 性能 SATA 借口<SAS <SSD 价格:SSD> SAS>SA ...
- js基础之动画(三)
一.链式运动 首先,要改进运动框架 function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; ...
- CNAPS Code 查询(招商银行)
招商银行的妹子实在太傻了,根本不知道什么是CNAPS Code.联行号,完全答非所问. 最后还是自己搞定了,如图: 最后再看看招行人员的英语水平,真是不知道什么是东西:
- 用PHP的socket实现客户端到服务端的通信
服务端 <?php error_reporting(E_ALL); set_time_limit(0); ob_implicit_flush(); //本地IP $address = 'loca ...
- Struts2 validate校验
一般的,用户注册的时候,我们需要校验一些用户提交过来的参数. 一般有两道屏障,一是在前台页面上使用js进行验证,直接杜绝了不正常信息的提交.二是将提交过来的信息进行验证,不通过则返回注册页面并显示错误 ...