在JAVA中全局变量怎么声明与定义?全局变量声明与定义代码分析!

猿友 2021-07-07 14:35:22 浏览数 (8922)
反馈

我们都知道既然有前端语言就有后端语言,那么我们今天就来说说后端语言java中有关于“在JAVA中全局变量怎么声明与定义?”这个问题吧!下面是相关内容和资料,希望可以帮助到大家。


在java中我们知道对于全局变量来说可以分为这两种:静态变量和实例变量;那么对于在类体中定义的变量我们需要注意这三点:

1、成员变量不可以在类体中先声明之后在复制,但是在静态变量中是可以先在类体中声明之后在进行赋值的,当然我们的实例变量是不行的,我们来看看下面这个代码:

public class Test {
   static int a;        //在类体中声明整型静态变量a。
   int  b;                //在类体中声明整型实体变量b。
  a=3;                 //在类体中对静态变量a赋初值。
  b=5;                //在类体中对实体变量b赋初值。
        public static void main(String[] args) {
             System.out.println("a+b="+(a+b));
             }
}

对于这个程序我们是会出现问题,那么就有人会说为什么在 java 中全局变量不能先声明在赋值了,我们来看下面的这个代码:

public class Test{

  int i;

  {i = 3;} //写在{}里就可以了(这种代码块优先于构造方法执行)

}

在代码中​i=3​这个是我们的赋值语句,不能单独的出现在方法或者​“{ }”​以外的地方,所以我们将代码改成上面的样式就可以了,我们在回过头来看下面这个代码就是可以运行的了:

public class Test {
 static   int a;        //在类体中声明整型静态变量a。
        public static void main(String[] args) {
              a=3;                 //在方法中对静态变量a赋值。
             System.out.println("a="+a);
             }
}

我们来对比一下如果没有在类体中声明静态变量的话就会报错,代码如下所示:

public class hello {
    int a;        //在类体中声明整型实体变量a。
        public static void main(String[] args) {
              a=3;                 //在方法中对实体变量a赋值。
             System.out.println("a="+a);
             }
}

2、成员变量可以在类体中声明的时候同时赋值

我们来看下这个代码就可以清楚的知道了,代码如下所示:

public class Test {
   static int a=3;        //在类体中声明整型静态变量a并赋初值。
   int  b=5;                //在类体中声明整型实体变量b并赋初值。
          public static void main(String[] args) {
             System.out.println("a+b="+(a+b));
             }
}

从代码中我们可以了解到,在类体中进行赋值的方式,这样还不容易出错。


3、不可以连续赋值

先来看这串代码:​int a=b=3;  ​我们在变量中是不可以以这种形式声明和赋值的不论是在类体中还是在方法中。因为在工具的译系统中 b 是被认为没有声明任何数据类型的。不仅如此在数据的转换中,分为隐式转换和显示转换。

隐式转换:

它是指智能从高字节的数据类型向低字节的数据类型进行转换的,因为这样不会丢失原有数据类型的精准度如果要将变量从我们的低字节的数据类型转换成高字节的数据类型,这个时候我们只能使用显示转换,代码如下所示:

short a=3;  
int b=65537;
a=b;

对于这个方式程序是会出现报错的,我们只有写成:​a=(short)b​这样才不会报错。但是对于这个方法的话有时候是会失去数据原有的精确性的。


总结:

那么对于我们后端语言java中的“全局变量怎么声明与定义?”这个问题,我们的分析和代码解释就到这里了,如果你有其他更好的见解也可以和大家一同分享,当然更多有关于java的相关知识和内容我们都可以在W3Cschool中进行学习和了解更多的后端语言知识。


0 人点赞