什么变量用来贮存Java_Java基础(一)

一、一个“.java”源文件中是否可以包含过个类?

两种情况

1、内部类

(1)在类中定义一个类(私有内部类、静态内部类)

(2)在方法中定义一个类(局部内部类、匿名内部类)

2、可以多个,但是只能有一个public的类,并且public的类名必须与文件名相同

二、实际项目中&与&&的相同点与不同点

相同点:&和&&都可以作为逻辑与的运算符,表示逻辑与(and)

当运算符两边的表达式的结果都为true时,整个运算结果才为true,反之有一方为false,则结果为false。

不同点:

&&短路功能:即如果第一个表达式为false,则不再计算第二个表达式。例如:if(a!=null&&b!=null)表达式,当a为null时,后面的表达式不会执行,b!=null不用管。

&位运算符:参与运算的两个数值将按二进制进行与运算。如果两个相应的二进位数为1,则该位的结果为1否则为0 即:1&1=1,1&0=0,0&0=0,0&1=0 3&5=00000011&00000101=00000001=1

if(a!=null&&!a.equals(""))可以防止空指针异常

三、switch语句是否能用在byte上,long上,String上?

1、switch语句由一个控制表达式和多个case标签组成

2、switch控制表达式支持的类型有byte、short、char、int、enum(Java5)、String(Java7)

3、switch-case语句完全可以与if-else语句互转,但是通常来说前者的执行效率更高。default在当前switch找不到匹配的case时执行,default并不是必须的。

4、一旦case匹配,就会顺序执行后面的代码,而不管后面的case是否匹配,知道遇到break。

5、同样支持byte、short、char、int他们对应的包装类

四、Java基本数据类型之间的级别转换考题

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编译器会对其进行特殊处理,因此可以正确编译。

五、Java中char类型变量中能不能贮存一个中文汉字?为什么?

可以!

1、char型变量是用来存储Unicode编码的字符的,Unicode编码字符集中包含了汉字,所以char型变量当然可以存储汉字

2、如果某个特殊的汉字没有被包含在Unicode编码字符集中,那么这个char类型变量中就不能存储这个特殊汉字

3、Unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。

六、用最有效的方法算出2乘以32等于?

2<<5 位运算

1、将一个数左移n位,就相当于乘以2的n次方;

2、一个数乘以8将其左移3位即可,位运算时CPU直接支持的,效率最高

七、使用Final关键字修饰一个变量时,是引用不能变?还是引用的对象不能变?

引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。

是引用对象的地址值不能变,引用变量所指向的对象的内容是可以改变。

final变量永远指向这个对象,是一个常量指针,而不是指向常量的指针。

例如:final StringBuffer sb= new StringBuffer(“abc”);

在对其进行重新赋值

sb= new StringBuffer(“”);

会出现编译错误,被final修饰的变量是不能被重新赋值的。

sb.append(“d”);

是可以编译通过的;

八、静态变量(类变量)和实例变量都是什么?

1、首先在语法定义上区别:静态变量前面要加static,实例变量不用。

2、在程序运行时:实例变量输入对象的属性,必须创建了实例对象(如 new)才会被分配空间,才可以使用实例变量,静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用。静态变量被该类的所有对象共用。

3、总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用

九、从一个static方法内部能不能发出对非static方法的调用,Java能实现吗?

不可以!

1、非static方法是要与对象关联在一起的,必须创建对象后才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。

2、当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法内部发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?所以不可以!

十、Integer与int的区别?对象类型?基本类型?

1、int是Java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是Java为int提供的封装类。

四个整数类型:byte(8)、short(16)、int(32)和long(64)

两个浮点类型:float(32)、double(64)

一个布尔类型:boolean

一个字符类型:char(16)

字节:byte 位:bit 1 byte=8 bit

2、int的默认值是0,Integer的默认值是null,即Integer可以区分未赋值和值为0的区别,int则无法表达出未赋值的情况

3、Integer的默认值是null,所以用el表达式在文本框中显示时,值为空白字符串,而int则会显示0,所以int不适合作为web层的表单数据的类型。

4、Integer提供了多个与整数相关的操作方法,比如将一个字符串转为整数,Integer中还定义了表示整数的最大值与最小值。

5、 在使用ORM框架(mybatis,hibernate…)的时候,我们都需要定义一个JavaBean来映射数据表,整数是我们经常要用到的数据类型,在以前,我只知道数据库中整数类型的数据在java中可以定义成int或Integer类型,当定义成int或Integer类型时,对数据的存储并没有什么影响,可是到了获取数据的时候出现了错误。

昨天发现明明数据中没有数据,可还是查出了数据。并且为0,怎么找都没用,后面发现定义为int会有默认值0,定义成Integer类型就不会出现上面的情况,因为引用数据类型的默认值是null

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值