java基础你可能错过的知识点

     本文针对刚入行java的童鞋 

  1. Java的跨平台 是通过什么实现的?
        通过在不同平台上安装相应的Java虚拟机实现的;虚拟机可以将字节码文件(class)解释成相应平台的机器语言并执行。
  2.  Java语言释型还是编译型?还是两者都是?       
        先编译成.class文件再交给jvm虚拟机解释执行。
  3. DOS下,dir命令表示什么含义?cd表示什么含义?                                           
        dir:查看某个目录下的子目录和文件       cd:改变当前目录。
  4. 为什么采用Java_HOME的方式配置 环境变量较好?
        便于Java_HOME路径的重用,避免由于JDK安装路径变化而修改多个环境变量。
  5. 编程时,为什么需要注释?注释的类型?
        注释就是程序员为读者作的说明,是提高程序可读性的一种手段;注释同时也是调试代码时的一种手段,
        可以对某些不要执行的代码进行注释;注释分为单行注释,多行注释和文档注释三种类型。
  6. 如何将10进制转换为2进制数据 ?
        不断除2取余,再逆序排列。
  7. 标识符能不能使用汉字开头?为什么?
        可以,字母的含义包括:英文、汉字等(不建议大家使用汉字来定义标识符)。
  8. 如何将10进制转换为2进制数据 ?
        不断除2取余,再逆序排列。
  9. Java中有没有goto语句?有没有 goto关键字?                                                             
         java中没有goto语句,有goto关键字(goto作为保留字)。
  10. 浮点数能用于比较吗?下面可能打印什么结果:                                
        floatd1=423432423f;    
        floatd2=d1+1;    
        if(d1==d2){
            System.out.println("d1==d2"); 
        }else{ System.out.println("d1!=d2");}                  
        打印结果为:d1==d2 float类型的数据在内存中的存储形式为科学计数法,且有效位数为7位,则d1为4.2343242E7,
        d2用科学计数法表示同样为4.2343242E7,因此d1==d2;所以说浮点数不能用来比较,因为比较结果不精确。
  11. 布尔型变量占用空间是一位还是一个 字节?
        布尔型变量占一位
  12. 引用类型是占用几个字节?                    
        引用数据类型占4个字节,用于存储对象的引用
  13. 运算符||和|的异同之处?                               
        相同: ||与|都是逻辑运算符,运算规则都为只 要有一个为true,则直接返回true          
        不同: ||短路或:从左到右计算,如果符号左边的操作数为true,则不会继续计算,直接返回true;如果符号左边的操作数为false,则需要继续计算 
            |逻辑或:操作数左右两边的操作数都需要计算,不会发生短路||只是逻辑运算符 |还可以是位运算符中的按位或符号。
  14. long能自动转换成float吗?                       
        可以自动转 成float
  15. float精确到7位小数,double精确到14位小数
  16. Math.random()是什么意思?如果想获得15-20之间的随机数,怎么办?                   
        产生一个0-1之间的随机数,包含0但不包含1
        (int)(Math.random()*6)+15;
  17. switch中的表达式的结果需要是什么类型?                                          
        byte,short,int,char,jdk1.5加入了枚举,jdk1.7加入了String
  18. 交换两个变量的值可以用连续异或三次?
              例如:
                     int a = 4;   //0100
                     int b = 10; //1010
                     a = a ^ b;  //1110         a为a和b所对应二进制数对应位不相同的结果的二进制数(对应相同的位异或后为0,不同的为1)
                     b = a ^ b;  //0100
                     a = a ^ b;  //1010                                          
            参考:http://www.cnblogs.com/bsc2012/p/9260436.html
  19. 关于你所不知道的null用法详解?
            参考:https://www.cnblogs.com/greatfish/p/5906617.html
  20. 关于方法重载两同三不同指的是?
        两同:同一个类中,方法名称相同 
        三不同:参数列表的参数的类型,个数,顺序不同
  21. 数组的三种初始化方式是什么?                                              
        静态初始化                   int[]a={1,2,3};          
        动态初化   int[]a=newint[2];  a[0]=1;a[1]=2;   
        默认初始化             int[]a=newint[2];
  22. 下面的数组定义哪些是正确的?
        A:inta[][]=newint[3,3];
        B:inta[3] [3]=newint[][];
        C:inta[][]= newint[3][3];
        D:int[]a[]=newint [3][3];
        E:int[][]a=newint[3][3];
        F.intarr1[2][3];
        G.int[][]a2=newint[2][];
        H.int[][] arr2=newint[][4];
        I.intarr3[][4]=newint[3][4];
        CDEG 是正确的
  23. 可变参数的作用及其用法
        作用:适用于参数个数不确定、类型确定的情况,java把可变参数当做数组处理
        用法:只能出现在参数列表的最后…位于变量类型和变量名之间,前后有无空格都可以,
        调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数
  24. 在jdk1.5后可以静态导入包   
        import static java.util.Math;  //导入这个包中的静态变量和方法
  25. 用枚举的创建的单具有例线程安全,且无视序列化


    各位博友如若发现文章中有不足之处,还望不吝赐教,万分感谢!!!
   

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值