
正文
java代码块传递 java程序块
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java常见代码块的作用与区别
1. 局部代码块
作用在方法当中,作用是控制变量的生命周期:
public void show(){
{
System.out.println("局部代码块运行!");
}
}123456
在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间。因此就有了局部代码块。
2. 构造代码块
作用在类的定义Body中,作用是给类的部分字段统一初始化:
public class Apple {
private String size;
//构造代码块
{
System.out.println("构造代码块运行!");
size = "E";
}
}
12345678910
构造代码块与构造函数的区别是:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会先执行相同的构造代码块。也就是说,构造代码块中定义的是不同对象共性的初始化内容。所以理所当然的,构造代码块在构造函数之前执行。
3. 静态代码块
作用有两个:
(1)给类的静态变量赋值;
(2)声明静态变量;
作用在类的Body中,对类中的静态变量初始化:
public class APP {
static int x, y; // 静态变量
static {
x = 5; // 给静态变量x赋值
}
public static void myMethod() {
y = x++ + ++x; // x++ 先使用x的值再加1;++x先加1再使用x的值
}
public static void main(String[] args) {
x--;
myMethod();
System.out.println(x + y + ++x);
}
}
输出:23
相关问答
Q1: Java代码传递值的问题
public static void main(String[] args) {
int a[][] = new int[4][5];//定义4*5的二维数组
int i,j,k = 0;
for(i = 0;i 4;i++)
for(j = 0;j 5;j++){
a[i][j] = k;//两层循环给数组赋值,赋值顺序:i=0时,j从0到4,a[0][0]=0,a[0][1]=1,a[0][2]=2,a[0][3]=3,a[0][4]=4到此外层完成了一次循环,
k++;//i=1时,j从0到4,a[1][0]=5,a[1][1]=6,a[1][2]=7,a[1][3]=8,a[1][4]=9外层完成第二次循环。外出后两次循环以此类推。赋值完成是k值等于4*5-1=19
}
for(i = 0;i 4;i++){
for(j = 0;j 5;j++)
System.out.print(a[i][j]);//循环打印,每次当j=4时换行
System.out.println();
}
}
Q2: 怎么将js获取的值传递给当前页面中的java代码块
你只能用ajax实现了:
1. js接收到值
2. 用ajax把这个值提交给一个js页面
3. 页面开始执行
然后最后根据需要,刷新当前页面
Q3: java 引用传递代码
先和你说吧。str1和str2
都是引用类型java代码块传递,在栈中,里面存放
内存地址。str1就是指向"hello"
string是引用类型。
public
static
void
fun(string
str2)这句中传的是一个
str2的地址。这个地址也就是
str1中存的的地址。
现在在
栈中有两个
引用
str1
和str2
。都是指向
常量池中的"hello"...
str2="mldn";你的这句代码是
把
str2
指向常量池中的"mldn"
并没有修改str1的值。
三楼在忽悠人,别听java代码块传递他的
java代码块传递的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java程序块、java代码块传递的信息别忘了在本站进行查找喔。








