c语言 常量表达式,常量表达式(什么叫常量表达式)

常量表达式

c语言,整型表达式和常量表达式中都没有变量参与吧?

完整问题:

好评回答:表达式没有变量参与?不是很清楚这个问题的定义,只是知道(a b)这种表达式下a和b都可以是变量

Java编译器对于String常量表达式的优化是什么呢?

完整问题:Java编译器对于String常量表达式的优化是什么呢?

好评回答:首先把问题摆出来,先看这个代码 String a = "ab"; String b = "a" + "b"; System。out。println((a == b));打印结果会是什么?类似这样的问题,有人考过我,我也拿来考过别人(蛮好玩的,大家也可以拿来问人玩),一般答案会是以下几种: 1。true "a" + "b" 的结果就是"ab",这样a,b都是"ab"了,内容一样所以"相等",结果true 一般java新人如是答。 2。false "a" + "a"会生成新的对象"aa",但是这个对象和String a = "ab";不同,(a == b)是比较对象引用,因此不相等,结果false 对java的String有一定了解的通常这样回答。 3。true String a = "ab";创建了新的对象"ab"; 再执行String b = "a" + "b";结果b="ab",这里没有创建新的对象,而是从JVM字符串常量池中获取之前已经存在的"ab"对象。因此a,b具有对同一个string对象的引用,两个引用相等,结果true。 能回答出这个答案的,基本已经是高手了,对java中的string机制比较了解。 很遗憾,这个答案,是不够准确的。或者说,根本没有运行时计算b = "a" + "b";这个操作。实际上运行时只有String b = "ab"; 3的观点适合解释以下情况: String a = "ab"; String b = "ab"; System。out。println((a == b));如果String b = "a" + "b";是在运行期执行,则3的观点是无法解释的。运行期的两个string相加,会产生新的对象的。(本文后面对此有解释) 4。true 下面是我的回答:编译优化+ 3的处理方式 = 最后的true String b = "a" + "b";编译器将这个"a" + "b"作为常量表达式,在编译时进行优化,直接取结果"ab",这样这个问题退化 String a = "ab"; String b = "ab"; System。out。println((a == b));然后根据3的解释,得到结果true 这里有一个疑问就是String不是基本类型,像 int secondsOfDay = 24 * 60 * 60; 这样的表达式是常量表达式,编译器在编译时直接计算容易理解,而"a" + "b" 这样的表达式,string是对象不是基本类型,编译器会把它当成常量表达式来优化吗?。

Java编译器对于String常量表达式的优化是什么呢?

完整问题:Java编译器对于String常量表达式的优化是什么呢?

好评回答:首先把问题摆出来,先看这个代码 String a = "ab"; String b = "a" + "b"; System。out。println((a == b));打印结果会是什么?类似这样的问题,有人考过我,我也拿来考过别人(蛮好玩的,大家也可以拿来问人玩),一般答案会是以下几种: 1。true "a" + "b" 的结果就是"ab",这样a,b都是"ab"了,内容一样所以"相等",结果true 一般java新人如是答。 2。false "a" + "a"会生成新的对象"aa",但是这个对象和String a = "ab";不同,(a == b)是比较对象引用,因此不相等,结果false 对java的String有一定了解的通常这样回答。 3。true String a = "ab";创建了新的对象"ab"; 再执行String b = "a" + "b";结果b="ab",这里没有创建新的对象,而是从JVM字符串常量池中获取之前已经存在的"ab"对象。因此a,b具有对同一个string对象的引用,两个引用相等,结果true。 能回答出这个答案的,基本已经是高手了,对java中的string机制比较了解。 很遗憾,这个答案,是不够准确的。或者说,根本没有运行时计算b = "a" + "b";这个操作。实际上运行时只有String b = "ab"; 3的观点适合解释以下情况: String a = "ab"; String b = "ab"; System。out。println((a == b));如果String b = "a" + "b";是在运行期执行,则3的观点是无法解释的。运行期的两个string相加,会产生新的对象的。(本文后面对此有解释) 4。true 下面是我的回答:编译优化+ 3的处理方式 = 最后的true String b = "a" + "b";编译器将这个"a" + "b"作为常量表达式,在编译时进行优化,直接取结果"ab",这样这个问题退化 String a = "ab"; String b = "ab"; System。out。println((a == b));然后根据3的解释,得到结果true 这里有一个疑问就是String不是基本类型,像 int secondsOfDay = 24 * 60 * 60; 这样的表达式是常量表达式,编译器在编译时直接计算容易理解,而"a" + "b" 这样的表达式,string是对象不是基本类型,编译器会把它当成常量表达式来优化吗?。

库伦定律的数学表达式。表达式中有个常量叫什么。采用国际单位制单位,其数值是多少。它的单位是什么

完整问题:

好评回答:k=9.0*10^-19 单位是(N*m^2)/C^2 静电常数

“每个常量表达式的值不能相同,但次序不影响执行结果”有问题吗

完整问题:

好评回答:个人觉得有问题,常量表达式的值当然是可以相同的 如 int x=2; ? int y=2; //二个常量表达式的值都是2,完全是可以的

C语言中switch()语句形式中case只加常量表达式但不加语句是什么意思?

完整问题:C语言中switch()语句形式中case只加常量表达式但不加语句是什么意思?

好评回答:表示几个case共用一条/组语句。即它与下面离它最近那个有语句的case使用相同的语句。case 1:case 2:case 3: printf("123"); break;则不论1/2/3都输出123

匿名内部类(匿名内部类的写法) 匿名内部类 静态内部类的区别和联系是什么? 完整问题:匿名内部类,内部类,静态内部类的区别和联系是什么? 好评 […]...

合同法案例(合同法案例分析PPT) 合同法案例 合同法案例主要涉及哪些方面? 完整问题:合同法案例主要涉及哪些方面? 好评回答:  第一类:关于合 […]...

湖北课改网(课改网为什么登录不了) 湖北课改网 湖北高考课改网的用户名是什? 完整问题:湖北高考课改网的用户名是什么 好评回答:应该是学号。 湖北 […]...

幻灯片模版(教师节的ppt怎么做) 幻灯片模版 幻灯片怎样把字打到幻灯片模版? 完整问题:幻灯片怎样把字打到幻灯片模版上 好评回答:插入文档试试呢 […]...

六级分数线(六级425分算过吗) 六级分数线 六级有存在分数线的问题吗?多少才算过那? 完整问题:六级有存在分数线的问题吗?多少才算过那? 好评 […]...

教师招考网(2019荥经招聘) 教师招考网 安徽教师招考网网址是什? 完整问题:安徽教师招考网网址是什么 好评回答:这是我的回答,希望对你有帮 […]...

三阶行列式(521爱情行列式) 三阶行列式 则行列式2A的值是多? 完整问题:如果三阶行列式A的值为2,则行列式2A的值是多少 好评回答:你好 […]...

宋词三百首|清平乐·留春不住 王安国《清平乐·留春不住》留春不住,费尽莺儿语。满地残红宫锦污,昨夜南园风雨。小怜初上琵琶,晓来思绕天涯。不肯 […]...

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值