一、分配空间与赋值分步进行

分配空间与赋值分步进行

public class HelloWorld {

public static
void main(String[] args) {

int[] a = new
int[5]; //分配了长度是5的数组,但是没有赋值

//没有赋值,那么就会使用默认值

//作为int类型的数组,默认值是0

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

//进行赋值

a[0] = 100;

a[1] = 101;

a[2] = 103;

a[3] = 120;

a[4] = 140;

}

}

二、分配空间,同时赋值

分配空间,同时赋值

public class HelloWorld {

public static
void main(String[] args) {

//写法一: 分配空间同时赋值

int[] a = new
int[]{100,102,444,836,3236};

//写法二: 省略了new int[],效果一样

int[] b = {100,102,444,836,3236};

//写法三:同时分配空间,和指定内容

//在这个例子里,长度是3,内容是5个,产生矛盾了

//所以如果指定了数组的内容,就不能同时设置数组的长度

int[] c = new
int[3]{100,102,444,836,3236};

}

}

三、练习--数组反转

题目:

首先创建一个长度是5的数组,并填充随机数。 (向数组填充随机数的办法,参考这里)

参考:使用for循环或者while循环,对这个数组实现反转效果

官方答案:

public class HelloWorld {

public static
void main(String[] args) {

int[] a = new
int[5];

a[0] = (int) (Math.random() * 100);

a[1] = (int) (Math.random() * 100);

a[2] = (int) (Math.random() * 100);

a[3] = (int) (Math.random() * 100);

a[4] = (int) (Math.random() * 100);

System.out.println("数组中各个值是:");

for (int i = 0; i < a.length; i++)

System.out.print(a[i] + " ");

/*思路一: 使用临时数组*/

System.out.println();

//准备临时数组

int[] temp = new
int[a.length];

//把原数组的内容复制给临时数组

for (int i = 0; i < temp.length; i++) {

temp[i] = a[i];

}

System.out.println("临时数组中的各个值是:");

for (int i = 0; i < temp.length; i++)

System.out.print(temp[i] + " ");

System.out.println();

//反转的做法是把临时数组的数据,挨个 倒 放入 原数组中

for (int i = 0; i < temp.length; i++) {

a[i] = temp[temp.length-1-i];

}

System.out.println("反转后的数组中各个值是:");

for (int i = 0; i < a.length; i++)

System.out.print(a[i] + " ");

System.out.println();

/*思路二: 进行首尾调换*/

for (int i = 0; i < a.length/2; i++) {

int middle = a[a.length-i-1];

a[a.length-i-1] = a[i];

a[i] = middle;

}

System.out.println("再次反转后的数组中各个值是:");

for (int i = 0; i < a.length; i++) {

System.out.print(a[i] + " ");

}

System.out.println();

}

}

Java知识系统回顾整理01基础06数组02初始化数组的更多相关文章

  1. Java知识系统回顾整理01基础06数组01创建数组

    一.数组定义 定义:数组是一个固定长度的,包含了相同类型数据的 容器 二.声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都是一个整数 a 是 ...

  2. Java知识系统回顾整理01基础06数组06二维数组

    一.一维数组和二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维数组 ...

  3. Java知识系统回顾整理01基础06数组07数组工具类Arrays

    一.Arrays简介 Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能. 大大提高了开发人员的工作效率. 二.Arrays提供的数组复制方法 与使用System.arraycopy ...

  4. Java知识系统回顾整理01基础06数组03排序

    一.选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个 ...

  5. Java知识系统回顾整理01基础06数组05复制数组

    数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少 一.复制数组 把一个数组的值,复制到另一个数组中 System.arraycopy(src, srcPos, dest, de ...

  6. Java知识系统回顾整理01基础06数组04增强型for循环

    增强型for循环在遍历一个数组的时候会更加快捷 一.增强型for循环 注:增强型for循环只能用来取值,却不能用来修改数组里的值 public class HelloWorld { public st ...

  7. Java知识系统回顾整理01基础04操作符02关系操作符

    一.关系操作符 关系操作符:比较两个变量之间的关系  > 大于 >= 大于或等于 < 小于 <= 小于或等于 == 是否相等 != 是否不等 public class Hell ...

  8. Java知识系统回顾整理01基础03变量02基本变量类型

    一.变量类型分类 一个变量的类型,决定了该变量可以包含什么样的值. Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字. 这八种基本类型分别是:  整型 (4种) 字符型 (1种) ...

  9. Java知识系统回顾整理01基础04操作符06三元运算符

    一.三元运算符 表达式?值1:值2 如果表达式为真 返回值1 如果表达式为假 返回值2 if语句学习链接:if语句 public class HelloWorld { public static vo ...

随机推荐

  1. SDWebImage 清除磁盘缓存机制 iOS

    分析的版本 pod 'SDWebImage', '~> 5.0.6' SDWebImage默认清除磁盘缓存的时长是7天. /** * The maximum length of time to ...

  2. POJ-1001-Exponentiation(高精度大数)

    Problems involving the computation of exact values of very large magnitude and precision are common. ...

  3. The Unique MST(最小生成树的唯一性判断)

    Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spann ...

  4. CSS特效(一)

    三角形 <!-- log --> <div class="tri"></div> <style> .tri { width: 0; ...

  5. 【GDKOI2004】汉诺塔

    题目描述 古老的汉诺塔问题是这样的:用最少的步数将N个半径互不相等的圆盘从1号柱利用2号柱全部移动到3号柱,在移动的过程中小盘要始终在大盘的上面. 现在再加上一个条件:不允许直接把盘从1号柱移动到3号 ...

  6. python中绑定码云仓库

    1.File——Settings——Version Control——Git——输入git安装路径下bin下的git.exe路径——点击后面的Test测试一下,弹出版本点击ok即可 2.点击工具栏中的 ...

  7. WebSphere MQ常用命令及配置

    WebSphere MQ常用命令及配置 (2012-06-23 23:09:16) 标签: mq命令 杂谈 分类: MQ [导读]WebSphere MQ常用命令及配置 一,队列管理命令 1,创建队列 ...

  8. python之map

    python之Map函数   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # map()函数使用举例 # 功能: ...

  9. Java架构师方案—多数据源开发详解及原理(二)(附完整项目代码)

    1. mybatis下数据源开发工作 2. 数据源与DAO的关系原理模型 3. 为什么要配置SqlSessionTemplate类的bean 4. 多数据源应用测试 1. mybatis下数据源开发工 ...

  10. CTF-BugKu-WEB-1-20

    2020.09.17 全面复习web,给自己定个目标,后天之前结束BugKu-Web,开始逆向. 经验教训 php弱等于用于绕过==,弱等于之前会把等号两边转化为同一类型变量: 全局变量全局变量全局变 ...