[转载] Java中变量与常量

参考链接: Java中的实例变量隐藏

1、变量的定义:定义变量就是要告诉编译器这个变量的数据类型,这样编译器才知道需要分配多少空间给它,以及它能存放什么样的数据。在程序运行过程中空间的值是变化的,这个内存空间就成为变量。为了便于操作,给这个变量取个名字,称为变量名。 

2、变量的命名规则: 

①变量名必须是一个有效的标识符 

②变量名不可以使用Java中的关键字 

③变量名不能重复 

④应选择有意义的单词作为变量名。 

说明:在Java语言中语序使用汉字或其他语言文字作为变量名,如:int 年龄 = 21;在程序运行时不会出现错误,但建议尽量不要使用这些语言文字作为变量名。 

3、①常量的定义:在程序运行过程一直不会改变的量称为常量,通常也成为"final变量"。常量在整个程序中只能被赋值一次。在为所有的对象共享值时,常量是非常有用的。声明常量的标准语法为:final 数据类型 变量名[=值] 

  ②常量名通常使用大写字母,但这不是必须。很多Java程序员使用大写字母表示常量,是为了清楚的表明正在使用常量。 

③当定义的final变量为成员变量时,必须在定义时就设定它的初始值,否则将会提示编译错误。 

4、变量的有效范围:变量的有效范围是程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的有效范围将变量划分为成员变量和局部变量。 

5、成员变量(全局变量):在类体中所定义的变量为成员变量,成员变量在整个类中都有效。类的成员变量又分为两种:静态变量和实例变量 

 

6、成员变量和局部变量的有效范围: 

①成员变量(在类体中所定义的变量为成员变量):在整个类中都有效 

②局部变量(再类的方法内声明变量,包括方法的参数都属于局部变量):只在当前定义的方法内有效,不能用于类的其他方法中。局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将被销毁。 

③局部变量可与成员变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。 

 

运行结果为: 

 

  

7、最后附上代码: 

package com.abc;

 

public class Variable {

    String name;// 成员变量(Member variables),也称为全局变量,对象的属性;成员变量也分为静态变量和实例变量

    static int age = 20;// 静态变量(Static variable)

    int weight = 45;// 实例变量(Instance variable)

    final double PI = 3.14;// 声明int类型常量,当定义的final变量为成员变量时,必须在定义时就设定它的初始值,否则将会提示编译错误。

 

    static final double HEIGHT = 180;// 常量/静态变量

 

    public static void main(String[] args) {

        final String tag;// 常量(constant),当定义的final变量为成员变量时,可以赋初始值,也可以不赋值

        String sex = "女";// 局部变量(Local variable)

        tag = "A";

        int age = 21;

//        tag = "B";// 错误的代码。常量在整个程序中只能被赋值一次。

        System.out.println(tag + "\t" + sex);

        System.out.println("年龄为:" + age);

    }

 

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540301.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux-实用快捷键操作

博文说明【前言】: 本文将通过个人口吻介绍Linux下一些常用的实用快捷键,在目前时间点【2017年6月14号】下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作…

iOS技术博客:App备案指南

📝 摘要 本文介绍了移动应用程序(App)备案的重要性和流程。备案是规范App开发和运营的必要手段,有助于保护用户权益、维护网络安全和社会秩序。为了帮助开发者更好地了解备案流程,本文提供了一份最新、最全、最详的备…

[转载] Java中静态成员变量,静态代码块,静态内部类何时被初始化?

参考链接: Java中的初始化程序块Initializer Block 关于这个问题,本文不扯理论,直接上代码,通过结果来验证结论,废话少说,测试代码如下: public class StaticTest { public static StaticMem…

mikrotik dhcp server

操作路径: /ip dhcp-server 关联操作: /ip pool属性 述 dhcp server interface (名称) – 选择 DHCP 服务的网络接口 dhcp address space (IP 地址/掩码; 默认: 192.168.0.0/24) – DHCP 服务器将出租给客户端的网络地 址段 gateway (IP 地址; 默认: 0.0.0.0) – 分配给客户端的…

[转载] Java static关键字与static{}语句块

参考链接: Java中的静态块static block 目录直通车 一、 类的加载特性与时机 1、 类加载的特性 2、 类加载的时机 二、 static的三个常用 1、 修饰成员变量 2、 修饰成员方法 3、 静态块(static{}) 一、 类的加载特性与时机 …

Perl文件读写操作

本文转自 tiger506 51CTO博客,原文链接:http://blog.51cto.com/tiger506/830771,如需转载请自行联系原作者

[转载] Java 语言中的实例初始化块 ( IIB) 详解

参考链接: Java中的实例初始化块(IIB) 在 Java 语言中的类初始化块 文章中我们简单的介绍了下 Java 中的实例初始化块 ( IIB )。不过我觉得介绍的有点简单了,于是,再写一篇文章详细介绍下吧。 Java 语言中,存在三种操作&#x…

不用正则表达式,用javascript从零写一个模板引擎(一)

前言 模板引擎的作用就是将模板渲染成html,html render(template,data),常见的js模板引擎有Pug,Nunjucks,Mustache等。网上一些制作模板引擎的文章大部分是用正则表达式做一些hack工作,看完能收获的东西很少。本文将使用编译原理那套理论来打…

[转载] Java静态绑定与动态绑定

参考链接: Java中的静态绑定与动态绑定 程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定. 静态绑定: 在程序执行前方…

关于批量插入数据之我见(100万级别的数据,mysql)

2019独角兽企业重金招聘Python工程师标准>>> 因前段时间去面试,问到如何高效向数据库插入10万条记录,之前没处理过类似问题,也没看过相关资料,结果没答上来,今天就查了些资料,总结出三种方法&am…

各个OS关于查看磁盘和wwn号的方法

1,HP-UX几个命令1)查看型号,和uname -a差不多model2)查看光纤卡信息ioscan -funC fc3) 查看扫描出的磁盘信息ioscan -fucC disk4)查看磁盘及其对应的路径ioscan -m dsf5) 查看划分过来的lunioscan -m lun6) 查看磁盘大小diskinfo …

