java一维
A. java一维数组问题
1.第12行中arr[i]+" "中System.out.print(arr[i])是什么意思呢?
答:是想把arr[i]的值转化为字符转String类型输出,其实System.out.print(arr[i])可直接输出字符串的,即去掉+“”,也是可以的,
2设置的值为什么是0到9呢?
在第一个for循环中,由arr【i】= i,来赋初值的,初始值即为i的循环制样的,
3.在20行中,arr[i]+" "中”“,同第一个问题。
B. Java中一维数组定义及初始化 int []a; a[]={1,2,3}; 是错的,为什么
如果你熟悉C/C++,Java数组的工作原理与它们不同。Java中的数组是对象,这就意味着与C++中的数组的根本不同.
1、数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用。数组保存的仅仅是对象的引用,而不是对象本身。数组声明的两种形式:一、int[] arr; 二、int arr[]; 推荐使用前者,这是一个int数组对象,而不是一个int原始类型。
2、数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
4、在数组声明中包含数组长度永远是不合法的!如:int[5] arr; 。因为,声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。
5、在数组构造的时候必须指定长度,因为JVM要知道需要在堆上分配多少空间。例:int[] arr = new int[5];
7、一维数组的构造。形如:String[] sa = new String[5]; 或者分成两句:String[] sa; sa = new String[5];
8、原始类型数组元素的默认值。对于原始类型数组,在用new构造完成而没有初始化时,JVM自动对其进行初始化。默认值:byte、short、 int、long--0 float--0.0f double--0.0 boolean--false char--'"u0000'。(无论该数组是成员变量还是局部变量)
10、对象类型的数组虽然被默认初始化了,但是并没有调用其构造函数。也就是说:Car[] myCar = new Car[10];只创建了一个myCar数组对象!并没有创建Car对象的任何实例!
11、多维数组的构造。float[][] ratings = new float[9][]; 第一维的长度必须给出,其余的可以不写,因为JVM只需要知道赋给变量ratings的对象的长度。
12、数组索引的范围。数组中各个元素的索引是从0开始的,到length-1。每个数组对象都有一个length属性,它保存了该数组对象的长度。(注意和String对象的length()方法区分开来)
13、Java有数组下标检查,当访问超出索引范围时,将产生运行时异常。注意,这种下标检查不是在编译时刻进行的,而是在运行时!也就是说int[] arr = new int[10]; arr[100] = 100; 这么明显的错误可以通过编译,但在运行时抛出!
Java中的数组中既可以存储基本的值类型,也可以存储对象。对象数组和原始数据类型数组在使用方法上几乎是完全一致的,唯一的差别在于对象数组容纳的是引用而原始数据类型数组容纳的是具体的数值。在讨论关于数组的问题时,一定要先确定数组中存储的是基本值类型还是对象。特别是在调试程序时,要注意这方面。
C. java一维数组问题
importjava.util.Arrays;
publicclassday2{
publicstaticvoidmain(String[]args){
ints1[]={1,2,3,5,6};
//System.out.println(s1);
//结果:[I@659e0bfd这里输出结果,其实是输出的s1这个对象在内存中的地址,而不是s1里面的内容
for(inti=0;i<s1.length;i++){
System.out.println(s1[i]);//循环输出s1的每个元素
}
//下面这个方法是调用了数组的工具类,进行输出
System.out.println(Arrays.toString(s1));
}
}
D. java 一维数组
import java.util.Scanner;
public class DataArrayDemo{
public static void main(String []args){
int max=0, n, a[];
String[] b;
String s;
Scanner sr=new Scanner(System.in);
n=sr.nextInt();
a=new int[n];
b=new String[n];
for(int i=0; i<n; i++){
System.out.print("第"+(i+1)+"个学生成绩为:");
a[i]=sr.nextInt();
s=sr.nextLine();
System.out.print("第"+(i+1)+"个学生姓名为:");
b[i]=sr.nextLine();
if(a[i]>max)max=a[i];
}
System.out.println("最高分学生成绩为"+max); //修改处
for(int i=0;i<n;i++){
if(a[i]==max)
System.out.println("最高分学生姓名为"+b[i]);
}
}
}
E. JAVA用一维数组做一个示例。
//一维数组
String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组
str[0] = "a"; //赋值
str[1] = "b";
str[2] = "c";
str[3] = "d";
str[4] = "e";
//也可以创建并赋值
String[] str = {"a","b","c","d","e"};
//二维数组
String[][] str = new String[2][2]; //创建一个2行2列的二维数组
str[0][0] = "a0"; //赋值
str[0][1] = "a1";
str[1][0] = "b0";
str[1][1] = "b1";
//也可以创建并赋值
String[][] str = {{"a0","a1"},{"b0","b1"}};
总结:
类型名[]/[][] 变量名 = new 类型名[]/[][];
F. java 一维数组 怎么变二维数组
下面这个程序做到了:
public class Test1 {
public static void main(String[] args) {
int a [] = new int[20];
for (int i = 0; i < a.length; i++) {
a[i] = i;
}
int n = 5;//列
int m = a.length / n;//行
int[][] b = new int[m][n];
int num = -1;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
num++;
b[i][j] = a[num];
}
}
System.out.println("原来的一维数组是:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
System.out.println("转换后的二维数组是:");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(b[i][j] + " ");
}
System.out.println();
}
}
}
G. java:java一维数组和二维数组的定义方法
(一)一维二维数组的定义:
[html]view plain
/*一维数组定义的几种方法:
*int[]x;
intx[];
二维数组定义的几种方法:
int[][]y;
inty[][];
int[]y[];
int[]x,y[];//x一维、y二维
int[]x;
int[]y[];
-----------
a:
x[0]=y;//cuo
b:
y[0]=x;//yes
c:
y[0][0]=x;//cuo
d:
x[0][0]=y;//cuo
e:
y[0][0]=x[0];//yes
f:
x=y;//cuo
*/
packagetest;
publicclasstest{
publicstaticvoidmain(String[]args)
{
inta[][]=newint[3][4];
for(intx=0;x<3;x++)
{
for(inty=0;y<4;y++)
System.out.print(a[x][y]);
System.out.println();
}
}
}
控制台输出结果:
0000
0000
0000
(二)使用二维数组:
[html]view plain
H. java正确的一维数组是哪个
java正确的一维数组是哪个?
选C
I. java一维数组和二维数组的区别
在java中数组被看成是一个对象
在定义数组时,有两种定义方法:int[] a 和int a[];第二种是C/C++对数组定义方式,对于JAVA建议采用第一种定义方式。
1 一维数组的定义
//定义包含三个元素的一维数组
int[] a = new int[3]; a = {1,2,3};//方法1,先new对象,然后赋值
int[] b = {1,2,3}; //方法2,直接赋值
int[] c = new int[]{1,2,3}; //方法3,new后直接赋值,注意不能制定长度
javascript中: String s = new Array("a","b"); 或者 String s = ["a","b"]; 或者 String s = new Array(); s.push("a");s.push("b");
注意:如果用new定义数组时,必须指定其维度,这样定义是错误的: int[] d = new int[];
如果无法确定其元素个数,可以这样定义:int[] e = {};
这样也是错误的: int[] c = new int[3]{1,2,3}; 因为初始化时候已经赋值为0;只能为
int[] c = new int[]{1,2,3};
2 二维数组的定义
//定义一个3行5列的二维数组
int[][] a = new int[3][5];
a = {{"a","a","a","a","a"}, {"b","b","b","b","b"}, {"c","c","c","c","c"} }; //方法1
int[][] b = {
{"a","a","a","a","a"},
{"b","b","b","b","b"},
{"c","c","c","c","c"}
J. java中一维数组的概念
一维数组,就是数组,和C语言里面的数组定义是一样的,初始化的时候
int a[] = new int [10]; //声明专并定义大小(即分配了指属定大小的空间)
int a[] = {1,2,3}; // 声明并初始化,占用空间大小是3个int。
类似这样的就可以了