第十二次课

目标

一维数组(创建访问)

一、概念与特点

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. C++11在时空性能方面的改进

    C++11在时空性能方面的改进 这篇我们聊聊C++11在时间和空间上的改进点: 主要包括以下方面: 新增的高效容器:array.forward_list以及unordered containers: ...

  2. linux命令:mkdir命令

    命令参数: -m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask -p, --parents  可以是一个路径名称.此时若路径中的 ...

  3. iOS - OC NSStream 文件流

    前言 @interface NSStream : NSObject @interface NSOutputStream : NSStream 1.文件流的使用 NSString *filePath = ...

  4. Unicode 与(UTF-8,UTF-16,UTF-32,UCS-2)

    Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的字符包含在一个集合里,计算机只要支持这一个字符集,就能显示所有的字符,再也不会有乱码了. U+597D = 好 597D 是1 ...

  5. 使用rman迁移数据库到异机

    迁移数据库的方法有多种,较为常用的则是使用RMAN来迁移.使用RMAN迁移数据库属于数据库的物理备份与恢复范畴,整个过程中数据库的相关信息是完整地镜像.因此,基于此种方式还原恢复的数据库用于测试会使得 ...

  6. jQuery实现两个按钮的位置互换

    页面上有2个按钮A和B.点击按钮A和按钮B互换位置 ,点击按钮B和按钮A互换位置.应该如何实现? html代码如下: <body> <!--页面上有2个按钮A和B. 点击按钮A和按钮 ...

  7. PHP 小方法之 二维数组排序

    if (! function_exists ( 'multi_array_sort' )) { function multi_array_sort($arr, $keys, $type = 'desc ...

  8. Deep Learning 8_深度学习UFLDL教程:Stacked Autocoders and Implement deep networks for digit classification_Exercise(斯坦福大学深度学习教程)

    前言 1.理论知识:UFLDL教程.Deep learning:十六(deep networks) 2.实验环境:win7, matlab2015b,16G内存,2T硬盘 3.实验内容:Exercis ...

  9. openssl evp 哈希算法(md5,sha1,sha256)

    1. 简述 openssl提供了丰富密码学工具,一些常用的哈希算法 比如md5,sha 可以直接用提供的md5.h ,sha.h 接口使用: 为了方便开发者使用,openssl 又提供了一个EVP, ...

  10. 运行Python脚本的方法

    1.安装完Python后,添加环境变量---在系统变量中找到Path ,点击编辑把你的python安装目录放到里面,注意环境变量之间用";"隔开.打开CMD,在CMD命令行中,输入 ...