1. java 编程中为何创建变量后需要初始化
java是类型安全语言。java语言的这个设计来自这个想法:
一个变量在没有值之前是不能用它或准确的说不能读其值的,因为没有值,对它进行运算没有意义。因此,做个内置规定
在创建变量在使用前必须初始化,从而帮java程序员避免问题。
2. java中变量的初始化和赋值
首先 初始化的概念就是给变量赋了初始值
当然程序运行中 变量的值会产生版变化 因此权 变量可以赋值
在本程序当中有一个全局变量 i 他的声明周期是这个类
在hello方法得到执行的时候 i 会被赋值
我不明白你的意思
这是两个过程
类的构造方法是专门用来初始化参数的
方法中的行为是在方法被调用的时候才发生的
3. java for循环第一个表达式为何不能在循环外初始化
可以啊,这里是你的 a; 这个语句错了。这个不算语句当然报错了。
for的第一个;前通常用来初始化的。当然可以放在for外面来初始化。例如:
int a;
for(;a<3;a++){System.out.println(a);}
4. java中关于变量的初始化问题
1是申明了一个abc
数据类型的变量,并实例化。初始值为null。可以使用。
2是申明一个abc
数据类型的变量,没有实例化,赋值null。为空。不能使用,试用前必须实例化,不然报空指针异常。
3同上,意思差不多。默认本来就是为null的~~
5. Java 变量到底要如何初始化
不同的变量初始化方法不同。
变量包括:
类的属性,或者叫值域
方法里的局部变量
方法的参数
对于第一种变量,Java虚拟机会自动进行初始化。如果给出了初始值,则初始化为该初始值。如果没有给出,则把它初始化为该类型变量的默认初始值。
int类型变量默认初始值为0
float类型变量默认初始值为0.0f
double类型变量默认初始值为0.0
boolean类型变量默认初始值为false
char类型变量默认初始值为0(ASCII码)
long类型变量默认初始值为0
所有对象引用类型变量默认初始值为null,即不指向任何对象。注意数组本身也是对象,所以没有初始化的数组引用在自动初始化后其值也是null。
对于两种不同的类属性,static属性与instance属性,初始化的时机是不同的。instance属性在创建实例的时候初始化,static属性在类加载,也就是第一次用到这个类的时候初始化,对于后来的实例的创建,不再次进行初始化。这个问题会在以后的系列中进行详细讨论。
对于第二种变量,必须明确地进行初始化。如果再没有初始化之前就试图使用它,编译器会抗议。如果初始化的语句在try块中或if块中,也必须要让它在第一次使用前一定能够得到赋值。也就是说,把初始化语句放在只有if块的条件判断语句中编译器也会抗议,因为执行的时候可能不符合if后面的判断条件,如此一来初始化语句就不会被执行了,这就违反了局部变量使用前必须初始化的规定。但如果在else块中也有初始化语句,就可以通过编译,因为无论如何,总有至少一条初始化语句会被执行,不会发生使用前未被初始化的事情。对于try-catch也是一样,如果只有在try块里才有初始化语句,编译部通过。如果在catch或finally里也有,则可以通过编译。总之,要保证局部变量在使用之前一定被初始化了。所以,一个好的做法是在声明他们的时候就初始化他们,如果不知道要出事化成什么值好,就用上面的默认值吧!其实第三种变量和第二种本质上是一样的,都是方法中的局部变量。只不过作为参数,肯定是被初始化过的,传入的值就是初始值,所以不需要初始化。
6. java中for循环怎么定义两个变量
intb=9,a=1;
for(a,b;a<=9&&b>=1;a++,b--){
for(inta=1;a<=9;a++){
System.out.println(b+"*"+a);
}