第十二次课

目标

一维数组(创建访问)

一、概念与特点

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学习第十天的更多相关文章

  1. 201671010140. 2016-2017-2 《Java程序设计》java学习第十六周

    java学习第十六周-并发        本周,学习了Java中线程,并发的知识,在老师的带领下,进行了对知识的理解学习,以及对实验的运行讲解,对这一块内容掌握的还可以,在自主编程中,也能够完成.线, ...

  2. 201671010140. 2016-2017-2 《Java程序设计》java学习第十五周

    java学习第十五周 Java的GUI界面设计,框架以及主要部件填充,归置,布局管理,在第十一章和第十二章进行了系统的学习,在这两章的知识奠基下,可以简单的构造一个GUI用户界面,在两周的学习后,可以 ...

  3. 201671010140. 2016-2017-2 《Java程序设计》java学习第十四周

      java学习第十四周       本周,主要精力放在了第十二章swing用户界面组件知识的学习,swing是一个用于开发Java应用程序用户界面的开发工具包.它以抽象窗口工具包(AWT)为基础使跨 ...

  4. 201671010140. 2016-2017-2 《Java程序设计》java学习第十周

    ---恢复内容开始--- Java学习第十周       本周,学习泛型程序设计,泛型也被称为参数化类型(parameterized type),就是在定义类.接口和方法时,通过类型参数指示将要处理的 ...

  5. JAVA学习前十天:小结、面向对象之”扑克牌“例子

    2016年4月26号正式步入JAVA学习课堂,学习了第一节JAVA课程,由于以前有C语言基础,所以课程有点快! 第一天:学习了教材的第一部分,第一部分总共两章,分别是JAVA简介和JAVA基础语法. ...

  6. 从.Net到Java学习第十二篇——SpringBoot+JPA提供跨域接口

    从.Net到Java学习系列目录 最近又撸了半个月的前端代码,做app离线存储,然后又花了一周去将过去的wcf项目转webapi,java又被落下了,总感觉我特么像斗地主中的癞子牌,变来变去..... ...

  7. 从.Net到Java学习第十篇——Spring Boot文件上传和下载

    从.Net到Java学习系列目录 图片上传 Spring Boot中的文件上传就是Spring MVC中的文件上传,将其集成进来了. 在模板目录创建一个新的页面 profile/uploadPage. ...

  8. 201671010140. 2016-2017-2 《Java程序设计》java学习第十二周

    java学习第十章:图形程序设计       本章,介绍的是如何编写使用图形用户界面GUI的java程序.主要讲的是如何编写定义屏幕上的窗口大小和位置的程序,如何在窗口中采用多种字体显示文本,如何显示 ...

  9. Java学习第十六天

    1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...

随机推荐

  1. Collaborative Filtering

    for i=1:6040 Ai=ratings(ratings(:,1)==i,:); for j=1:5 Labnum(i,j)=length(Ai(Ai(:,3)==j)); end num(i) ...

  2. cms3.0——收获(1)

    或许是由于各个公司的情况不同,使得每次写后台管理系统就沿用之前的nodejs中的thinkjs来写后台管理系统,也是因为这样后期维护起来更加方便吧?不过最早之前的项目,却有一个使用的是nodejs 中 ...

  3. jQuery_pager.js分页

    在做前端项目中,总是需要自己手写类似于这样的分页效果: 这就需要使用jQuery.pager.js文件,其使用方法为:在html中引入三个文件,分别为: <link rel="styl ...

  4. dw添加emmet

    1.emmet下载Emmet.zxp 2.怎么在dw中设置(命令->emmet->Expand Abbreviation)中查看使用emmet的快捷键,如果跟别人快捷键重合了 3.编辑-& ...

  5. linux系统字符集

    Linux中中文乱码问题通常是由于字符集与windows不兼容所引起,windows的中文字符集是双字节的GBK编码linux采用的是3字节的utf-8编码,所以在windows下用工具连接linux ...

  6. discuzx3.1中引用 Jquery报错的解决办法

    我们可以引用jQuery给JQ赋予一个变量var jq = jQuery.noConflict(); 修改成为:<script type="text/javascript"& ...

  7. spring的依赖注入DI(IOC)

    1.手动注入 (1)set注入 public class UserService { private UserDao userDao; public void setUserDao(UserDao d ...

  8. qml 相关的博客

    http://qt-project.org/wiki/SpaceAppsChallengeResources http://www.ics.com/blog https://www.ics.com/d ...

  9. [Js]拖拽

    分析: 1.鼠标按下,拖拽开始,鼠标移动,拖拽进行,鼠标抬起,拖拽结束(三个事件) 2.被拖动元素与鼠标之间的位置在拖动过程中始终不变,利用这个原理,被拖动元素的位置就是鼠标的左(上)边距-鼠标与被拖 ...

  10. Operating System Concepts 项目:生产者-消费者问题 线程

    一. 实验目的 实现一个c程序,该程序能模拟解决有限缓冲问题,其中消费者和生产者产生和消耗随机数 二.实验内容 缓冲区 元数据类型为buffer_item,大小为1000的数组,按环形队列处理 生产者 ...