Java语言】【Java基础】Java常量和变量的区别

2020-10-19 19:06发布

7条回答
哆啦公
2楼 · 2020-10-19 22:26

常量在程序运行时,不会被修改的量。

变量在指令式语言中,变量通常是可变的


无需指教
3楼 · 2020-10-20 08:14

表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了,据个例子:
final int i = 0;
那么这个i的值是绝对不能再被更改了,只能是0,所以说是 不可变的变量,这句话看似矛盾,其实不矛盾,这句话这样理解:
i就是一个int类型的变量,变量本身是可变的(可被更改值),但是现在加了final,所以不可变了,所以是不可变的变量。

我想吃肉
4楼 · 2020-10-20 08:52

ava易混淆概念之类变量、实例变量、局部变量 类变量、实例变量、局部变量类变量是类中独立于方法之外的变量,用static 修饰。 实例变量也是类中独立于方法之外的变量,不过没有static修饰。 局部变量是类的方法中的变量。 看下面的伪代码说明: public class Variable{ static int allClicks=0; //类变量 String str="hello world"; //实例变量 public void method(){ int i =0; //局部变量 } } 实例变量也称为:“域”,“成员变量”,在实体类或数据类中被称为“属性”或“字段”。当实例变量可以改变时,被称为对象的状态。 2. final用于常量的声明,规范要求常量的变量名是大写的。 3. statci 在java 里面用于对类方法和属性进行修饰,其作用是什么呢? 有两种情况是non-static无法做到的,这时你就要使用statice。 第一种:你希望不论产生了多少个对象,或不存在任何对象的情形下,那些特定数据的存储空间都只有一份; 第二种:你希望某个函数不要和class object绑在一起。即使没有产生任何object,外界还是可以调用其static函数,或是取用其static data。

魏魏姐
5楼 · 2020-10-20 09:43

直接量:程序中直接显示出来的数据值。常量:程序中不会被修改的量。直接量可以是数组啊,函数啊,对象啊。

Sophia
6楼 · 2020-10-20 17:09

常量在程序运行时,不会被修改的量。

变量在指令式语言中,变量通常是可变的。


小小李兆佳
7楼 · 2020-10-21 10:23

常量值确定:final static int a = 10;
变量值会变化

楠楠楠楠
8楼 · 2020-10-21 17:01

直接量:程序中直接显示出来的数据值。常量:程序中不会被修改的量。直接量可以是数组啊,函数啊,对象啊。

相关问题推荐

  • 回答 7
    已采纳

    里氏代换原则(Liskov Substitution Principle, LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一...

  • 回答 8
    已采纳

    心里有个预期,然后看看是以什么目的进这家企业工作,要是赚钱的话,那就多要点,要是学习的话,可以根据情况要一个能养活自己的价格。

  • 回答 4
    已采纳

    Java中有八种数据类型,基础数据类型分别是:byte,short,int,long,float,double,char,boolean,引用数据类型分别是:数组,类和接口。方法传参的时候我们有两种,一种是形式参数(定义方法时写的参数),一种是实际参数(调用方法时给的具体值)。首先...

  • 回答 15
    已采纳

    现在的架构很多,各种各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有很多。分布式架构其实就是分布式系...

  • 回答 10

    1、监控GC的状态使用各种JVM工具,查看当前日志,分析JVM参数的设置,分析堆内存快照和GC日志,根据实际的各区域的内存划分和GC的执行时间,判断是否需要进行优化2、分析结果、判断是否需要优化如果各项参数设置合理,系统没有超时的日志出现,GC频率也不高,...

  • 回答 6

    MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为,则可以...

  • 回答 6

    学vue应该要先学习javascript 的基础知识和用法。

  • 回答 8

    1、lambda是jdk8的新特性2、使用lambda的前提,必须是一个接口,接口只能有一个抽象方法3、Lambda 表达式的简单例子:// 1. 不需要参数,返回值为 5  () -> 5    // 2. 接收一个参数(数字类型),返回其2倍的值  x -> 2 * x    // 3. 接受2个参数(数...

  • 回答 4

    1、面向对象编程(OOP):OOP最重要的思想是类,类是模板,从类中构造一个对象,即创建了这个类的一个实例;2、封装:是把数据和行为结合在一起,并对对象使用者隐藏数据的实现过程,通常一个对象中的数据叫他的实例字段(instance field) ;3、继承:Java中允许在已...

  • 回答 6

    jdk1.8的新特性包括如下:一、接口的默认方法与静态方法,也就是接口中可以有实现方法二、Lambda 表达式三、函数式接口与静态导入四、Lambda 作用域在lambda表达式中访问外层作用域和老版本的匿名对象中的方式很相似。你可以直接访问标记了final的外层局部变...

  • 回答 6

    用static修饰,能节省一些内在空间,虽然很有限

  • 回答 6

    这个是在内存中存放的地址,你必须str1.equals(str2)才可以判断的。你可以输出地址看看,你这样比较的是两个地址,当然是false了。第一个直接缓存 数据共享Hello,是true。

  • 回答 3

    采用接口(Interface)的中变量默认为static final的特性在普通类中使用final修饰变量采用了Java 5.0中引入的Enum类型。,也就是所谓的枚举类

  • 回答 6

    其实就一句话:只要是有多个线程访问并修改某个变量或是区域的话,一定要加1653上同步设置(比如同步控制语句,互斥锁,信号量,原子操作等等)。B/S结构中,如果你不编写类似Apache等的HTTP Server,那么你不用考虑线程安全这个问题。如果有多个用户访问数据库...

  • 回答 8

    同步方法  使用synchronized 修饰方法  ==》 解决线程安全问题同步代码块  synchronized(被加锁的对象){ 代码 }  ==》 解决线程安全问题锁机制Lock  ==》 解决线程安全问题   (这个例子在ex2上修改而成的)...

  • 回答 4

    当多个线程访问同一个共享数据时,有可能会出现线程安全问题

没有解决我的问题,去提问