博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 语言基础之数组应用
阅读量:7112 次
发布时间:2019-06-28

本文共 1774 字,大约阅读时间需要 5 分钟。

  1. 什么时候使用数组呢?
    如果数据出现了对应关系, 而且对应关系的一方是有序的数字编号, 并作为角标使用.
    这时,就必须要想到数组的使用. 也就是将这些数据存储到数组中, 根据运算的结果作为角标,
    直接去查数组中对应的元素即可.

这种方式称为 查表法 .

1222878-20170824125356418-1568450282.png

需求: 获取一个整数的十六进制表现形式public static void toHex(int num){    // 健壮性判断    if(num==0)    {        System.out.print("0");        return; //函数执行结束    }    // 定义一个对应关系表    char[] chs = {'0','1','2','3',                  '4','5','6','7',                  '8','9','A','B',                  'C','D','E','F'              };    /*    一会查表会查到比较多的数据,数据一多, 就先存储起来, 在进行操作.    所以定义一个数组, 当作临时容器.    而 int 类型, 四个字节,占32个二进制位, 四个二进制位代表一个十六进制位,    所以临时容器长度为 8    */    char[] arr = new char[8];    int pos = 0;    while(num!=0)    {        int temp = num&15;        arr[pos++] = chs[temp];        num = num >>> 4;   // 使用无符号右移    }    // 将结果打印    System.out.println("pos="+pos);    for(int x = pos-1; x>=0; x--)    {        System.out.print(arr[x]);        }}代码改进为任意进制:// 十进制 --\> 十六进制public static void toHex(int num){    trans(num, 15, 4);}// 十进制 --\> 二进制public static void toBinary(int num){    trans(num, 1, 1);}// 十进制 --\> 八进制public static void toOctal(int num){    trans(num, 7, 3);}public static void trans(int num, int base, int offset){    if(num == 0)    {        System.out.println("0");        return;    }    char[] chs = {                   '0','1','2','3','4','5',                   '6','7','8','9','A','B',                   'C','D','E'               };    char[] arr = new char[32]; // 二进制最长    int pos = 0;    while(num != 0)    {        int temp = num & base; // 二进制与 1,八进制与 7,        arr[post++] = chs[temp];        num = num >>> offset; // 二进制右移 1 位, 八进制右移 3 位    }    // 输出结果    for(int x = pos - 1; x>=0; x--)    {        System.out.print(arr[x]);    }    System.out.println(); // 输出完成后,换行}

参考资料:

转载于:https://www.cnblogs.com/linkworld/p/7422468.html

你可能感兴趣的文章
基于http协议的api接口对于客户端的身份认证方式以及安全措施
查看>>
Oracle基础(五)pl/sql进阶(分页过程)
查看>>
Deep Introduction to Go Interfaces.
查看>>
SVG的内部事件添加
查看>>
python
查看>>
Xcode插件优缺点对比(推荐20款插件)
查看>>
IOS-面试题
查看>>
hdu 2055 An easy problem (java)
查看>>
HTML5本地存储——Web SQL Database
查看>>
[异常解决] JTAG 与STM32的SWD连接接线方式
查看>>
webstorm快捷键 webstorm keymap内置快捷键英文翻译、中英对照说明
查看>>
热修改 MySQL 数据库 pt-online-schema-change 的使用详解
查看>>
Android调试优化篇
查看>>
Linux技巧汇总
查看>>
EF框架step by step(8)—Code First DataAnnotations(2)
查看>>
MySQL 若干操作
查看>>
Apache Rewrite规则详解
查看>>
JSON 之JAVA 解析
查看>>
MVC5网站开发之一 总体概述
查看>>
windows编程之菜单操作
查看>>