数组反转也是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. 在mac OX10.11.6上安装MySQL

    一.之前失败情况 官网下载dmg文件安装.源码安装,下过5.6  5.7  8.0 版本,都可以安装成功,但是在电脑设置界面无法启动,每次点启动输入密码后,均闪一下绿色然后变红色,既然不能界面启动,那 ...

  2. Cookie SQL注入

    转自http://blog.sina.com.cn/s/blog_6b347b2a0101379o.html cookie注入其原理也和平时的注入一样,只不过说我们是将提交的参数已cookie方式提交 ...

  3. PAT1047: Student List for Course

    1047. Student List for Course (25) 时间限制 400 ms 内存限制 64000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Y ...

  4. java正则表达式验证金额

    String reg_money = "\\d+(\\.\\d{1,2})?";// 金额正则,可以没有小数,小数最多不超过两位 Pattern pattern = Pattern ...

  5. 在不重装系统的情况下创建Linux的Swap分区

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=649 操作环境: CentOS 7 操作背景: 本文中使用的CentOS Linux系统在安装的时候没有创建Swap ...

  6. JavaWeb(一)JavaWeb应用的概念

    JavaWeb应用的概念 在Sun的Java Servlet规范中,对Java Web应用作了这样定义:"Java Web应用由一组Servlet.HTML页.类.以及其它可以被绑定的资源构 ...

  7. SVN汉化教程2017.10.6

    https://jingyan.baidu.com/album/b87fe19e95f5925219356853.html?picindex=4

  8. Python 字典(Dictionary) has_key()方法

    描述 Python 字典(Dictionary) has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false. 语法 has_key()方法语法:dic ...

  9. TProfiler部署文档--笔记

    TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持. ...

  10. C++中的内联函数和C中的宏定义的区别

    在C++中内联函数: 内联函数即是在函数的声明和和定义前面加上“inline”关键字,内联函数和常规函数一样,都是按照值来传递参数的,如果参数为表达式,如4.5+7.5,则函数将传递表达式的值(这里为 ...