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

分配空间与赋值分步进行

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. vue 在模板template中变量和字符串拼接

    例子:  :post-action="'/api/v1/reportPage/'+this.selectedPagerId+'/saveimg/'"

  2. php的负整数和正整数相加(负数以补码的形式存在内存,正数以原码的形式存在内存)

    首先先理解原码,反码,补码 十进制为例 原码: 5的原码:00000101 反码:11111010 补码:补码在末尾加1即   11111011  (正数的补码就是其负数,即5的补码就是-5) 正数在 ...

  3. Nodejs模块:fs

    /** * @description fs模块常用api */ // fs所有的文件操作都是异步IO,如果要以同步的方式去调用,都会加一个在原同步api的基础上加Sync // 同步的方式会在最后传入 ...

  4. 《神经网络的梯度推导与代码验证》之FNN(DNN)前向和反向过程的代码验证

    在<神经网络的梯度推导与代码验证>之FNN(DNN)的前向传播和反向梯度推导中,我们学习了FNN(DNN)的前向传播和反向梯度求导,但知识仍停留在纸面.本篇章将基于深度学习框架tensor ...

  5. docker快速搭建php7.2-nginx开发环境

    1.输入命令: docker search -s 100 php 搜索出下面图中列表,选择webdevops/php-nginx. 2.通过docker拉取webdevops/php-nginx镜像, ...

  6. Nginx 前端项目配置 包含二级目录和接口代理

    Nginx是目前用的比较多的一个前端服务器 其优点是配置简单修改一下server就能用 并发性能比较好,具体怎么好就看这个吧 开撸 1.找到nginx (liunx系统,已安装) whereis ng ...

  7. vue mixin混入

    基本结构 export default { data() { return {} }, computed: { }, methods: { }, filters: { }, created() { } ...

  8. SpringCloud系列之分布式配置中心极速入门与实践

    SpringCloud系列之分布式配置中心极速入门与实践 @ 目录 1.分布式配置中心简介 2.什么是SpringCloud Config? 3.例子实验环境准备 4.Config Server代码实 ...

  9. 20190923-07Linux搜索查找类 000 015

    find 查找文件或者目录 find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端. 1.基本语法 find [搜索范围] [选项] 2.选项说明 表1-27 选项 功能 -n ...

  10. 8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇

    本文作为图解java并发编程的第二篇,前一篇访问地址如下所示: 图解进程线程.互斥锁与信号量-看完还不懂你来打我 图形说明 在开始想写这篇文章之前,我去网上搜索了很多关于线程状态转换的图,我惊讶的发现 ...