数组反转也是Java的基础。

数组反转要求掌握的是:

1)、创建一个数组,在内存中申请一块空间。

2)、实例化数组。

3)、对数组的了解。如:数组的长度,数组的下标,数组的表示方法。

4)、数组的交换。

5)、数组的输出。

数组反转让我们更好的了解数组的下标,和循环语句。要清楚数组的下标变化和数值的交换位置。

我用两种方法写出数组的反转,如下代码:

 /*
* 数组反转
*
* 方法1:
* a[i]与a[a.length-1-i]数值交换位置
* 要在(a.length-1)/2这里停止,不然没有反转了
*
* 方法2:
* 用 i=0 和 k=array.length-1 分别表示数组的第一位和最后一位
* 当i<k就交换两个数
* 再来就 i++ 而 k--
*/
package com.basis; public class ArrayReverse { //主方法
public static void main(String[] args) {
int[] array = {0,1,2,3,4,5,6,7,8,9};
System.out.print("原数组:");
printArray(array);
System.out.print("反转数组:");
arrayReverse1(array);
printArray(array);
System.out.print("再反转数组:");
arrayReverse2(array);
printArray(array);
} //方法1
public static int[] arrayReverse1(int array[]){
for(int i=0;i<(array.length-1)/2;i++){
int temp = array[i];
array[i] = array[array.length-1-i];
array[array.length-1-i] = temp;
}
return array;
} //方法2
public static int[] arrayReverse2(int array[]){
for(int i=0,k=array.length-1;i<k;i++,k--){
int temp = array[i];
array[i] = array[k];
array[k] = temp;
}
return array;
} //输出方法
public static void printArray(int array[]){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
}

运行的结果:

Java_基础篇(数组的反转)的更多相关文章

  1. Java_基础篇(数组排序)

    Java_基础之数组排序(从小到大) 1.冒泡排序: 冒泡排序可以写成两层循环. 每次循环将最大的数值交换到数组的最后一个. 每排序完一次,后面就少比较一次.所以二层循环的判断条件写成:arry.le ...

  2. java学习笔记(基础篇)—数组模拟实现栈

    栈的概念 先进后出策略(LIFO) 是一种基本数据结构 栈的分类有两种:1.静态栈(数组实现) 2.动态栈(链表实现) 栈的模型图如下: 需求分析 在编写代码之前,我习惯先对要实现的程序进行需求分析, ...

  3. VBS基础篇 - 数组

    数组变量:有时需要向一个单一的变量赋于多个值,那么您可以创建一个可包含一系列值的变量,这种变量被称为数组. '静态数组 ) a()="George" a()="john& ...

  4. Java_基础篇(杨辉三角)

    对于刚刚学Java的同学来说,杨辉三角是一个很好的例子. 杨辉三角让初学者更好的理解数组的定义和更好地去运用数组,特别是二维数组. 除此之外,还让初学者更好的掌握嵌套语句的使用. 以下是我的杨辉三角J ...

  5. C语言 指针基础篇 数组,函数与指针的运用 2 14

    下面看看如何在函数中运用指针吧 下面是往函数传入指针的简单操作,不是传入数组的.判断一个a是否大于b是的话给,是的话对其进行操作,不是的话就直接返回. #include <stdio.h> ...

  6. 小猪猪C++笔记基础篇(四)数组、指针、vector、迭代器

    小猪猪C++笔记基础篇(四) 关键词:数组,Vector. 一.数组与指针 数组相信大家学过C语言或者其他的语言都不陌生,简单的就是同一个变量类型的一组数据.例如:int a[10],意思就是从a开始 ...

  7. 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)

    目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...

  8. 【Java_多线程并发编程】基础篇——synchronized关键字

    1. synchronized同步锁的原理 当我们调用某对象的synchronized方法或代码块时,就获取了该对象的同步锁.例如,synchronized(obj)就获取了“obj这个对象”的同步锁 ...

  9. Net基础篇_学习笔记_第九天_数组_冒泡排序(面试常见题目)

    冒泡排序: 将一个数组中的元素按照从大到小或从小到大的顺序进行排列. for循环的嵌套---专项课题 int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 ...

随机推荐

  1. js万年历,麻雀虽小五脏俱全,由原生js编写

    对于前端来说,我们可能见到最多的就是各种各样的框架,各种各样的插件了,有各种各样的功能,比如轮播啊,日历啊,给我们提供了很大的方便,但是呢?我们在用别人这些写好的插件,框架的时候,有没有试着问一问自己 ...

  2. [ SSH框架 ] Struts2框架学习之四(自定义拦截器)

    一.Struts2的拦截器 1.1 拦截器概述 拦截器,在AOP( Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.拦截 ...

  3. sqlilabs 1-4

    near '1' --+ ' LIMIT 0,1 ?id=999' union select 1,database(),5 --+ 当前数据库?id=999' union select 1,user( ...

  4. bootstrap模态对话框(最简单)

    根据公司的需求,需要一个对话框来返回给客户的失败原因,刚刚开在百度上搜了老半天,嫩是没有搜索一个自己想要的,后来发送私信给一个博友,经过他哪里找到了自己想要的答案,废话不多说直接看源码: <!D ...

  5. golang项目中使用条件编译

    golang项目中使用条件编译 C语言中的条件编译 golang中没有类似C语言中条件编译的写法,比如在C代码中可以使用如下语法做一些条件编译,结合宏定义来使用可以实现诸如按需编译release和de ...

  6. Oracle-07:别名,去重,子查询

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 依旧提供数据库脚本供操作 create table DEPT ( deptno ) not null, dna ...

  7. Supervisor管理进程

    Supervisor管理进程 转载 2016年04月14日 18:26:45 标签: supervisord 28344 Supervisor重新加载配置启动新的进程 liaojie 发布于 1年前, ...

  8. 用nginx缓存静态文件

        这篇教程说明你应该怎样配置 nginx.设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片. CSS 和 Javascript 文件) ...

  9. 一个bug分析 ----------换个角度,有另外一个天地

    有个接口是按修改时间(updated_time)排序的 优化后,有人反馈接口的返回值有问题 查了一下,反馈的数据是推荐过的(推荐操作是会更新updated_time的). 然后就认为是有人进行了推荐操 ...

  10. Node.js使用supervisor遭遇‘supervisor’不是内部或外部命令,如果解决?

    如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你 在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止 Node.js ...