第十二次课

目标

一维数组(创建访问)

一、概念与特点

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集合方面的知识,在博客园的帮助下,我的课前预习更有条理性,重点明确,本周的课堂反应明显更好了,首先,梳理一下本周知识点.  Collection   ...

  2. 从.Net到Java学习第十一篇——SpringBoot登录实现

    从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...

  3. Java学习笔记十一:Java中的方法

    Java中的方法 一:什么是方法: 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 学过C语言或者其他语言的应该都知道函数这个东西,在Java中,其实方法就是函数,只不过叫法不同,在 ...

  4. JAVA学习第二十一课(多线程(一)) - (初步了解)

    放假在家,歇了好几天了,也没学习,今天学习一下多线程.找找感觉.后天就要回学校了.sad... PS:包 没有什么技术含量,会用就可以,日后开发就必需要会用啦,所以打算先放一放,先来多线程 一.多线程 ...

  5. Java学习(十一)

    今天学习了this和static关键字,这两个都是c++中学过的,但讲师还是讲了2个小时... 学得东西大部分都知道吧. this是当前对象的地址,类中带有static的方法不能使用this. 类中带 ...

  6. Java学习笔记(十一)面向对象---多态

    多态的体现 父类的引用指向了自己的子类对象. 父类的引用也可以接受自己的子类对象. 代码体现 abstract class Animal { public abstract void eat(); } ...

  7. 从.Net到Java学习第一篇——开篇

    以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...

  8. “2017面向对象程序设计(Java)第十一周学习总结”存在问题的反馈及教学安排

    “2017面向对象程序设计(Java)第十一周学习总结”存在问题的反馈及教学安排1.“提出表扬的同学:姜依萍,王雪玲,徐楠,相文君,赵晓未提交作业的同学:任红强,王瑞强,宗鹏新,扎西才让,布旦刀杰,范 ...

  9. 201871010106-丁宣元 《面向对象程序设计(java)》第十一周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第十一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...

随机推荐

  1. 【入门】匈牙利算法+HNOI2006 hero超级英雄

    一.关于匈牙利算法 匈牙利算法是由匈牙利数学家Edmonds提出的,用增广路径求二分图最大匹配的算法. 听起来高端,其实说白了就是: 假设不存在单相思(单身狗偷偷抹眼泪),在一个同性恋不合法的国家里( ...

  2. StudyFoxCMS-8

    1.swiper插件使用 首页图片滚动插件. (1)下载:bower install swiper (2)使用:参考中文官网(http://www.swiper.com.cn/usage/index. ...

  3. Cheatsheet: 2016 01.01 ~ 01.31

    Mobile An Introduction to Cordova: Basics Web Angular 2 versus React: There Will Be Blood How to Bec ...

  4. java关于时间

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...

  5. js获取url参数 兼容某些带#url

    网上有大把现成的代码,不过有点小小的瑕疵 例如目前最流行的 正则法: function getArgument(_arg) { var reg = new RegExp("(^|&) ...

  6. Android ContentProvider 简单学习

    当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.以前我们学习过文件的操作模式,通过指定文件的操作模式为Context.MODE_WORL ...

  7. 轻松解决Linux安装Eclipse方法

    随着Linux的发展,很多人开始学习Linux系统,你了解Linux系统么?你是Linux系统的应用者么?本文为你详细介绍Linux安装Eclipse,为你在学习Linux安装Eclipse时起一定的 ...

  8. Java线程中yield与join方法的区别

    长期以来,多线程问题颇为受到面试官的青睐.虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用.之前,我讨论了一个w ...

  9. 五大权限:UGO权限、SetUID SetGID Sticky、ACL权限、chattr(文件系统级别的权限)、SELINUX

    五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX   ======================文件属性以及ugo权限= ...

  10. features block

    很轻松就能把一个新建的block导出到一个module包里.