精华内容
下载资源
问答
  • _****写法1:用全局变量 不对 写法2 :用局部变量 对****_ 为什么?最好能解释的详细一点 ``` import java.io.File; import java.util.Scanner; public class Directory{ public static void main(String []args...
  • 其中局部变量没有默认值,所以必须初始化,而实例变量和类变量都有默认值。其他的不细说。这里说一下我刚刚错的一个地方!!! 我写了这个程序: public class Test{ public static void main(String[] args) {...

    菜鸟教程看到
    在这里插入图片描述
    其中局部变量没有默认值,所以必须初始化,而实例变量和类变量都有默认值。其他的不细说。这里说一下我刚刚错的一个地方!!!

    我写了这个程序:

    public class Test{  
    	  
        public static void main(String[] args) {  
        	int a=5;
        	if(a==5) int ans=5;
        	else int ans=8;
            System.out.println(ans);
        }   
    }
    

    出现了报错在这里插入图片描述
    也可能报错是:在这里插入图片描述
    原来错误原因是if语句块的局部变量ans在离开If语句块以后就不存在了!!!

    在这里插入图片描述
    这样就行了:

    public class Test{  
    	  
        public static void main(String[] args) {  
        	int a=5;
        	int ans=0;
        	if(a==5) ans=5;
        	else ans=8;
            System.out.println(ans);
        }   
    }
    

    接下来根据我的理解简单说一下重名问题:
    1.局部变量可以和全局变量重名
    JAVA中的全局变量和局部变量是允许重名的,但是如果在方法体内使用该重名变量时,局部变量会覆盖全局变量,出了方法,局部变量被销毁,只剩下全局变量
    2.不同作用域的两个局部变量可以重名,但如果两局部变量作用域相同就不行了;

    展开全文
  • 局部变量就是局部的东西,如果全局变量是桌子,局部变量就类似于抽屉,只能在一小部分地方使用,很局限。全局是外面公共场所的凳子,则局部变量就像某个酒店的凳子一样,再酒店内部,只能去住酒店才能使用。那么程序...

    全局变量

    什么是全局变量?

    全局变量就好比一个容器或者一个公用的东西一样,就类似外面公共场所的凳子一样,大家都可以使用这个凳子。

    和他相反的局部变量是啥子东东呢?

    局部变量就是局部的东西,如果全局变量是桌子,局部变量就类似于抽屉,只能在一小部分地方使用,很局限。全局是外面公共场所的凳子,则局部变量就像某个酒店的凳子一样,再酒店内部,只能去住酒店才能使用。

    那么程序中是如何使用的呢?

    程序语言中是在类的方法外声明的,毕竟要供大家都使用吧,所以全局变量必须放到最外面噻。而局部变量则必须放在方法内部,毕竟是局部的噻,只能受制于某部分方法。下面我们来看一下例子。

    classcart1

    {

    List ls=newArrayList();//全局变量

    Product1 s;public voidaddProduct(Product1 p)

    {

    ls.add(p);

    }public voidss()

    {

    System.out.println(s);//s.setId(0);//s.setName("ss");//l.add(s);

    }publicList getProduct()

    {returnls;

    }

    List l=null;public void getProdect(int id,String name,floatprice)

    { s=newProduct1();//全局变量,这也不是在方法内吗?

    l=newArrayList();//全局变量,这不也在方法内吗?

    List x=new ArrayList();//这才是局部变量

    s.setId(id);

    s.setName(name);

    s.setPrice(price);

    l.add(s);

    System.out.println(s);

    System.out.println(l);

    }publicList getProduct1()

    {returnl;

    }

    }

    上面所说的局部变量是在方法内的也不完全对,应该是在方法内申明并初始化的才是局部变量。而在方法外申明,在方法内使用也是全局变量,在方法外声明也是全局变量。方法外申明只是可以供大家使用,但是没有初始化和实例化,变量内容为空,如果某个地方需要使用还必须初始化或者实例化。这里就不得不说一下这个全局申明。

    全局申明什么是啥子鬼?

    全局声明就是一个没有初始化或者实例化的东东,说白了就是一个空的东西或者空的容器,只是说明一下这个东西代表了什么玩意,意思就是告诉程序我以后只能是字符串或者是整形或者什么对象,实际上是没有东西的,是为空的。到了具体的程序使用的时候你想怎么用你拿去用,但是要自己在实例化或者初始化。说了那么多,我们还是看例子吧

    importjava.util.ArrayList;importjava.util.List;public classCart {public static voidmain(String[] args) {//TODO Auto-generated method stub

    Product1 p= newProduct1();

    p.setId(1);

    p.setName("test");

    p.setAmount(10.0f);

    cart1 c=newcart1();

    Product1 p1= newProduct1();

    p1.setId(2);

    p1.setName("test1");

    p1.setAmount(20.0f);

    c.addProduct(p);

    c.addProduct(p1);

    List l=newArrayList();

    l=c.getProduct();//for(int i=0;i

    cart1 s=newcart1();

    s.getProdect(1, "2", 2.0f);

    s.getProdect(2, "222", 2.0f);//s.ss();

    List ll=s.getProduct1();for(int i=0;i

    System.out.println(((Product1)ll.get(i)).getId());

    }

    }classcart1

    {

    List ls=newArrayList();

    Product1 s;public voidaddProduct(Product1 p)

    {

    ls.add(p);

    }public voidss()

    {

    System.out.println(s);//s.setId(0);//s.setName("ss");//l.add(s);

    }publicList getProduct()

    {returnls;

    }

    List l=null;public void getProdect(int id,String name,floatprice)

    { s=newProduct1();

    l=newArrayList();

    s.setId(id);

    s.setName(name);

    s.setPrice(price);

    l.add(s);

    System.out.println(s);/输出不同的对象

    System.out.println(l);/每个对象使用各自的List

    }publicList getProduct1()

    {returnl;

    }

    }

    下面我们换一种方式,换为全局声明

    classcart1

    {

    List ls=newArrayList();

    Product1 s;public voidaddProduct(Product1 p)

    {

    ls.add(p);

    }public voidss()

    {

    System.out.println(s);//s.setId(0);//s.setName("ss");//l.add(s);

    }publicList getProduct()

    {returnls;

    }

    List l=new ArrayList() ;public void getProdect(int id,String name,floatprice)

    { s=newProduct1();

    s.setId(id);

    s.setName(name);

    s.setPrice(price);

    l.add(s);

    System.out.println(s);//输出不同对象

    System.out.println(l);//输出两个对象的集合

    }publicList getProduct1()

    {returnl;

    }

    }

    再看一种情况

    importjava.util.ArrayList;importjava.util.List;public classCart {public static voidmain(String[] args) {//TODO Auto-generated method stub

    Product1 p= newProduct1();

    p.setId(1);

    p.setName("test");

    p.setAmount(10.0f);

    cart1 c=newcart1();

    Product1 p1= newProduct1();

    p1.setId(2);

    p1.setName("test1");

    p1.setAmount(20.0f);

    c.addProduct(p);

    c.addProduct(p1);

    List l=newArrayList();

    l=c.getProduct();//for(int i=0;i

    cart1 s=newcart1();

    s.getProdect(1, "2", 2.0f);

    s.getProdect(2, "222", 2.0f);//s.ss();

    List ll=s.getProduct1();for(int i=0;i

    System.out.println(((Product1)ll.get(i)).getId());

    }

    }classcart1

    {

    List ls=newArrayList();

    Product1 s=new Product1();public voidaddProduct(Product1 p)

    {

    ls.add(p);

    }public voidss()

    {

    System.out.println(s);//s.setId(0);//s.setName("ss");//l.add(s);

    }publicList getProduct()

    {returnls;

    }

    List l=newArrayList() ;public void getProdect(int id,String name,floatprice)

    {

    s.setId(id);

    s.setName(name);

    s.setPrice(price);

    l.add(s);

    System.out.println(s);//打印的只有一个对象地址

    System.out.println(l);//打印两个相同地址对象的集合

    }publicList getProduct1()

    {returnl;

    }

    }

    总结:全局声明其实只是可以公用一个指定类型的变量,而全局变量则是已经初始化并且分配了唯一的地址并且在任何地方都可以使用,局部变量则只能在方法内部使用,其它地方不能使用。全局变量是一个容器,而局部变量只能是容器里的一部分。

    展开全文
  • 一、 局部变量(在方法中使用的变量,包括在类中定义而在方法使用) 1.局部变量必须赋初值; 2.局变的作用域是方法内部,方法执行完毕自动销毁; 3.当局变与全局的名字一样时,局部优先; 4.访问修饰符不能用于局变...

    一、 局部变量(在方法中使用的变量,包括在类中定义而在方法使用)
    1.局部变量必须赋初值;
    2.局变的作用域是方法内部,方法执行完毕自动销毁;
    3.当局变与全局的名字一样时,局部优先;
    4.访问修饰符不能用于局变;
    二、全局变量(静态变量、实例变量)
    1.全局变量就是从定义的位置起,作用域覆盖整个程序范围的变量;
    2.静态变量:static int a; 属于整个类,可以直接使用,也可 类名.a ,静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。静态变量均有默认值,数字默认为0,布尔值默认为false,对象默认为null;
    3.实例变量:int a; 实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。
    例子:
    int a;
    static int b;
    demo1 demo = new demo1();
    system .out.println(demo.a); //正确
    system .out.println(b); //正确
    system .out.println(demo1.b); //正确
    详细请看https://blog.csdn.net/sweet__dream/article/details/77369976

    展开全文
  • Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。类级变量又称全局级变量或静态变量,需要使用static关键字修饰。...块级变量就是代码块中定义的变量,也是局部变量(最典型...

    在Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。

    类级变量又称全局级变量或静态变量,需要使用static关键字修饰。类级变量在类定义后就已经存在,占用内存空间,可以通过类名来访问,不需要实例化。

    对象实例级变量就是在类中定义的变量,是成员变量,实例化后才会分配内存空间,才能访问。

    方法级变量就是在方法内部定义的变量,是局部变量。

    块级变量就是代码块中定义的变量,也是局部变量

    (最典型的就是try catch代码块中声明的变量为局部变量,只在代码块中有效)

    成员变量和局部变量:

    成员变量就是在类中定义的变量

    局部变量可分为:

    形参(形式参数)

    在整个方法内有效

    方法局部变量 (方法内定义)

    从定义这个变量开始到方法结束这一段时间内有效

    代码块局部变量 (代码块内定义)

    从定义这个变量开始到代码块结束这一段时间内有效

    代码示例:

    public class TestDemo {

    //成员变量

    public String test1;

    public void method(String s){

    //局部变量

    String test2;

    }

    }

    形参如果被内部类引用则需要加上final关键字修饰

    防止形参被外部类修改等情况,导致内部类引用的形参和不一致

    ---------------------

    作者:YaoHHH

    来源:CSDN

    原文:https://blog.csdn.net/yh18668197127/article/details/85059996

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 全局变量是编程术语中的一种,源自于变量之分。全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。...全局变量局部变量的区别:1、作用域不...
  • 本文对java中的局部变量全局变量作了如下介绍:1、局部变量局部变量的定义:定义在方法中的变量都是局部变量(main方法也是方法,所以定义在main方法中的变量也是局部变量)。生存时间:局部变量的生存时间和方法...
  • 按我的理解 size 在方法里面是局部变量 作用整个方法 在外面是类变量 作用整个类 但是在这段代码中应该没什么不同吧,因为我只有一个方法,SIZE意思是固定的 问题2: 第14行的 files != null && 能不能省掉? ...
  • var 局部变量 全局变量Oracle Corporation is going to release Java New Version: Java SE 9 around March 2017. So, I would like to deliver a series of Posts on Java SE 9 New Features. It is my third post ...
  • 本文对java中的局部变量全局变量作了如下介绍:1、局部变量局部变量的定义:定义在方法中的变量都是局部变量(main方法也是方法,所以定义在main方法中的变量也是局部变量)。生存时间:局部变量的生存时间和方法...
  • Java的初学者常常会分不开局部变量全局变量,很容易就会报错,其实Java局部变量全局变量很容易辨别,请看下文: 1、局部变量局部变量的定义:定义在方法中的变量都是局部变量。 生存时间:局部变量的...
  • java 全局变量局部变量 重点内容 1. 全局变量作用于整个class而局部变量只作用于方法体中,当全局变量局部变量同名是就近原则 public class Test { //java全局变量局部变量 public static void main...
  • java全局变量局部变量 在本文中,我们将看到作为JEP 286的一部分提出的名为Local Variable Type Inference的Java10功能。 从Java的第一个版本开始,它是一种强类型化的语言,我们需要提及每种变量数据类型。 我们...
  • 局部变量 定义在类的方法内或者代码块内的变量 局部变量只在定义它的方法体内或者代码块内有效 局部变量在使用前,必须先初始化 全局变量(成员变量) 一个类中既不在方法体内,也不在程序块内定义的变量...
  • 分类细则:变量按作用范围划分分为全局变量(成员变量)和局部变量成员变量按调用方式划分分为实例属性与类属性局部变量按定义位置划分分为形参,方法局部变量,代码块局部变量成员变量:直接在类中声明的变量叫成员...
  • 变量 全局变量(成员变量) 1.实例属性(非静态变量) 2.类属性(静态变量):static修饰 全局变量有初值 int->0 String->...在局部变量的作用域范围内访问该全局变量,必须使用this引用 public cla...
  • java全局变量局部变量Java is often criticized as being too verbose. One aspect contributing to this characterization is the requirement to specify every type explicitly, which leads to a lot of ...
  • 区别:全局变量(全局静态变量):作用整个类中,直接被类调用;放在方法区中;当类加载的时候,就开始被创建,在类中只有一份; 会跟着类的消失而消失,生存时间较长。成员变量:作用在整个类中(除静态方法不能使用,...
  • java 局部变量全局变量问题

    千次阅读 2014-05-26 10:09:52
    所谓临时变量,就是为了方便起见申明的变量,存放一些中间结果。有点像中学几何里  面的辅助线。  如果基于性能的考虑,避免每次调用的时候为临时变量分配空间,就可以将它声明为成  员变量,例如临时压缩缓冲...
  • 一、初始化 全局变量局部变量都是需要初始化。 成员变量(全局变量): 存放于堆中; JVM在分配内存时将整块区域置为零即完成了初始化,... java明文规定局部变量必须初始化。 例子:局部变量s2将报错 ...
  • 成员变量就是全局变量,也就是类变量,有默认值,存在堆区。 局部变量无默认值,存在栈区。
  • 全局变量局部变量javaIn this article, we would take a deep dive at the new feature of Local-Variable Type Inference introduced in Java 10. We will go through the scope and limitations of using the ...
  • java局部变量全局变量

    万次阅读 2016-12-11 23:59:18
    java区分局部变量全局变量 1、局部变量:  局部变量的定义:定义在方法中的变量都是局部变量(main方法也是方法,所以定义在main方法中的变量也是局 部变量)。  生存时间:局部变量的生存时间和方法的生存时间...
  • 变量按作用范围划分分为全局变量(成员变量)和局部变量 成员变量按调用方式划分分为实例属性与类属性 局部变量按定义位置划分分为形参,方法局部变量,代码块局部变量 成员变量: 直接在类中声明的变量叫成员...
  • java全局变量局部变量的区别

    千次阅读 2020-06-28 21:39:21
    java全局变量局部变量 全局变量 全局变量又称实例变量,属性,成员变量。 位置 定义在类中,属于类中的一个成员 作用范围 因为全局变量是定义在类中的,所以可以使用四种访问权限控制修饰符修饰,但是不论使用哪种...
  • 本文对java中的局部变量全局变量作了如下介绍:1、局部变量局部变量的定义:定义在方法中的变量都是局部变量(main方法也是方法,所以定义在main方法中的变量也是局部变量)。生存时间:局部变量的生存时间和方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,393
精华内容 957
关键字:

java局部变量全局变量

java 订阅