随笔之Java从数组、类、对象、方法说起
1、{int i=0; int j=i++;}
{int i=0; int z=++i;}
运算过后,j=0;表明i++是指先把i赋值给j然后再自身加1;
运算过后,z=1;表明++i是指先自身加1后赋值给z;
总之记住++号在后面的意思是先赋值然后自身加1;++在前面的是先自身加1后赋值;
2、 在Java中,数组是一个具有相同数据类型数值的索引集合。
它的特点有:
1、数组中各元素的数据类型必须相同
2、数组创建后占用内存地址是连续的一块区域
3、数组一旦定义后长度不能修改
数组的声明: int [] ary;
int ary [];
数组的创建: int [] ary = new int [5];
int [] ary = new int{1,2,3,4,5};
数组本身是一个引用数据类型。
对象数组和基本类型数据唯一的区别就是:对象数组保存的是引用,基本类型数组直接保存基本类型的值。
- 二维数组中,可以有列数不相等的数组。即每一行的列数不同时。我们需要对每一行进行赋值。
-
对于这两种二维数组。我们分别来进行分别举例进行赋值。第一种是:列数相同的数组
其赋值格式如下:
String ClassRoom[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
}
即第一行的人数和第二行的人数相同。
-
第二种:即列数不相等的数组的赋值格式如下:
String ClassRoom[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
{"小雨","小风","小平","小雷"},
{"小单"}
}
看上述例子。对于不同的行,其相应的列数是不同的。
//定义二维数组写法1
class numthree
{
public static void main(String[] args)
{
float[][] numthree; //定义一个float类型的2维数组
numthree=new float[5][5]; //为它分配5行5列的空间大小
numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1
numthree[1][0]=1.2f; // 2行1列=1.2
numthree[2][0]=1.3f; // 3行1列=1.3
numthree[3][0]=1.4f; // 4行1列=1.4
numthree[4][0]=1.5f; // 5行1列=1.5
System.out.println(numthree[0][0]); //打印换行输出喽
System.out.println(numthree[1][0]);
System.out.println(numthree[2][0]);
System.out.println(numthree[3][0]);
System.out.println(numthree[4][0]);
}
}//定义二维数组写法2 定义的同时分配空间大小
class numfour
{
public static void main(String[] args)
{
short[][] numfour=new short[5][8]; //定义一个short类型的数组同时为它分配5行8列的空间大小
numfour[0][7]=10;
numfour[1][6]=20;
numfour[2][5]=30;
numfour[3][4]=40;
numfour[4][3]=50;
System.out.println(numfour[0][7]);
System.out.println(numfour[1][6]);
System.out.println(numfour[2][5]);
System.out.println(numfour[3][4]);
System.out.println(numfour[4][3]);
}
}
//定义二维数组写法3 不规则数组
class numfive
{
public static void main(String[] args)
{
long[][] numfive=new long[5][]; //定义一个long类型的不规则数组
numfive[0]=new long[5]; //为第1行分配5列
numfive[1]=new long[6]; //为第2行分配6列
numfive[2]=new long[7]; //为第3行分配7列
numfive[3]=new long[8]; //为第4行分配8列
numfive[4]=new long[9]; //为第5行分配9列numfive[0][4]=10000000000L; //1行5列=10000000000
numfive[1][5]=20000000000L; //2行6列=20000000000
numfive[2][6]=30000000000L; //3行7列=30000000000
numfive[3][7]=40000000000L; //4行8列=40000000000
numfive[4][8]=50000000000L; //5行9列=50000000000System.out.println(numfive[0][4]); //打印换行输出喽
System.out.println(numfive[1][5]);
System.out.println(numfive[2][6]);
System.out.println(numfive[3][7]);
System.out.println(numfive[4][8]);
System.out.println(numfive[4][7]); //打印输出一个没有定义数组元素的数组 java会自动将他初始化值为0
}
}
//定义2维数组写法4 定义的同时赋初始值
class numsix
{
public static void main(String[] args)
{
double[][] numsix={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};//定义double型的数组分配3行3列的空间同时赋值
System.out.println(numsix[0][0]); //打印换行输出1行1列=1.111
System.out.println(numsix[1][1]); //打印换行输出2行2列=5.555
}
}
//定义2维数组写法5 定义不规则的2维数组同时赋初始值
class numseven
{
public static void main(String[] args)
{
int[][] numseven=new int[][]{{10,20,30},{40,50},{60}};
System.out.println(numseven[0][2]);
System.out.println(numseven[1][1]);
System.out.println(numseven[0][0]);
}
}//定义2维数组写法6 定义不规则的2维数组同时赋初始值;
class numeight
{
public static void main(String[] args)
{
int[][] numeight={{100,200,300,400},{500,600,700,800},{900,1000,1100,1200,1300}};
System.out.println(numeight[0][2]);
System.out.println(numeight[1][2]);
System.out.println(numeight[2][1]);
}
}3、只要类中有一个名为main的方法,那么这个类就可以成为一个能够被JVM调用运行的 Java Application。 不过这个方法有四个必要的声明条件:
1. 声明为public;
2. 必须是类一级的(static) ;
3. 没有返回值(viod);
4. 只有一个String类型的数组当作参数。
这四个条件缺一不可。未完待续。。。。。。