[转载] Java是不是面向对象的程序

参考链接: 为什么Java不是纯粹的面向对象语言 转载自:https://blog.csdn.net/a21700790yan/article/details/80129053 Java——是否确实的 “纯面向对象”?让我们深入到Java的世界,试图来证实它。 在我刚开始学习 Java 的前面几…

极速理解设计模式系列:6.适配器模式(Adapter Pattern)

四个角色:目标抽象类角色(Target)、目标对象角色(Adapter)、源对象角色(Adaptee)、客户端角色(Client) 目标抽象类角色(Target):定义需要实现的目标接口 目标对象角色(Adapter):调用另外一个源对象,并且转换…

[转载] Java之继承

参考链接: Java多重继承 Java之继承 继承是面向对象程序的一个基本特征,通过继承可以实现父子关系,以及代码的复用。通过继承实现的类称为子类,被继承的类称为父类,所有直接或间接被继承的类都称为父类。 Java类体…

Spark(二): 内存管理

2019独角兽企业重金招聘Python工程师标准>>> Spark 作为一个以擅长内存计算为优势的计算引擎,内存管理方案是其非常重要的模块; Spark的内存可以大体归为两类:execution和storage,前者包括shuffles、joins、sorts和agg…

[转载] 手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis

参考链接: Java继承类的对象创建 本文发表于2016年6月,写于作者学生时期。文中使用到的技术和框架可能不是当下最佳实践,甚至很不“优雅”。但对于刚接触JavaEE和Spring的同学来说,还是能有很多收获的,大牛轻拍 我们…

多播、组播、广播优缺点分析

2019独角兽企业重金招聘Python工程师标准>>> 单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究…

[转载] Java重载、覆盖与构造函数

参考链接: Java中的继承和构造函数 /** * 拷贝构造函数---Copyf t2 new Copyf(t1);就不会在调用默认构造函数了。 * 复制clone和引用 * 重载是在同一个类(范围)中,覆盖是子类对父类而言。 重载不关心返回值类型。 静态方法不能被…

LOFTERD18B542F16FF685FD684F427B4…

2019独角兽企业重金招聘Python工程师标准>>> 验证 转载于:https://my.oschina.net/jinhengyu/blog/1572124

[转载] Java获取一个类继承的父类或者实现的接口的泛型参数

参考链接&#xff1a; Java中的接口和继承 泛型的作用就不多介绍了&#xff0c;如果你想具备架构设计能力&#xff0c;那么熟练使用泛型是必不可少的。 不多说了&#xff0c;先定义泛型父类和泛型接口&#xff1a; package cn.zhh; public class Parent<T1, T2> { …