一、大数据

如果基本的整型和浮点型精度不能够满足需求,那么可以使用java.math包含中的两个类:BigInteger和BigDecimal。

这两个类处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整型运算,BigDecimal实现了任意精度的浮点数运算。

使用静态的valueOf方法可以讲欧通的数值转换为大数据:

BigInteger a=BigInteger.valueOf(700);

还有,人们不能用加(+)或减(-)等来处理大数值。而必须用类中的add和multiply方法。

BigInteger c=a.add(b);//c=a+b

BigInteger d=c.multiply(b.add(BigInteger.valueOf(2)));//d=c*(b+a)

二、数组

数组是一种数据结构,用来储存同一类型值的集合

1.声明了一个整型数组a:    int [] a;

2.创建数组a:    int [] a=new int[100];

 import java.util.Arrays;
public class Test2 {
public static void main(String[]args){
int [] a=new int[]{5,-1,-88,2,4,44,12,-90};
Arrays.sort(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
 public class Test1 {
public static void main(String[]args){
int [] a={5,-1,-88,2,4,44,12,-90};//用冒泡的方法把它由小到大的排序
sort(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}//函数执行完,再数一遍
}
static void sort(int[]a){
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++)
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
/*如果上面i<a.length-1和j<a.length-1-i都填上等号变成 i<=a.length-1和j<=a.length-1-i
* 则会发生脚标越界异常的情况,如下:
* Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
*/

注意:

* 创建一个数组时,所有元素都初始化为0;

* boolean数组的元素会初始化为false;

* 对象数组的元素则初始化为一个特殊值null,这表示这些元素还未存放任何对象。(比如:for(int i=0;i<100;i++)names[i]="";

三、数组的拷贝

要使用Arrays类的copyOf方法:

int [] a=Arrays.copyOf(a,a.length);

四、多维数组

多维数组将使用多个下标访问数组元素,它适用于表示表格或更复杂的排列形式。

格式类似如下:

int [] [] a={{.......},{.......},{.......},{.......},{.......}}

提示:如果想要打印一个二维数组的数据元素列表,可以调用:

System.out.println(Arrays.deepToString(a));

输出格式为:

[[1,2,3,3],[4,5,7,65],[7,5,7,8]]

例子:

 /*This program show how to store tabular data in a 2D array.
* @version 1.40 2004-02-10
* @author Cay Horstmann
*/
public class CompoundInterest {
public static void main(String[] args) {
final double STARTRATE = 10;
final int NRATES = 12;
final int NYEARS = 10; double[] interestRete = new double[NRATES];
for (int j = 0; j < interestRete.length; j++)
interestRete[j] = (STARTRATE + j) / 100.0; double[][] balances = new double[NYEARS][NRATES];
for (int j = 0; j < balances[0].length; j++)
balances[0][j] = 120000; for (int j = 1; j < balances.length; j++) {
for (int j1 = 0; j1 < balances[j].length; j1++)
{
double oldBalance = balances[j-1][j1]; double interest = oldBalance * interestRete[j1];
balances[j][j1] = oldBalance + interest;
}
}
for (int j = 0; j < interestRete.length; j++)
System.out.printf("%9.0f%%",100*interestRete[j]);
System.out.println();
for (double[] row : balances) {
for (double b : row)
System.out.printf("%10.2f", b);
System.out.println();
}
}
}

打印结果:

五:不规则数组

例子:

 /**
* This program demonstrates a triangular array.
*
* @version 1.20 2004-02-10
* @author Cay Horstmann
*/
public class LotterArray {
public static void main(String[] args) {
final int NMAX = 10; int[][] odds = new int[NMAX + 1][];
for (int n = 0; n <= NMAX; n++)
odds[n] = new int[n + 1]; for (int n = 0; n < odds.length; n++)
for (int k = 0; k < odds[n].length; k++) {
int lotteryOdds = 1;
for (int i = 1; i <= k; i++)
lotteryOdds = lotteryOdds * (n - i + 1) / i;
odds[n][k] = lotteryOdds;
}
for (int[] row : odds) {
for (int odd : row)
System.out.printf("%4d", odd);
System.out.println();
}
} }

打印结果:

Java基础——数组的更多相关文章

  1. Java基础——数组应用之StringBuilder类和StringBuffer类

    接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...

  2. java基础-数组的折半查找原理

    java基础-数组的折半查找原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让你写一个数组的查找功能,需求如下:在一个数组中,找一个元素,是否存在于数组中, 如果存在就返回 ...

  3. Java基础-数组常见排序方式

    Java基础-数组常见排序方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 数据的排序一般都是生序排序,即元素从小到大排列.常见的有两种排序方式:选择排序和冒泡排序.选择排序的特 ...

  4. 《Java基础——数组的定义与使用》

    Java基础--数组的定义与使用       一. 一维数组: 格式一: 数组类型 数组变量[]=new 数据类型[长度]; //需要后续赋值,且后续赋值时只能为单个元素赋值. 或 数组类型 数组变量 ...

  5. Java基础——数组Array

    一.数组基本概念 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组有三 ...

  6. Java基础--数组(Arrays)

    数组(Array),是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理.本篇博客是对Java基础中的数组进行详细说明. 目录: 数组的概述 一维数组 ...

  7. java基础---数组的基本概念(1)

    学习资源来自尚硅谷java基础学习 1. 数组的概念 数组(Array), 是多个相同类型数据按一定顺序排列的集合, 并使用一个名字命名, 并通过编号的方式对这些数据进行统一管理. 数组属于引用数据类 ...

  8. JAVA基础——数组详解

    学习JAVA中数组的使用 一.什么是数组? 问:编写代码保存 4 名学生的考试成绩. 答:简单啊,定义 4 个变量呗 问:那"计算全年级 400 名学生的考试成绩",肿么办 答: ...

  9. Java基础——数组复习

    数组是一个变量,存储相同数据类型的一组数据 声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间 数组长度固定不变,避免数组越界   数组是静态分配内存空间的,所 ...

  10. Java基础——数组应用之字符串String类

    字符串String的使用 Java字符串就是Unicode字符序列,例如串“Java”就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准Java类库中提供了一 ...

随机推荐

  1. 深入理解Aspnet Core之Identity(5)

    主题 本篇我将会介绍验证用户的机制当账户被创建的时候,同样 这个过程主要有IUserValidator这个接口来实现的,和密码验证一样Identity同样也内置已经实现好的账户验证.账户验证的比较简单 ...

  2. wpf根据X与Y轴获取内部值

    效果图: 环境 Visual Studio ,.Net Framework 4.0 SDK 支持Windows XP,Windows Win7.. 实现方法: 创建ListBox设置ListBox.I ...

  3. 开源 PetaPoco 扩展~一个小型轻巧的ORM~

    PetaPoco http://www.toptensoftware.com/petapoco/ |PetaPoco is a tiny, fast, single-file micro-ORM fo ...

  4. CE修改器使用教程 [基础篇]

    Cheat Engine  是一款内存修改编辑工具 ,它允许你修改你的游戏或软件内存数据,以得到一些其他功能.它包括16进制编辑,反汇编程序,内存查找工具.与同类修改工具相比,它具有强大的反汇编功能, ...

  5. BZOJ 5194--[Usaco2018 Feb]Snow Boots(STL)

    5194: [Usaco2018 Feb]Snow Boots Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 81  Solved: 61[Submi ...

  6. XSS钓鱼某网约车后台一探究竟,乘客隐私暴露引发思考

    i春秋作家:onls辜釉 最近的某顺风车命案,把网约车平台推上了风口浪尖,也将隐私信息管理.审查的讨论面进一步扩大.这让我不禁联想起自己今年春节的遭遇,当时公司放假准备回家过年,我妈给我推荐了一个在我 ...

  7. 【flex】学习笔记/总结

    CSS3 flex布局 查看兼容情况: caniuse.com 盒子模型: content-box:平时普通盒子模型,padding/border 会使盒子变大 向外扩展 border-box:盒子模 ...

  8. Python--CSV模块

    CSV csv文件格式是一种通用的电子表格和数据库导入导出格式 简介 Python csv模块封装了常用的功能,使用的简单例子如下: 写入 # 写入csv文件 import csv csvfile = ...

  9. python2和3的区别 高清大图:)

    点击图片,新标签中打开查看!或右键‘图片另存为’!

  10. Linux命令对应的英文全称

    su:Swith user  切换用户,切换到root用户cat: Concatenate  串联uname: Unix name  系统名称df: Disk free  空余硬盘du: Disk u ...