php二维数组使用定义类,二维数组的定义和分类 - young_chen的个人空间 - OSCHINA - 中文开源技术交流社区...

最近写健康评估功能,遇到数组数据的处理,发现很多未知的东西,故对用到的东西做一个总结。

数组的定义。

int[] a = new int[] {1,2,3,4};//方式一

int b[] = new int[] {1,2,3,4};//方式二 与方式一效果一样,只是写法不一样

int[] c = new int[5];//方式三确定数组的长度,数组元素的值用动态赋值

c[0] = 1;

c[1] = 2;

int d = 6;

String[] str = new String[d]; //方式四 数组的个数动态确定,在数组长度不确定,但是又有一个标准的时候使用

2.数组的分类。

只要是基本数据类型都可以创建对应数组,只是数组中只能存放对应类型的数据。

byte[] by = new byte[1024];//字节类型,主要用于文件和图片输入输出流

int[] in = new int[5];//整型数组

float[] fl = new float[5];//单精度类型

double[] dou = new double[5];//双精度类型

long[] lon = new long[5];//长整型

String[] string = new String[10];//字符串类型

3.数据使用。

(1)数组遍历。

int sums = 0;

for(int i = 0;i < in.length;i ++) {

sums += in[i]; //对数组中的元素求和

}

(2)查找和搜索。   (来自百度)

//选择排序对数据进行升序排序(int)

public static void selectSortAscendingArray(int[] arr){

for(int i = 0; i

for(int j = i+1;j

if(arr[i]>arr[j]){

int temp = arr[j];

arr[j] = arr[i];

arr[i] = temp;

}

}

}

}

//冒泡排序对数据进行降序排序(int)

public static void bubbleSortDescendingArray(int[] arr){

for(int i = 0;i

for(int j = 0;j

if(arr[j]

int temp = arr[j+1];

arr[j+1] = arr[j];

arr[j] = temp;

}

}

}

}

//冒泡排序对数据进行升序排序(int)

public static void bubbleSortAscendingArray(int[] arr){

for(int i = 0;i

for(int j = 0;j

if(arr[j]>arr[j+1]){

int temp = arr[j+1];

arr[j+1] = arr[j];

arr[j] = temp;

}

}

}

}

//二分查找(int)

public static int binarySearch(int[] arr,int key){

int min,mid,max;

min = 0;

max = arr.length-1;

while(arr[min]

mid = (min+max)/2;

if(key>arr[mid]){

min = mid+1;

}else if(key

max = mid-1;

}else {

return mid;

}

}

return -1;

}

4.数据类型的转换

(1)double类型转int类型

double e = 3.9;

double i = 3.1;

int f = (int) e;//强制转换,小数部分全部舍去。 结果是3

int g = (int) Math.floor(e); //向下取整,再强制转换。-把小数部分取整了再去掉强制转换。结果是3

int h = (int) Math.round(e); //先对小数四舍五入,再取整。结果是4

int j = (int) Math.ceil(i);//向上取整,只要有小数就加一。结果是4

(2)类型转换精度损失问题

338fa5ab09fdd10468cfdf6b092bc1f7.png

(3)String类型的数组转double类型

String score = records.getString("scores");

String[] sc = score.split("##");

double[] sco = new double[sc.length];

if(sc.length > 0) {

for(int i = 0;i< sc.length;i++) {

sco[i] = Double.parseDouble(sc[i]);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值