java中一些小知识点(面试)

##看别人博客,发现这些题目还是有一定的迷惑性的,因此就在博客中记录下来。

3)下列选项中,哪一项能够正常编译: C

    A:int i = Integer.valueOf(1.2);
    理由:Integer.valueOf(int/String);只有这两种参数
    B:char c = "a";不能将字符串类型转化为字符型
    C:byte b = 127;
    D: float f = 1.3;理由:不能将double型转换为float类型

4)下面代码的运行结果是:A

       public static void main(String[] args){

             String s;

             System.out.println("s = " + s);

       }

    A:由于String s没有初始化,代码不能通过编译;
    B:抛出NullPointException异常
    C:输出s=;
    D:输出s = null;

要是我们没有掌握好,我们可能就会选D这个错误的选项,上题中的选择A的原因就是,局部变量必须得初始化;

但是,如果我们某个类有一个String类型的属性,默认就用“null”进行初始化,当我们进行这个属性的输出的时候就选择D这个选项。

6)上面语句一共产生了多少个对象? 答案:A

String a = “aaaaaa”;

String b = a.substring(2, 3);

String c = a.toString();

String d = new StringBufer(a).toString();

A:3个; B:4个 C:5个 D:6个

上题解析:第一个是一个对象,第二个也是一个对象,第三个与第一个对象是同一个对象(这个就是一个字符串的缓冲池的概念在里面),第四个又是一个新对象(因为他用new就是在强调我想要一个新对象,不要旧的);如果还有这样一个表达式:String str=new String(“aaaaaa”);这个也是一个新的对象(只要使用new产生的对象均是新的对象),也上面的对象都不一样。

7、下面程序的输出结果是:C

    A:输出null;    B:抛出异常    C:输出0;    D:输出1
package org.wrh.programbeautiful;
public class TestDemo01 {
    private static  int i;
    public static void say(){
        System.out.println(""+i++);
    }
    public static void main(String[] args) {

        ((TestDemo01)null).say();//这个不知道为什么输出为:0
        // say();这个结果不用多少为 1,
    }

}  

将null类型强制转换为TestDemo01类型,然后调用TestDemo01类中的say函数,但是为什么输出为0呢???

懂的人可否给我讲解一下,谢谢

上面的题目来源见这里

时间: 2024-10-12 21:21:42

java中一些小知识点(面试)的相关文章

java中的小知识点

1.数据类型的相关知识点 1.1.java内置封装类的转换 java中内置的封装类Byte.Integer.Float.Double和Long都可以转换成double类型的数值:因为这些封装好的类中都有doubleValue()的方法,进而调用此方法就可以转换成Double类型的数值啦:[各个类声明的引用对象,都会有相应的xxxValue()方法,转换成自己需要的数据类型] 比如: package fdx.test.ShuJuKind; public class TestOne { public

记录神经网络中一些小知识点

记录神经网络中一些小知识点 1 Caffe中的blob维度 Caffe中的blob具有4个维度,分别是num,channel,width和height: 其中我们在定义各个网络层时,常用到的一个参数numout,就是指定的channel: 比如说,维度为1*3*5*5的数据输入网络(即每次输入一张5*5大小的3通道图),经过一个stride为2,pad为1,kernel为2,numout为2的卷积层后,维度就变成了1*2*3*3: 假如输入有n个通道,计算时,caffe就会对应产生n个filte

私人定制javascript中数组小知识点(Only For Me)

先上笑话,1.刚看到一个游泳的,想起公司组织去三亚旅游,老板跳海里,各种挣扎,捞上来老板第一句话:我记得我会游泳的啊. 2.媳妇说:老公对不起,我把你新买的自行车撞散架了! 老公:没事宝贝,你若安好,便是晴天! 媳妇说:老公你太有诗意了. 老公:滚犊子,安不好我整死你! 数组的概念 javascript数组是值得有序集合,不过它实属一个javascript对象的特殊形式,这是一个很重点的定性. 创建数组 1.var a=new Array();//等同于[] 2.var a=new Array(

Java中的小细节

1.访问权限 1.private 只有本类才能被访问 2.default(默认)只有本包中才能被访问 3.protected只有子类和本包才能被访问,可以跨包. 4.public 可以在所有类中被访问 2.Java命名规范 1.类.所有单词首字母大写 2.方法.第一个单词的首字母小写 3.属性.第一个单词的首字母小写 4.包名.所有单词小写 5.常量.所有单词的字母大写.final定义的 Java中的小细节,码迷,mamicode.com

私人定制javascript中对象小知识点(Only For Me)

废话不多讲,先上笑话,然后再,.看懂这个的说明你的节操已经不再了. 晚饭后去理发店理发...割了吧...老板问我怎么剪,我悠悠的来一句往帅了剪...高潮往往令人想不到....旁边一在焗油烫头发的大妈说到 别这样为难老板,人家赚点钱不容易...首先如果你是高手那么请出门右转,如果你是菜鸟那么恭喜你,go on吧 全局对象在javascript程序中任何位置,都可以拈来就用的这种东西,是全局对象的属性.那么属性所在的对象也就是全局对象了.当javascript解释器启动时(或者任何Web浏览器加载新

私人定制javascript中函数小知识点

函数的定义 首先在javascript中,函数就是对象,程序可以随意操控它们.比如,可以给它们设置属性,甚至调用它们的方法.函数使用function关键字来定义.它既可以用在函数定义表达式,也可以用在函数声明语句中.函数声明function后面必须要更上函数名称也就是所谓的函数名称标识符.如果是函数表达式函数名称标识符可有可无.这段重点是函数是对象,所以函数表现出来的种种行为你想想成对象,那么很多疑惑可能就恍如昨日初见. 函数调用 4种方式来调用javascript函数: 1.作为函数 就是函数

面试中关于Java中涉及到知识点(转)

本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺. 1. Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么? (1)boolean boolean数据类型非true即false.这个数据类型表示1 bit的信息,但是它的大小并没有精确定义. <Java虚拟机规范>中如是说:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持.在Java虚拟机中没有任何供

java中一些小知识和面试问题

抽象类的总结几点: · 抽象类与普通类相比最大的不同只是在于抽象类之中存在有抽象方法,所以在抽象类之中依   然可以定义属性.构造方法等 · 抽象类声明时不允许使用 final,抽象类必须要求有子类,而 final 定义的类是不能够有子类的. · 抽象类之中即使没有抽象方法,那么也不能够被直接实例 JAVA 中的主方法可以说创造了一个长的之最,其组成有许多的关键字,下面来分析每一个关键字:  · public:指的是公共的:  · static:使用 static 定义的方法必须由类名称调用: 

java基础语法小知识点总结:(一次小测试)

1.JAVA标识符的规则是这样的 标识符由字母.数字.下划线“_”.美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字.也就是说除了_ $ ¥这3个符号外,标识符只能有数字和字母,什么括号,这样那样的都不是标识符的组成部分. 不能把关键字和保留字作为标识符. 标识符没有长度限制. String $1; String Y2; String idfkd$fff; String adkYdkjk; String _djfkdj; String dkjfkdj_dfe; String f444