「java数组中的元素访问」java中如何访问数组中的元素
今天给各位分享java数组中的元素访问的知识,其中也会对java中如何访问数组中的元素进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中如何依次调用数组中的元素
- 2、我写的java程序,,,但是有问题.,请指教!!!!访问对象数组里面的元素!!!!但是总是数组越界,,!!!
- 3、如何访问数组中的元素
- 4、java如何访问全部的数组?
- 5、Java数组有哪些用法
java中如何依次调用数组中的元素
你想调用数组的那个元素就根据他的下标调用下标从0开始比如一维数组 int[] a=new int[]{2,5,7,8}
你要得到5那么就是System.out.println(a[1])
二维的话 int[][] a=new int[3][]{{1,2,3},{4,5,6},{7,8}};就是面了,前面一个一维是行后面是列要想找到五就是System.out.println(a[1][1])
ps:以此类推三维是立体......
我写的java程序,,,但是有问题.,请指教!!!!访问对象数组里面的元素!!!!但是总是数组越界,,!!!
class Student {
int stuNo;
String stuName;
boolean stuSex;
double stuScore;
Student(int stuNo1,String stuName1,boolean stuSex1,double stuScore1){
stuNo= stuNo1;
stuName=stuName1;
stuSex=stuSex1;
stuScore=stuScore1;
}
double exam(){
return 85;
}
}
public class Myclass{
int ID;
String Name;
int count=2;
double average;
Student[] a=new Student[count];
void zhaosheng(){
a[0]=new Student(2,"李四",true,67);
a[1]=new Student(3,"王五",false,90);
}
void avg(){
average=(a[0].stuScore+a[1].stuScore)*1.0/2;
}
public static void main(String[] args) {
Myclass obj=new Myclass();
obj.zhaosheng();
obj.avg();
System.out.println(obj.a[0].stuName);
System.out.println(obj.average);
}
}
//已经给你改正,你可以运行了;
错误原因:
1.不能有两个PUBLIC 类;把public class Student 中的PUBLIC 去掉
2.int count;
double average;
Student[] a=new Student[count];
//count 没有初始化;
如何访问数组中的元素
具体步骤如下:
1、用list来演示,安装好python与pycharm之后,打开pycharm,新建Test_List.py。
2、定义lista=('A','B','C','D','E'),使用len函数来判断数组长度,ALT+F10执行后可以看到结果是5,注意获取列表的值用【数组名+[序号]】,例如想要获取第一个值'A',正确的写法是pirnt(lista[0]),注意中括号,且序号是0,数组是自然数排序,第一个序号是0。
3、通过【数组名+[序号]】可以获取数组里指定位置的元素值,有个前提是【指定位置】必须小于数组长度,以本例来讲,【指定位置】必须小于5,如果大于5,就会报长度错(out of range)。
4、在实际应用中,我们经常碰到复杂的数组,例如Listb={'A':0,'B':1,'C':2,'D':3,'E':4},注意我用的是大括号{},同意获取长度,发现长度仍然是5。
5、复杂数组想要获取正确的结果,指定的位置必须是【数组索引】,例如想要指定A得几分,要用【数组名+索引名】,写法是print(Listb['A']),即可获取数组中的元素。
java如何访问全部的数组?
利用java的反射机制即可实现:
public class obj {
public String[] a = {"a1","a2","a3"};
public String[] b = {"b1","b2"};
}
import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) {
try {
obj o = new obj();
Field arrayA = obj.class.getField("a");
String[] arr1 = (String[])arrayA.get(o);//两步即可获得数组a的对象
System.out.println("数组a长度为:"+arr1.length);
System.out.println(arr1[0]+","+arr1[1]+","+arr1[2]);
Field arrayB = obj.class.getField("b");
arrayB.setAccessible(true);//我也不知道setAccessible是干什么的,但是我在学习的时候发现别人写的示例代码里面就有这个,你可以自行去搜一下用法
String[] arr2 = (String[])arrayB.get(o);
System.out.println("数组b长度为:"+arr2.length);
System.out.println(arr2[0]+","+arr2[1]);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
以下是运行结果截图:
Java数组有哪些用法
数组:是一组相关变量的集合数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组
数据的有点不使用数组定义100个整形变量:int i1;int i2;int i3
使用数组定义 int i[100];
数组定义:int i[100];只是一个伪代码,只是表示含义的(1)一维数组
一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,声明形式一声明一维数组:数据类型 数组名[]=null;非配内存给数组:数组名=new 数据类型[长度];声明形式二声明一维数组:数据类型 [] 数组名=null;
(2)java数据类型分为两大类1.基本数据类型int、long操作的时候本身就是具体的内容引用数据类型:数组、类、接口
引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同时使用
2.事例声明数组
数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度。
基本数据类型偶读有其默认值:int 0;只要是引用数据类型默认值就是null事例
声明数组的同时分配内存空间声明数组的同时非配内存数据类型 数组名[]=new 数据类型[个数]int score[]=new int[10];声明一个元素个数为10的整形数组score,同时开辟依靠内存空间工期使用java中,由于整形数据类型占用的空间为4个byte,而整个数组score可保存的元素有10个。所以上例中占用的内存共有4*10=40个字节
(3)数组的访问
数组中元素的表示方法想要访问数组里的元素可以利用索引来完成,java的数组索引标号由10开始,以一个score[10]的整形数组为例,score[0]代表第一个元素一直向下,最后一个为score[9]
(4)取得数组的长度在java中取得数组的长度(也就是数组元素的长度)可以利用数组名称.length完成,数组名称.length--返回一个int类型的数据
(5)数组的静态初始化之前的数组,所采用的都是动态初始化,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现静态初始化是指在数组声明后直接为数组指定具体的内容如果想要直接在声明的时候给数组赋初始值,可以采用大括号完成,只要在数组的生命格式后面加上初值的赋值即可,数据类型 数组名 []={初始值0,初始值1,初始值3,....初始值n};
范例排序,在操作中排序是比较常用的从大到小
这个时候不要被i值所迷惑 if(score[i]score[j]){
这一步主要知识为了比较,实际上完成之后输出的时候是根据j的值排序的
(6)二维数组
二维数组声明的方式和以为数组的类似,内存分配也一样是用new这个关键字
其实声明与分配内存的格式如下动态初始化数据类型 数组名[][];数组名=new 数据类型[行的个数][列的个数];
声明并初始化数组数据类型 数组名[][]=new 数据类型[行的个数][列的个数];静态初始化
(7)二维数组的存储声明二维数组score 同时开辟一段内存空间int score[][]=new int[4][3];整体数据score可保存的元素是4*3=12个,在java中,int数据类型所占用的空间为4个字节,因此该整形数组占用的内存共为4*12=48个字节事例
(8)二维数组静态初始化
用到的时候才会开辟空间,不用的(红色部分)则不开辟空间多维数组一般只是用到二维数组三维数组简单了解
java数组中的元素访问的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中如何访问数组中的元素、java数组中的元素访问的信息别忘了在本站进行查找喔。