首页 新闻 会员 周边

java 基础语法解惑?

0
悬赏园豆:5 [已解决问题] 解决于 2015-01-28 11:43

return final int age = 22;

代码如上,编译报错:非法的表达式开始,为什么?

TNT0301的主页 TNT0301 | 初学一级 | 园豆:173
提问于:2015-01-27 14:31
< >
分享
最佳答案
0

因为这样写就是错的!首先,你的return用法就用错了,其次,final int age = 22这是在声明一个变量age,它的值是22,你可以返回他的值(如 return age),也可以利用他的值参与到某表达式的运算,但是不能返回声明语句!

return的用法如下:

return XXX;//XXX可以是某方法的引用、可以是一个表达式、也可以是一个引用的值

eg:

1、返回值引用

public int test1(){
final int age = 22;
return age;
}

2、返回表达式结果

public boolean test2(){

final int age = 22;
return age ==22;//利用age参与到表达式运算,并返回表达式运算结果

}

收获园豆:5
OwnSail | 菜鸟二级 |园豆:207 | 2015-01-27 16:43
其他回答(2)
0

 看书~~~

幻天芒 | 园豆:37175 (高人七级) | 2015-01-28 08:44
0

在Java中,变量声明和初始化应该在方法体或代码块中进行,而不是直接作为类的成员变量进行声明和初始化。在你的代码中,final int age = 22;直接在类中进行了声明和初始化,这是不允许的,因此编译器会报错"非法的表达式开始"。

要解决这个问题,你可以将变量声明和初始化放在方法体中,或者在构造方法中进行声明和初始化。下面是修改后的示例代码:

public class Example {
    public void someMethod() {
        final int age = 22;
        // 其他代码
    }

    public Example() {
        final int age = 22;
        // 其他代码
    }
}

请注意,如果你想在类中使用一个常量(不会改变的值),可以使用static final修饰符来声明该变量,并在类的成员变量位置初始化。这样的常量将在类加载时进行初始化,并且可以在整个类中使用。但是,如果你的目标是在方法内部声明和初始化一个局部变量,你需要将其放在方法体或代码块中。

小九九呀 | 园豆:383 (菜鸟二级) | 2023-07-21 14:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册