㈠ java类常量和一般常量之间到底有什么区别尼
变量分类
1. 类变量
l 在类定义中使用关键字static修饰的字段
l 在接口声明中使用或者不使用static修饰的字段
说明:当准备好类或接口时就会创建一个类变量并将其初启散镇始化为一个默认值。当卸载类或接口时,就会有效的使类变量停止存在
2. 实例变量
在类声明中不使用关键字static声明的字段
3. 数组元素(未命名的变量)
无论何时创建一个作为数组的新对象,都会创建这些变量并将其初始化为默认值。当数组不在被引用时,就会有效地使数组元素停止存在。
4. 方法参数变量
对于方法声明中声明的每个参数,当调用该方法时,都会创建一个新的掘启参数变量。新变量会用来方法调用的相应的参数值进行初始化。当方法体执行完成时,就会有效地是方法参数停止存在。
5. 构造函数参数变量
对于构造函数中声明的每个参数,每当类实例创建表达式或显示构造函数调用调用该构造函数时,就会创建一个新的参数变量。新变量会用来自创建表达式或构造函数调用的相应的参数值进行初始化。当构造函数体执行完成时,就会有效地使构造函数参数停止存在。、
6. 异常处理程序参数变量
每当悄粗catch语句或者try语句捕获一个异常时,就会创建一个异常处理程序参数。新变量会用与异常关联的实际对象进行初始化。当与catch子句关联的代码块执行完成时,就会有效地使异常处理程序参数停止存在。
7. 局部变量
通过局部变量声明语句声明的变量。局部变量使用前一定要赋值。局部变量不会自动初始化为默认值
8. Final变量
Final修饰的变量,只能被赋值一次,除非在赋值之前明确地取消对fianl变量进行赋值,否则,对final变量赋值,将会引发编译时错误。
变量的初始值
在使用变量值之前,程序中每个变量都必须有一个值:
1. 每个类变量、实例变量或数组元素都会在创建时使用默认值对其进行初始化,以下是java中数据类型与其默认值的对应关系
byte、short、int :0
long :0L
float :0.0f
double :0.0d
char :空字符(即:/u0000)
boolean :false
应用类型 :null
2. 每个方法的参数都会被初始化为方法调用者提供的对应参数值
3. 每个构造函数参数都会被初始化为类实例创建表达式或显示构造函数调用提供的对应参数值
4. 异常处理程序参数将被初始化为抛出一个表示异常的ix
5. 在使用局部变量之前,必须通过初始化或赋值显示地为其赋值,编译器可以使用明确赋值的规则对这种赋值方式ing验证
文章出自CSDN,http://blog.csdn.net/shibenjie/article/details/4331693
㈡ 请教JAVA中数组的正确定义方法
一般来说这是不同语言之间竞争的结果,第二种方法在c语言等面向过程的语言中被广泛的使用,鉴于许多程序员在学习java或者c#时候,都具有部分c的基础,所以这种数组声明的方式被保留了下来。
不过对于java和C#这类面向对象的语言,都推荐使用第一种命名方式,原因很简单,第一,java和c# 把数组当成是对象处理,将数组统一的继承自Array这个类。第二,将方括号表示是数组类型,而写在后方容易与变量的名称相互混淆,鉴于一般程序设计语言的变量的定义结构为:
变量类型 变量名称 赋值运算符 变量名称或者常量参数;
因此采用第一种更有助于理解数组是一种引用的数据类型,而与基本数据类型相互区分。
其实在使用中,可以根据个人喜好来写,sun公司推荐第一种原因在于此。
㈢ java中怎么数组初始化
一维数组
1)
int[] a; //声明,没有初始化
2)
int[] a=new int[5]; //初始化为默认值,int型为0
3)
int[] a={1,2,3,4,5};
//初始化为给定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5};
//错误,如果提供了数组初始化操作,则不能定义维表达式
5)
int[] a;
a=new int[5]; //正确,同(2)一样
int[] a;
a={1,2,3,4,5}; //错误数组常量只能在初始化操作中使用,如(3)
6) int a[];
a[0]=1;
//错误,因为数组没有初始化,不能赋值a[1]=2; 二维数组
1)
int[][] a;
//声明,没有初始化
2) int[][] a=new int[2][3];
//初始化为默认值,int型为0
3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化为给定值
int[][] a={{1,2},{2,3},{3,4,5}};
//没有错,数组空间不是连续分配的,所以不要求每一维的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其实就是一个数组a[1]=new int[4];
//每一维的大小可以不一样
;
5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)
㈣ java中的数组语法是什么
数组定义:类型[] xxx; 类型 a[];
如:int[] ary = new int[5]; int ary2[] = new int[7];
数组定义的时候必须指定后面的长度.
数组元素引用:数组[index]; ary[0] ~ ary[ary.lenth-1]
数组下标从0开始,丛长度-1结束
㈤ java里定义常量为什么都是一些简单的字符串
一、关键字
关键字:被Java语言赋予特定含义的单词。组成关键字的字母全部小写。注:goto和const作为保留字存在,目前并不使用。main并不是关键字。
注:引用类型中还有一种特殊的null类型。所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是Java中没有指针这个说法。
㈥ java中数组的长度可以用普通变量而不必须是常量是么
是的。
在Java中,可以使用变量定义数组。
int size=100;
int[] num = new int[size];
这是可以的;
但是在C/C++,这样是不可行的,除非加const
㈦ 在java中如何定义一个字符串数组
1. java中定义一个字符串数组方式如下,string类型和其他基本类型相似,创建数组有两种方式:
String[] str={"AAA","BBB","CCC"};
String str[]={"AAA","BBB","CCC"};
2.推荐用ArrayList<String> strArray = new ArrayList<String> (); 比较灵活。
3.也可以写为如下格式:class[] array; array = new class[number];其中前半句为声明,后半句为初始化,初始化必须要让编译器知道大小,声明的时候java是不分配内存的,只有创建的时候也就是new的时候才会分配内存。
1.数组是相同数据类型的元素的集合。
2.数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
3.数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。
4.对于VB的数组,表示数组元素时应注意:下标要紧跟在数组名后,而且用圆括号括起来(不能用其他括号)。下标可以是常量,变量,或表达式,但其值必须是整数。下标必须为一段连续的整数,其最小值成为下界,其最大值成为上界。不加说明时下界值默认为1。
㈧ 请问如何定义数组的长度为任意
数组类型说明 在C语言中使用数组必须先进行类型说明。
数组说明的一般形式为:
类型说明符 数组名 [常量表达式],……
其中,类型说明符是任一种基本数据类型或构造数据类型。 数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。
例如:
int a[10]; 说明整型数组a,有10个元素。
float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。
char ch[20]; 说明字符数组ch,有20个元素。
对于数组类型说明应注意以下几点:
1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
2.数组名的书闹搏写规则应符合标识符的书写规定。
3.数组名不能与其它变量名相同,例如:
void main()
{
int a;
float a[10];
……
}
是错误的。
4.方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。
5.不能在方括号中用变量来表示元素的个数, 但是可以是符号常数或常量表达式。例如:
#define FD 5
void main()
{
int a[3+2],b[7+FD];
……
}
是合法的。但是下述说明方式是错误的。
void main()
{
int n=5;
int a[n];
……
}
6.允许在同一个类型说明中,说明多个数组和多个变量。
例如: int a,b,c,d,k1[10],k2[20];
----------------------------------------------------------------------------------------------------
在JAVA中定义数组:
int[] x; 定义
x=new int[10]; 初始化
java程序中定义数组的操作与其他语言相比有一定的差异,一般说来创建一个java数组需要下面三个步骤。
1、声明数组
声明数组侍裤主要是声明数组的名称和数组所包含的元素的数据类型或元素的类名。声明数组的语法格式有两种。
数组元素类型 数组[ ];
数组元素类型[ ] 数组名;
方括号--是数组的的标志,它可以出现在数组的后面,也可以出现在数组元素类型的后面,两种定义方法没有什么差别。下面老弯简的例子分别声明了一个整数的数组和一个D200_Card类型的数组:
int MyIntArry[ ];
D200_Card[ ]ArryOf200Card;
2、创建数组空间
声明数组仅仅指定了数组的名字和数组元素的类型,要想真正使用数组还需要位它开辟内存空间,即创建数组空间。与多数语言一样,java不支持变长的数组,所以在创建数组空间时必须指明数组的长度,已确定所开辟的内存空间的大小。创建数组空间的语法格式为:
数组名=new 数组元素类型[数组元素的个数]
上面声明的两个数组可以这样创建空间:
MyIntArray=new int[10];
ArrayOf200Caed=new D200_card[15];
创建数组空间的工作也可以与声明数组合在一起,用一条语句完成。例如:
int MyIntArray[]=new int[10];
D200_Card[]ArrayOf200Card=new D200_Card[15];
对于数组元素类型是基本数据类型的数组,在创建数组空间的同时,还可以同时给出各数组元素的初值,这样可以省略创建空间的new算符。例如:
int MyIntArray[]={1,2,3,4,5,6,7,8,9,10};
这个语句创建了一个包含10个整型元素的数组,同时给出了每个元素的初值。
3、创建数组元素并初始化
如果数组元素的类型是基本数据类型,那么这第三步骤可以自行省略。因为基本数组类型量都有缺省的初值,可以没有专门的创建和初始化数组元素的语句。例如上面的数组MyIntArray[],如果不专门制定初值,那么创建之后,它的每个数组元素都被自动赋值为0,不必再加后续步骤。
对于以某一类对象为数组元素的数组,创建并初始化每个数组元素的步骤却是必不可少的。例如上面的数组ArrayOf200Card,它的每个元素都是一个D200_Card类的对象,在创建对象的同时必须要执行对象的构造函数。例如,D200_Card类的对象的构造函数为:
public D200_Card(long cn,int pw,double b,String c,double a){
cardNumber=cn;
password=pw;
balance=b;
connectNumber=c;
additorFee=a;
}
可见每创建一个D200_Card类的对象,都必须执行这个类的构造函数并给出相应的实际参数来初始化新对象的内部各个属性变量或对象,所以对于数组ArrayOf200Card中的每个元素,必须用一条专门语句来实现创建该元素和执行构造函数初始化该元素的工作,一般用如下的循环完成。
for (int i=0;i<ArrayOf200Card.length;i=i++){
ArrayOf200Card[i]=
new D200_Card(200180000+i,1111,50.0,"200",0.1);
}
这个循环执行的结果将为从ArrayOf200Card[0]到ArrayOf200Card[14]的所有数组元素开辟并分配内存空间。语句中使用的ArrayOf200Card.length是数组ArrayOf200Card的一个整型域,里面保存着数组元素的个数,用来作为循环终止条件非常合适。
㈨ 写出数组定义的几种方式,数组是说明类型的吗(数据类型 值类型 JAVA中有ref关键字吗)
java有ref的
int[] a={5,4,3,2,1}
int[5] a=;
int[] a=new int[5];
㈩ Java中的函数'常量'数组都是啥意思啊'本人学历低'求详细讲解'不要讲的太专业'听不懂
常量:意义上与变量唯一的区别就是初始化之后不能再更改,一些定值通常设置为常量,程序中多处用到这个常量的时候,就不必每次都输入实际值了,而且当你希望修改这个定值的时候(这里指初始化的时候),不必到程序中各个地方去修改,只需要修改这悔迅郑个常量的初始值就可以达到目的。
数组:一般昌粗来碧颂说是同一类数据类型的数据集合,由数组+索引的方法访问数组中各值,也有些数组可以存储不同类型的数据,比如javaScript里的数组。