`

1111111111111111

 
阅读更多

5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。


6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。
对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。

 

 

==和equals()方法的区别

 

		char c = '都';
		String s = "面包";
		String s2 = "面包";
		String s3 = new String("面包");
		System.out.println(s==s2);
		System.out.println(s.equals(s2));
		System.out.println(s==s3);
		System.out.println(s.equals(s3));
		
		String s4 = "面包" + "a";
		String s5 = "面包" + "a";
		String s6 = new String("面包" + "a");
		System.out.println(s4==s5);
		System.out.println(s4.equals(s5));
		System.out.println(s4==s6);
		System.out.println(s4.equals(s6));

 
12、静态变量和实例变量的区别?
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。

 

	public class VariantTest {
		public static int staticVar = 0;
		public int instanceVar = 0;

		public VariantTest(){
		staticVar++;
		instanceVar++;
		System.out.println("staticVar=" + staticVar + ",instanceVar=" + instanceVar);
		}
	}

 
备注:这个解答除了说清楚两者的区别外,最后还用一个具体的应用例子来说明两者的差异,体现了自己有很好的解说问题和设计案例的能力,思维敏捷,超过一般程序员,有写作能力!

分享到:
评论

相关推荐

    ros-car1111111111111111

    在这个场景中,"ros-car1111111111111111"可能指的是一个基于ROS的汽车模型项目,而"car_model"可能是项目中的关键组件或模块。 这个项目的描述虽然没有给出具体信息,但我们可以假设它涉及创建一个模拟或真实的...

    qtros.zip1111111111111111

    "qtros.zip1111111111111111" 这个标题看似是由两部分组成,一部分是"qtros.zip",这可能是一个与Qt库相关的项目或者资源文件,"zip"表明它是一个压缩文件格式。后缀的数字序列"1111111111111111"可能是用户为了区分...

    数据结构笔记1111111111111111

    数据结构笔记1111111111111111

    sql.sql1111111111111111

    sql.sql1111111111111111

    神经网络资源1111111111111111

    神经网络资源1111111111111111

    gtest_test1111111111111111.zip

    标题中的“gtest_test1111111111111111.zip”表明这是一个使用Google Test(gtest)框架编写的测试项目,并且可能包含一系列的测试用例。Google Test是Google开发的一个开源的C++测试库,它为C++程序员提供了一种...

    DOS常用命令符1111111111111111

    在" DOS常用命令符1111111111111111 "这个主题中,我们将深入探讨一些DOS中的核心命令,这对于理解和使用DOS系统至关重要,尤其是对于C/C++编程人员来说,掌握这些基础操作能够更好地进行开发和调试工作。...

    sonar配置文件1111111111111111

    sonar配置文件1111111111111111

    SQL21简单语句1111111111111111

    ### SQL21简单语句1111111111111111 #### 知识点概述 本章节旨在介绍基础的SQL语句,通过一系列的学习资料帮助初学者快速掌握SQL的基本使用方法。从SQL的历史背景、基本语法到具体的查询语句、表达式与函数的应用...

    PFD16.py1111111111111111

    PFD16.py1111111111111111

    csv命令注入示例1111111111111111

    csv命令注入示例1111111111111111

    《大自然之歌》课件1111111111111111.ppt

    《大自然之歌》课件1111111111111111.ppt是一个关于七年级美术教育的课程,旨在教授学生关于色彩的基础知识,并通过欣赏大自然的美丽来激发他们对艺术和环境保护的热情。这节课的重点在于理解和运用色彩理论,包括三...

    大事件接口文档.md1111111111111111

    大事件接口文档.md1111111111111111

    stm32笔记自己用的1111111111111111

    stm32笔记自己用的1111111111111111

    tuling homework1111111111111111

    【标题】:“tuling homework1111111111111111” 这个标题看起来像是一个编程作业或项目,其中“tuling”可能是指“图灵”,可能是一个课程、团队或者个人名字的缩写。而“homework1111111111111111”很可能代表这...

    JAVA1111111111111111

    【JAVA语言】 1. **面向对象的特性**:面向对象编程是Java的核心,它包括三个基本特征:继承、封装和多态。继承允许一个类(子类)继承另一个类(父类)的属性和方法,封装是将数据和操作这些数据的方法绑定在一起...

    zj1111111111111111

    zj1111111111111111

    NFD1111111111111111

    NFD1111111111111111

Global site tag (gtag.js) - Google Analytics