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

分配空间与赋值分步进行

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. Python3网络爬虫之requests动态爬虫:拉钩网

    操作环境: Windows10.Python3.6.Pycharm.谷歌浏览器目标网址: https://www.lagou.com/jobs/list_Python/p-city_0?px=defa ...

  2. oeasy教您玩转linux010102查看发行版

    查看发行版distro 回忆上次内容 从帮助咱们可以知道 name -a 可以得到全部信息 uname -a 从中,咱们知道有ubuntu,他好像是一种发行版. 那么,什么是发行版呢? 什么是发行版?

  3. 漏洞重温之sql注入(七)

    漏洞重温之sql注入(七) sqli-labs通关之旅 Less-31 首先,进入31关,我们先添加上id参数. 然后,我们查看源码. 我们门可以看到,index页面源码其实很简单,网页也没有对我们的 ...

  4. shell小技巧(4)AIX和Linux计算天前日期

    Linux计算天前日期: date -d "- day" +%Y%m%d AIX计算5天前日期: perl -e "use POSIX qw(strftime); pri ...

  5. 关于ES6的let、const那些事儿

    Babel 转码器 Babel是广泛使用的一个ES6转换器,将ES6代码转换成ES5代码,从而实现在老版本的浏览器执行. let和const命令 let所声明的变量只在let命令所在的代码块内是有效的 ...

  6. MYSQL中的where ‘1=1‘ 探讨

    在学习MySQL时候,关于MySQL注入的例子 首先针对以下代码,实现的是关于sql注入时,一个普通登录所产生的的问题 package com.java.lesson02; import com.ja ...

  7. Java I/O流 复制文件速度对比

    Java I/O流 复制文件速度对比 首先来说明如何使用Java的IO流实现文件的复制: 第一步肯定是要获取文件 这里使用字节流,一会我们会对视频进行复制(视频为非文本文件,故使用之) FileInp ...

  8. JS -- 操作符和数组

    一.Javascript常用操作符 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  9. nginx安装步骤和加固方案

    安装步骤参考https://blog.csdn.net/qq_37345604/article/details/90034424 出现以下页面就表示安装完成(默认是80端口,我修改成了8009端口,所 ...

  10. CTF-BugKu-加密

    2020.09.12 恕我直言,上午做WeChall那个做自闭了,下午复习一下之前做过的. 做题 第一题 滴答~滴 https://ctf.bugku.com/challenges#滴答~滴 摩斯密码 ...