复习

1.do-while

1)语法

do{

//循环体

}while(<条件>);

2.while和do-while

1)while

先判断,后执行

初始条件不满足,一次都不执行

2)do-while

先执行,后判断

初始条件不满足,也会至少执行一次

3.for循环

1)语法

for(表达式1;表达式2;表达式3){

//循环体

}

4.循环流控

1)break

跳出,终止循环

2)continue

跳过本次循环,继续下次循环

5.循环嵌套

1)什么是循环嵌套

2)循环嵌套的注意事项

笔记

1.数组

1)什么是数组

数组就是一种能够保存

多个相同数据类型数据的变量

2)为什么使用数组

在处理较多同类型数据时

可以使用数组减少代码冗余

3)数组的组成

3.1)数组名称

3.2)数组元素

3.3)数组长度

3.4)数组下标

4)数组的声明

<类型>[] <数组名>;

int[] nums;

int nums[];//不推荐

5)数组的初始化

<数组名>=new <类型>[<长度>];

nums=new int[5];

合二为一

int[] nums=new int[5];

6)数组的使用

使用原则:使用元素的下标来指定元素

<数组名>[<下标>]=...;

nums[0]=12;

System.out.println(nums[0]);

nums[1]=nums[0]+8;

7)数组的遍历

遍历就是访问数组中所有元素一遍

只要是对数组的遍历

就使用循环(for循环)

8)数组长度的获取

<数组名>.length;

一个数组第一个元素的下标:

0

一个数组最后一个元素的下标:

<数组名>.length-1

2.使用数组的注意事项

1)数组初始化之后

元素都有默认值

(0\0.0\false)

2)数组初始化后

长度不能修改

3)使用数组下标时

要小心数组下标越界

3.数组声明时赋值;

1)int[] nums={9,3,6,4,7,1,8};

必须声明后立即使用{}赋值

2)int[] nums;

nums=new int[]{5,7,1,9,3,6,3,8};

数组声明后,可以使用new int[]{}

来赋值

4.数组的引用类型特征

当一个数组通过=赋值给另一个数组时

这两个数组是相同的引用

会造成修改A数组同时影响B数组的情况

为了避免这种情况要掌握数组

复制的操作

5.数组复制

1)复制一个和数组完全相同或部分相同的新数组

2)数组复制的方法

2.1)手动编写for循环复制数组

2.2)System.arraycopy(1,2,3,4,5);

1源数组

2从源数组复制的起始位置

3新数组

4新数组起始位置

5复制元素的个数

2.3)Arrays.copyOf(1,2);

1.源数组

2.复制几个

Arrays.copyOf()的特性导致

在程序中

需要数组扩容或缩容时

优先使用该方法

6.数组排序

1)将数组中的元素按照顺序排列的操作

2)使用java提供的排序方法

Arrays.sort(1);

1.要排序的数组

排序之后,数组中的元素

会以升序方式排列

如果想得到降序数组

需要使用"逆序输出"

3)我们也可以自己编写代码来对数组进行排序

作业

1)有5个学生成绩分别为75,92,63,70,88

将这5个成绩放入数组后遍历输出

        int[] nums={75,92,63,70,88};
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}

2)有5个商品价格分别为25.7 , 12.4 , 8.0 , 3.6 , 6.8

将这个5个价格放入输出后遍历输出,并计算5个商品价格之和

        double total = 0;
double[] prices = { 25.7, 12.4, 8.0, 3.6, 6.8 };
for (int i = 0; i < prices.length; i++) {
System.out.println(prices[i]);
total += prices[i];
}
System.out.println("价格之和:" + total);

3)定义一个长度为8的数组, 输出这个数组中的最大值

        int[] nums = { 8, 7, 3, 9, 5, 4, 1, 6 };
int max = nums[0];// 默认第一个最大
for (int i = 0; i < nums.length; i++) {
if (nums[i] > max) {
max = nums[i];
}
}
System.out.println("最大值: " + max);

数组复制

1)int[] num={7,6,3,9,8,4,1,2};

想通过数组复制,得到以下数组内容

arr  :    {0,0,9,8,4,0,0};

        int[] nums= {7,6,3,9,8,4,1,2};

        //1.定义一个新数组,用于接收源数组的数据
int[] arr=new int[nums.length-1];
//{0,0,0,0,0,0,0,0}; //2.进行数组复制
System.arraycopy(nums,3,arr,2,3); //3.输出
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i] +" ");
}

2)Arrays.copyOf():

int[] nums={1,2,3,4,5,6};

通过数组扩容, 得到以下数组

arr:       {1,2,3,4,5,6,0,0,0}

        int[] nums = { 1, 2, 3, 4, 5, 6 };
