Java中变量有哪些 package am1; /** 全局变量 局部变量 局部变量 作用域从定义位置开始,到代码块结束失效 全局变量 定义在类中,方法体外的变量叫做全局变量,全局变量所有方法均可以访问 */ public class ...
Java中变量有哪些
package am1;
全局变量 局部变量
局部变量 作用域从定义位置开始,到代码块结束失效
全局变量 定义在类中,方法体外的变量叫做全局变量,全局变量所有方法均可以访问
public class Demo {
//全局变量
int b = 10;
public void test(){
//局部变量
int a = 20; //定义在方法体中,出了方法体,就失效了
if(a >= 10){	int b = a+1;	int c = b+1;	System.out.println("b的值是?"+b); } System.out.println(a);//局部变量,定义在方法体中,在方法体中有效 System.out.println(b); //打印的是全局变量,if下的b在这里已经失效 //System.out.println(c); //这是 错误的,超出了作用域的范围
}
public void test1(){
//System.out.println(a); //这是 错误的,超出了作用域的范围
}
public void test2(){
System.out.println(b); //打印的是全局变量,if下的b在这里已经失效
}
public static void main(String[] args) {
Demo demo = new Demo(); //main函数下,调用方法需要先实例化属性
demo.test();
}
}
package am2;
类变量(静态变量) 成员变量成员变量 在类中定义的变量,实例化对象时访问的变量,叫做成员变量类变量 定义在类中,使用static 修饰其变量,访问时只需类名.变量名即可访问使用对象,也能访问其变量,当对象值改变类变量值,其值也会发生改变类变量也叫做 静态变量
public class A {
//成员变量 public String name = "jack"; public int age = 18; //类变量(静态变量) public static int health = 100;
}
package am3;
static 关键字static 关键字修饰的变量是静态变量。使用类名.变量名直接访问。当虚拟机启动时即加载其变量到内存中。不需要创建对象。static 关键字修饰的方法是静态方法。使用类名.方法名直接访问。静态方法中,不能访问成员变量。
public class Demo {
//静态变量 public static int a = 10; //成员变量 public int b = 20; //静态方法 public static void show(){	System.out.println("静态方法");	//System.out.println(b); //无法在静态方法中,访问成员变量	System.out.println(a); //可以在静态方法中,访问静态变量 } //成员方法 public void show2(){	System.out.println(b); //成员方法可以访问成员变量	System.out.println(a); //成员方法可以访问静态变量	System.out.println("静态变量在成员方法中加20等于:"+(a+=20)); }
}
package am3;
static 关键字
public class Test {
public static void main(String[] args) {	System.out.println(Demo.a); //使用类名.变量名直接访问	Demo.show();	//实例化 Demo	Demo demo = new Demo();	demo.show2();	System.out.println("静态变量a现在是多少?"+Demo.a);	}
}
JAVA中局部变量 和 成员变量有哪些区别 1.定义的位置不一样***局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中 2.作用范围不一样***局部变量:只有方法当中才可以使用,出...
JAVA中局部变量 和 成员变量有哪些区别
1.定义的位置不一样***
局部变量:在方法的内部
成员变量:在方法的外部,直接写在类当中
2.作用范围不一样***
局部变量:只有方法当中才可以使用,出了方法就不能再用
成员变量:整个类全都可以通用。
3.默认值不一样***
局部变量:没有默认值,如果想要使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认值,规则和数组一样
4.内存的位置不一样(了解)
局部变量:位于栈内存
成员变量,位于堆内存。
5.生命周期不一样(了解)
局部变量:随着方法进栈而诞生,随着方法出栈而死亡。
成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失。
public calss Demo01variableDifference{ String name;//成员变量publicvoid methodA(){int num=20;//局部变量 默认值为NULL System.out.println(num); System.out.println(name); }publicvoid methodB(int param){//方法的参数就是局部变量 System.out.println(param);//参数也是局部变量,为什么不赋值就可以输出?//因为参数在方法调用的时候,必然会被赋值的。不传参数就会报错。int age;//System.out.println(age);//错误写法 未赋值不能使用,必须赋值// System.out.println(num);//错误写法 System.out.println(name);/ } }
转载于:https://www.cnblogs.com/battlecry/p/9373993.html
成员变量:类中,方法外,一种是有static修饰,一种是实例变量没有static修饰 局部变量:形参/非静态代码块中 2.修饰符使用 成员变量:public、protected、private、final,static,volatile,transient 局部变量:...
先来看下总结吧,主要有以下一些区别:
1.变量定义位置
成员变量:类中,方法外,一种是有static修饰,一种是实例变量没有static修饰
局部变量:形参/非静态代码块中
2.修饰符使用
成员变量:public、protected、private、final,static,volatile,transient
局部变量:只有final
3.作用域
成员变量:当前类中的this,在其他类中的对象名访问,
静态变量:在当前类中的类名.,在其他类中的类名.或对象名.访问
局部变量:局部变量冲声明处开始,到所属的“}”结束
4.值存储位置
实例变量:存放于堆空间中
静态变量:存放于方法区中,1.8之后静态变量是存放在堆区,是实际数据的存储。方法中使用直接引用其指针,在栈中使用
局部变量:存放于栈中
5.生命周期
局部变量:每一个线程每一次调用执行都是新的生命周期(随着方法进栈而诞生,随着方法出栈而死亡)
实例变量:跟随实例对象的生命周期(对象创建诞生,对象回收消失)
静态变量:跟随类的生命周期(类加载诞生,类卸载消失),静态变量可以被所有实例对象共享
6.使用优先级不同
局部变量优先于成员变量(就近原则)
好了,说多了都是废话,我们先上个demo从代码里面来看区别:
public calss Demo{ String str;//成员变量publicstatic Integer a=10;//静态变量int i=5;publicvoidtest1(){int num=20;//局部变量 默认值null System.out.println(num); System.out.println(str);}publicvoidtest2(int i){int age;//System.out.println(age);//错误写法 未赋值不能使用,必须赋值//方法的参数就是局部变量 System.out.println(i);//优先使用局部变量}}
Java 编程语言定义了如下类型的变量 : 实例变量 (非静态字段) 从技术上来说, 对象保存它们各自的状态在 "非静态字段", 也即, 没有使用static 关键字定义的字段. 非静态字段也称为 实例变量 因为它们的值对每个 ...
Java 编程语言定义了如下类型的变量 :
实例变量 (非静态字段)从技术上来说, 对象保存它们各自的状态在 "非静态字段", 也即, 没有使用static关键字定义的字段. 非静态字段也称为 实例变量 因为它们的值对每个 类实例 (对每个对象, 换句话说); 一个自行车的currentSpeed与另外一个自行车的currentSpeed是独立的.类变量 (静态字段)类变量是使用static修饰符声明的变量;这告诉编译器仅有一份该变量存在, 无论该类被实例化多少个对象。为 某种类型的自行车定义gear数量的字段可以标记为static因为所有实例有相同数. 代码static int numGears = 6;将创建一个这样的静态字段. 此外, 可以添加关键字final来表明转动装置个数永远不发生改变 .局部变量与一个对象保存它的状态字段类似, 一个方法保存它的临时状态 局部变量. 声明一个局部变量的语法与声明一个字段 (例如,int count = 0;)相似. 这里并没有一个专用的关键字来指定一个变量作为局部变量 ; 完全由变量声明的位置来决定它是否是局部变量 — 是否是声明在方法的开始大括号和结束大括号之间. 因而, 局部变量只能在它声明的方法中可见; 不能在类的其它部分访问.参数你已经看到参数的使用示例, 在Bicycle类和"Hello World!" 应用的main方法. 回忆main方法签名是public static void main(String[] args). 这里,args变量是方法的参数 .必须记住的重要事情是 参数被划分为"变量"而不是"字段". 这适用于后续课程中学到的接收参数的构造函数 (例如构造函数和异常处理器)
Java中主要有八种基本数据类型:byte、short、int、long、float、double、boolean、char。 各种数据类型作用: 如果有一天,你发现你喜欢小编,能不能告诉小编,让小编知道,自己并不是一厢情愿!byte: 8位、有符号...
一面: hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移? Linux的共享内存如何实现,大概说了一下。 Linux中的用户模式和内核模式是什么含意?...GC Roots有哪些? 如和判断一个对象是否
在Java语言中,变量名、函数名、数组名统称为标识符,Java语言规定标识符仅仅能由字母(a~z。A~Z)、数字(0~9)、下划线(_)和$组成,而且标识符的第一个字符必须是字母、下划线或$。此外。标识符也不能包括空白...
在Java语言中,变量名、函数名、数组名统称为标识符,Java语言规定标识符只能由字母(a~z,A~Z)、数字(0~9)、下划线(_)和$组成,并且标识符的第一个字符必须是字母、下划线或$。此外,标识符也不能包含空白字符...
变量1.1 概念1.2变量使用注意事项1.3变量定义语法1.4变量声明规则(掌握)1.5Java语言基础(标识符中常见的命名规则)(了解)2 常量2.1Java语言基础(常量的概述和使用)(掌握)3. 数据类型(4类8种)3.1Java语言基础...
变量:在程序执行的过程中,在某个范围内其值可以发生改变的量。从本质上讲,变量其实是内存中的一小块区域 成员变量:方法外部,类内部定义的变量 局部变量:类的方法中的变量。 成员变量和局部变量的区别 作用...
final有哪些用法? final也是很多面试喜欢问的地方,但我觉得这个问题很无聊,通常能回答下以下5点就不错了: 被final修饰的类不可以被继承 被final修饰的方法不可以被重写 被final修饰的变量不可以被改变.如果修饰引用,...
Java NIO 基本介绍Java NIO 全称java non-blocking IO,是指 JDK 提供的新 API。...NIO有三大核心部分:Channel(通道),Buffer(缓冲区), Selector(选择器) NIO是 面向缓冲区 ,或者面向 块 编程的。数据读
变量有哪些类型? 变量有很多类型,包括: 整形变量	int (4个字节)	默认值为0. 长整型变量long(8个字节)默认值0L 双精度浮点型变量	double (8个字节)	默认值0.0d 单精度浮点型变量	float (4个字节)	...
3.变量命名有哪些规范?变量 计算机的内存类似于人的大脑,电脑使用内存来存储计算所需要的数据。 内存像旅馆一样,不同的房间类型对应不同的数据类型,内存存储数据时会根据数据的需求为它申请一块合适的空间...
问题:Java中goto是关键字吗? 回答:goto是Java的关键字。goto目前被作为Java的关键字保留起来。goto不能作为标识符。(下方官方文档里明确指出了goto和const是关键字,已经用红色标出!) 问题:什么是标识符? ...