数组和函数方法

数组:是一个具有相同类型的数据值的索引集合

数据类型[]变量名=new 数据类型[数组长度];

定义一个长度为五的整数数组:int [] a=new int[5];

直接初始化数据:int []a={      };

数据长度:a.length

注意:数组只能是一种类型

数组定以后分配了连续的内存空间

数组下标从0,开始到数组长度-1

数组下标不能为0,也不能为小数

数组长度只能是整数,不能是长整形数字

数组声明定义后长度无法改变

数组应用:生成五个不相同的两位数,并按从小到大的顺序排列

考(下标不重复性,并依次增大)

int a[]=new int[36];
int count=0;
while(count<5){

int num=(int)(Math.random()*35+1);
if(a[num]==0){
a[num]=1;
count++;
}
}

for (int i = 0; i < a.length; i++) {
if(a[i]==1){
System.out.print(i<10?"0"+i+" ":i+" ");
}
}

冒泡排序

int a[]={3,5,1,7,4,2};
//冒泡排序
for (int i = 1; i < a.length; i++) {
for (int j = 0; j < a.length-i; j++) {
if(a[j]>a[j+1]){
int x=a[j];
a[j]=a[j+1];
a[j+1]=x;
}
}

}

for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}

二维数组

int a[][]=new int[10][5];

意思:建立了一个长度为10的数字组记作a[];然后在a[i]每一项中又生产了一个5个长的数组记作a[][]

特殊情况: int a[][]={

{1,2,3,4,5,6}

{4,7,8,9,9}

{1,3,5}

}直接赋值内层数组长度可变化

int a[][]=new int [10][5];

for (int i = 1; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
a[i][j]=10;
}
}

建立一个200长的数组。存放两位数(随机)
找出所有未出现的的数字
找出出现过的数字,并计数
int a[]=new int[200];
int b[]=new int[100];
for (int i = 0; i < a.length; i++) {
a[i] =(int)(Math.random()*90+10);
}
for (int i = 0; i < a.length; i++) {
b[a[i]]++;//b[i]初始值为0,用来计数
}
System.out.println("所有没出现过的数字");
for (int i = 10; i < b.length; i++) {
if(b[i]==0){
System.out.print(i+" ");
}
}
System.out.println();
for (int i = 10; i < b.length; i++) {
if(b[i]>0){
System.out.println(i+"出现的次数"+b[i]);
}
}

函数方法:

public static int add(int a,int b){
return a+b;
}
public static double chu(int a,int b){
if(b==0){
return 0;
}
else{
return a/b;
}
}public static void main(String[] args) {

int n= add(3,8);
System.out.println(n);
double n1= chu(17,3);
System.out.println(n1);

}

传递相关知识

public static void shuzu(int a[]){
for (int i = 0; i < a.length; i++) {
a[i]=(int)(Math.random()*90+10);
}
}

public static void main(String[] args) {
int a[]=new int[10];
shuzu(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");

}
}

简单类型的变量知识传递变量的值,而不是传地址;这是最基础的值传递

对于(引用)类型的变量传递的也是值,但是这个值得内容是一个地址

因此虽然说在java中他依然叫传递,但因为是地址,所以在接收的方法中可能会改变索引类型变量的数据值

时间: 2024-10-12 03:06:50

数组和函数方法的相关文章

函数指针与函数指针数组的使用方法

转自:http://blog.csdn.net/feitianxuxue/article/details/7300291 函数指针与函数指针数组的使用方法 函数指针: 函数指针包含函数在内存中的地址.数组名实际上就是数组的第一个元素在内存中的地址,类似地,函数名实际上也是执行这个函数任务的代码在内存中的起始地址. 函数指针可以传递给函数.从函数返回.保存在数组中.赋予另一个函数指针或者调用底层函数. 下面我们用数值算法accumulate讨论下函数指针的用法.accumulate是一种常用的ST

HP数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法

这两个函数比较简单,我这里直接写例子,但是有一点一定要注意,json数据只支持utf-8格式,GBK格式的数据转换为json会报错! json_encode()用法: <?php$data =array(‘name’=>’jianqingwang’,‘sex’=>’man’,‘title’=>’PHPER’,‘location’=>’XiaMen’); $new_data =json_encode($data); var_dump($data);echo “<br>

数组的函数(方法)

数组的函数(方法)☆ echo count($attr);//获取数组元素的个数☆ in_array();//判断某一个元素是否在数组里面 var_dump(in_array("aaaa",$attr));//在就返回true,不存在就是false ☆array_reverse($attr);//反转数组var_dump($attr); ☆array_unique($attr);//对数组元素进行去重var_dump($attr); ☆unset($attr["two&quo

二维数组作为函数参数的几种方法

#include <stdio.h> #define N 5 void fun1(int a[N][N]) { int i,j; for (i=0;i<N;i++) { for (j=0;j<N;j++) { if (i>j) { a[i][j]+=a[j][i]; a[j][i]=0; } } } } void fun2(int **a,int m,int n) { int i,j; for (i=0;i<m;i++) { for (j=0;j<n;j++) {

声明数组变量/// 计算所有元素的总和/打印所有元素总和/输出/foreach循环/数组作为函数的参数/调用printArray方法打印

实例 下面是这两种语法的代码示例: double[] myList; // 首选的方法 或 double myList[]; // 效果相同,但不是首选方法 创建数组 Java语言使用new操作符来创建数组,语法如下: arrayRefVar = new dataType[arraySize]; 上面的语法语句做了两件事: 一.使用dataType[arraySize]创建了一个数组. 二.把新创建的数组的引用赋值给变量 arrayRefVar. 数组变量的声明,和创建数组可以用一条语句完成,如

C语言 数组做函数参数不传数组个数的遍历方法

//数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void PrintfAK(char **pin){ int i = 0; //关键点:pin[i]!=NULL为终止条件 for (i = 0; pin[i]!=NULL; i++) { printf("%s\n", pin[i]); } } void main(){ //赋值数组最后一个元素是0

C++_二维数组作为函数参数的使用方法

二维数组作为函数参数的使用方法 /*01)恒等式:ar2[r][c] == *(*(ar2+r)+c)03) ar2+r指向编号为r的元素,该元素由c个int型(或其他类型)数组成,编号从0开始02)int a[100][4]; ....   int total = sum(a,100); //在主函数中调用sum()函数,使用二维数组中的全部的数据   int total = sum(a,10); //在主函数中调用sum()函数,使用二维数组中的前十行数据   int total = sum

给字符数组赋值的方法

main() { char s[30]; strcpy(s, "Good News!"); /*给数组赋字符串*/ . . . } 上面程序在编译时, 遇到char s[30]这条语句时, 编译程序会在内存的某处留 出连续30个字节的区域, 并将第一个字节的地址赋给s.当遇到strcpy( strcpy 为 Turbo C2.0的函数)时, 首先在目标文件的某处建立一个"Good News!/0" 的字符串. 当中/0表示字符串终止, 终止符是编译时自己主动加上的,

数组、函数

数组 一组数据的有序集合! 格式: str[1,2,3,4,5]中括号括起来 里面的数据排列是从0开始数起 数组长度的方法: 数据的变量名.length 数组的长度与数组最大下标之间关系 数组最大下标=数组的长度-1 函数 函数是为了实现某个功能的代码段,代码段指函数体."注册模块.登录模块" 如何定义函数?定义函数后一定要记得调用函数 格式: function 函数名(参数1,参数2,参数n){ //函数体 } return关键字 1.当函数体里面遇到return关键字以后 那么它下