// 1.复制数组并赋给新的数组变量
int[] arr = Arrays.copyOf(nums, nums.length + 3);
// 2.输出数组数据
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}

day06数组、数组声明和赋值、数组复制、数组排序的更多相关文章

  1. js数组的声明与应用

    js数组的声明与应用 数组:一种容器,存储批量数据.JavaScript是一种弱类型语言.什么是弱类型,就是变量可以存储多种类型变量的引用不会报错.所以js数组可以存储不同的数据. 一.数组的作用:只 ...

  2. C++二维数组讲解、二维数组的声明和初始化

    我们知道,一维空间是一条线,数学中用一条数轴来表达:二维空间是一个平面,数学中用平面坐标系来表达.那么二维数组又是什么样的呢? 线与面 我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线 ...

  3. IT兄弟连 Java语法教程 数组 多维数组 二维数组的声明

    Java语言里提供了支持多维数组的语法.但是这里还想说,从数组底层的运行机制上来看是没有多维数组的. Java语言里的数组类型是引用类型,因此数组变量其实是一个引用,这个引用指向真实的数组内存,数组元 ...

  4. Java基础:数组的声明,循环,赋值,拷贝。

    数组的声明 一般有两种形式的声明: int[] a; int a[]; 这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号. 声明一个数组,并没有将a真正的初始化为一个数组 ...

  5. C#数组的声明方式

    C#数组的五种声明方式 一.声明一个未经初始化的数组引用,以后可以把这引用初使化为一个数组实例 int[] intArray; intArray = new int[10]; 注:数组的引用必须以相同 ...

  6. 关于Delphi中二维数组的声明和大小调整(对非基本类型数据,小心内存泄漏)

    这是一个实例: procedure TMainForm.Button1Click(Sender: TObject);var  arr:array of array of string;begin  s ...

  7. java数组的声明由几种方式

    数组的声明由几种方式: 1,String []a = new String[length];再赋值 a[0]=?;....... 2,new完就直接初始化: String []a = new Stri ...

  8. Java数组的声明和遍历

    Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 n ...

  9. ES6_入门(4)_数组的解构赋值

    //2017/7/14 //变量的解构赋值(解构:Destructuring) //(1)数组的解构赋值 let [a,b,c]=[1,2,3];//模式匹配,只要等号两边的模式相同,左边的变量就会被 ...

随机推荐

  1. BeanUtils.copyProperties()怎样去掉字段首尾的空格

    背景 下午三时许,笔者正戴着耳机听着歌开心的敲着bug,忽然听到办公室的吵架声,原来是ios开发和产品小姐姐吵起来了,为了一个车牌号的校验问题.起因是ios传的车牌号没有将字符串的首尾空格去掉,后端直 ...

  2. Java正则表达式Pattern和Matcher类

    转载自--小鱼儿是坏蛋(原文链接) 概述 Pattern类的作用在于编译正则表达式后创建一个匹配模式.    Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配 Pattern类 ...

  3. CTF比赛时准备的一些shell命令

    防御策略: sudo service apache2 start :set fileformat=unix1.写脚本关闭大部分服务,除了ssh       2.改root密码,禁用除了root之外的所 ...

  4. HTML,CSS,Javascript,PHP在网站结构中扮演的“角色”

    ①HTML   在网站结构中使用来,展示网页内容的: ②CSS   在网站结构中使用来,美化页面,如字体颜色大小等: ③Javascript(JS)   在网站结构中使用来,让页面动起来,提高浏览体验 ...

  5. Vsftp与PAM虚拟用户

    使用yum 安装vsftp yum install vsftpd pam pam-* db4 db4-* 创建一个保存用户及密码的文件 cd /etc/vsftpd/ touch virtual_lo ...

  6. mac 终端高亮显示~

    针对terminal采用bash模式: 编辑 ~/.bash_profile, 加入以下代码: export CLICOLOR=1 export LSCOLORS=gxfxaxdxcxegedabag ...

  7. Vue各种配置

    小知识 Vue.prototype和Vue.use的区别 这个是全局可以通过Vue对象获取serring的值 Vue.prototype.$settings = settings; 这个是配置全局环境 ...

  8. Spring面试题集锦(精选)

    以下来自网络收集,找不到原文出处.此次主要为了面试收集,希望对大家有所帮助~~~~ 1.什么是Spring? Spring是一个开源的Java EE开发框架.Spring框架的核心功能可以应用在任何J ...

  9. powerline字体安装

    安装命令 git clone https://github.com/powerline/fonts ./install.sh 了解powerline ->美化自己的命令行环境,增加漂亮的状态行, ...

  10. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...