java 四类八种基本数据类型

第一类:整型 byte short int long

第二类:浮点型 float double

第三类:逻辑型 Boolean(取值为 true false)

第四类:字符型 char


& 与 运算符。

| 或 是java中的位运算符,对二进制进行计算,两位都是1返回1,否则返回0。

^ 异或 是java中的位运算符,对二进制进行计算,两位不同返回1,否则返回0。


== 可以用来比较引用类型(比较的是虚地址),也可以用来比较基本数据类型(比较的是二进制)。 值得注意的是,可以将基本数据类型与包装器类型进行比较。只要值相同就返回true。int=10 与 double=10.0 返回true。


witch 语句有如下规则:(1)switch 语句中的变量类型只能为 byte、short、int 或者 char。(2)当变量的值与 case 语句的值相等时,那么从 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。switch 语句可以包含一个 default 分支,该分支必须是 switch 语句的最后一个分支。(3)default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。


break 用来中断循环语句,continue用来继续循环。breake 中断后跳出循环体,continue继续下一次循环,但continue后的语句不在运行。continue只能再循环语句中使用,break可以在其他分支中中使用。


java语言中,进行值传递的时候,基本数据类型传递就是值,只是把值拷贝给形式参数,对其参数进行修改不影响。

                引用类型传递的是虚地址。


java语言中,静态static可以修饰属性,可以修饰成员方法,只初始化一次。使用static修饰成员后,成员变成类成员,多个对象共享。static方法中可以直接使用static成员,如果调用非static成员,需要使用对象调用。非static方法中可以直接使用static或非static成员。


final修饰变量后,变量成为常量,不可被修改。final不仅可以修饰属性,也可以修饰方法中的局部变量。当修饰属性时,要么声明的同时赋值,要么在构造方法为其赋值,不能在其他地方对其修改。如果使用 static 和 final 同时修饰,则必须在声明的同时赋值(常量命名规范用大写!)。


super关键字有两个作用,都是在继承关系中,子类中使用。第一个是在子类的方法中,使用 super.方法名() 调用父类的属性或方法。第二个作用是在子类的构造方法的第一句,显示的调用父类的某一个构造方法super(参数)。在子类的add方法中,先要使用super.add()调用父类的add()方法,再添加新的功能。


final 修饰类后,该类不能被继承,称为终极类。API中有很多终极类,例如String就是一个终极类。


instanceof(实例)  判断一个类对象 是不是 另一个类的子类。  e instanceof  Object  返回 true。


关联关系 一个类作为另一个类的属性纯在。程序中用得最多。


数组赋值 直接使用{}赋值的方式只能在声明的同时使用,否者会有编译错误。


finally 是总会被执行的代码,不管是否发生异常,不管异常是否被捕获。总会执行 finally 。 但是在之前如果已经退出虚拟机(system.exit)就不会被执行,也只有这种情况才不会被执行。


如何自定义异常?有什么作用?   只需要继承Exception或者Exception的任意一个子类就可以自定义一个异常。  自定义异常主要作用就是为了区分业务逻辑异常与API中的标准异常,以便能够有针对性的处理!


java的接口中 不能声明变量,只能声明静态常量;不能生明具体方法,只能声明抽象方法。常量和方法的默认访问权限都是public。 其本质就是一个抽象类,不能被实例化,用来规范其实现类的统一行为。

java的接口本质是一个特殊的抽象类,即不能有变量,所有的方法都必须是抽象方法。   抽象类中可以有变量,甚至可以没有抽象方法。


extends 指的是继承,可以用在类继承类,接口继承接口。其中类继承类是一对一的关系,接口继承接口是一对多的关系。

implement 指的是实现,可以用在类实现接口是一对多的关系。


Collection与Map有什么区别?   Collection是java中的一个顶级接口,其存储的元素可以是任意类型的对象。 Map是集合框架中的映射接口,以键值对的形式存储对象。

                Collection中存储的是一个一个的对象。而Map中存储的是一对一对的键值对。


Collection和Collections的区别? Collection是java中的一个顶级接口,其存储的元素可以是任意类型的对象。不能直接创建对象,可以使用其实现类创建对象。

                Collections是java集合框架中的一个类。是一个工具类,定义了若干的静态方法。可以对集合进行操作。

                Collections.sort(list)  即可以对list这个集合进行排序。


数组排序,集合排序。

           数组排序:Arrays.sort(i)  即可以对数组 i 进行排序。

           集合排序:Collections.sort(list)  即可以对list这个集合进行排序。


Set 和 List 有什么区别?     Set和List都是Collection的子接口。 Set是不重复的集合类,也就是说Set中的元素都是唯一的。但是Set中的元素也是无序的。

              List的元素可以重复,也都是有序的。


ArrayList和LinkedList的区别?   ArrayList 和 LinkedList 都是List的实现类,主要区别就是其底层的实现的数据结构不同,从而导致在不同的操作时性能不同。

                 ArrayList 底层使用的是一个数组实现,可以说是一个动态数组。当需要随机访问列表中的元素,使用ArrayList的性能较高。

                 LinkedList 底层使用双向链表实现,当需要频繁插入、删除列表中的元素时使用LinkedList的性能较高。


ArrayList和Vector的区别?    ArrayList和Vector都是List的实现类,底层都是使用动态数组来实现的。

               Vector是线程安全的(线程同步),而ArrayList是非线程安全的(不是线程同步)。


HashMap与HashTable的区别?    HashTable是JDK1.0中的类,JDK1.2之后实现了Map接口。HashMap是JDK1.2中新增的类。

                 HashTable的线程同步的(安全的),HashMap是非线程同步的(不安全的)。

                 HashTable中不能有null的key和value,HashMap中可以有一个null的key和多个null的value。


HashMap与TreeMap的区别?    TreeMap 不仅能保证Key唯一,还能把条目按照Key排序(升序)


TreeSet 和 HashSet的区别?     TreeSet和HashSet都是唯一的,但TreeSet能把元素进行排序。


Math中的 round 是方法是返回一个与参数最接近的长整形数值。正数:(四舍五入)    负数:(五舍六入)。


Math中的 ceil(天花板)方法返回比参数大的最小整数, floor(地板)返回比参数小的最大整数。


Math中的 random(返回随机数),大于0.0小于1.0的。


实现线程的两种方法?   第一种:继承Thread类,重写run方法。第二种:实现 Runnable接口,重写run方法,使用Thread(Runnable)构造方法实现线程。


synchronized(同步)关键字能实现同步的功能,保证同一时刻只有一个线程操作同步的对象。    synchronize(对象){}

      synchronized(this){

      }


Thread类中join方法有什么作用?    join方法能够强制某线程抢占时间片。调用join方法的的线程有优先执行的权利,直到该线程死亡,才会执行其他线程。

                 join(5000)可以指定该线程抢占时间片的时间,单位(毫秒)。


与线程间通讯相关的有哪些方法?    notify()   唤醒此对象监视器上等待的单个线程。

                  notifyll() 唤醒此对象监视器上等待的所有线程。

                  wait() 释放同步锁 ,让线程进入等待状态。导致当前线程等待,直到其他线程调用此对象的notify()方法或notifyll()方法。

                  wait(60000) 释放同步锁 ,让线程进入等待状态。导致当前线程等待,直到其他线程调用此对象的notify()方法或notifyll()方法,或超过指定的时间量。

                  sellp()不释放同步锁,让线程进入睡眠状态,是Thread的方法。

java模拟面试 试题的更多相关文章

  1. Java 模拟面试题

    1.面向对象的特点 继承,封装,多态 2.对象和类的区别是什么? 对象是对客观事物的抽象,类是对对象的抽象.类是一种抽象的数据类型,它们的关系是,对象是类的实例,类是对象的模板. 3.静态成员和实例成 ...

  2. 【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!

    本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.欢迎 Sta ...

  3. 【搞定 Java 并发面试】面试最常问的 Java 并发进阶常见面试题总结!

    本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.觉得内容不错 ...

  4. 一份最贴近真实面试的Java基础面试题

    这是一份Java基础知识的面试题.在网上的关于Java的面试题数不胜数,但认真看过感觉大多数都没有实用性,有很多是面试官根本就不会问到的,那些已经脱离了实际开发的技术问题.而这份资料来源自一份个人觉得 ...

  5. Java程序员备战“金九银十”必备的面试技巧(附携程Java岗面试题)

    一.面试前的准备 1.1 如何准备一场面试1.1.1 如何获取大厂面试机会1.1.2 面试必知 ①. 准备介绍自己 ②. 关于着装 ③ .随身带上自己的成绩单和简历 ④. 如果笔试就提前刷一些笔试题 ...

  6. 一线大厂面试官最喜欢问的15道Java多线程面试题

    前言 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分.如果你想获得更多职位,那么你应该准备很多关于多线程的问题. 他们会问面试者很多令人混淆的Java线程问题.面试官只是想确信面试者 ...

  7. java技术面试之面试题大全

    转载自:http://blog.csdn.net/lijizhi19950123/article/details/77679489 Java 面试知识点总结 本篇文章会对面试中常遇到的Java技术点进 ...

  8. python模拟面试技术题答案

      目录 Python4期模拟面试技术面试题答案............................................................................ ...

  9. Java笔试面试题整理第三波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51247785 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

随机推荐

  1. Material Design Lite,简洁惊艳的前端工具箱 之 交互组件。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, 博客地址为http://www.cnblogs.com/jasonnode/ . 网站上有对应 ...

  2. linux下JsonServer启动

    1:进入到JsonServer run.sh目录下; 2:执行"export PATH=.:$PATH"; 3:执行"run.sh start"; 这样便把Js ...

  3. 查询和删除表中重复数据sql语句

      1.查询表中重复数据.select * from peoplewhere peopleId in (select   peopleId   from   people   group   by   ...

  4. PhpStorm创建Drupal模块项目开发教程(2)

    通常支持Drupal HOOK的文件为.module.首先我们需要在这里对它进行声明,以便索引,并且在代码完成中使用Ctrl+Space(空格)完成HOOK实现. Drupal HOOK调用,通常情况 ...

  5. WCF、MongoDB

    http://www.cnblogs.com/quietwalk/archive/2011/08/09/2132573.html http://www.cnblogs.com/huangxinchen ...

  6. 一次APP测试的感悟

    项目经理担责任.产品担责任.测试只需要把测试中发现的问题展示出来.如实反应问题.谁担责任谁有权利决定上不上线.所以他们直接绕过了测试.APP的上线让我学到了很多东西,见识了很多东西,也感悟了很多.这是 ...

  7. 一个jQ版大图滚动

    难得周末能休息,也是越发的代码难受,手就想敲点东西,这不闲着无聊敲了一个Jq版的大图滚动,不足之处大家批评指正: 运作环境win7,代码编辑器是:sublime; 我把源码复制了一下, <!do ...

  8. ASP.NET Core 使用 AutoFac 注入 DbContext

    DI 1.0 -- 通过 RegisterInstance 注入 一开始,并不是很懂 AutoFac 的用法,又因为要使用特定的构造器和参数来初始化 DbContext,所以我想到的办法就是使用 Re ...

  9. 定时备份SQL SERVER的数据库并且把备份文件复制到另外一台服务器

    需求介绍:每天备份线上正式库并且把备份文件复制到测试服务器,测试服务器自动把数据库备份文件还原. 方案介绍: 第1步:在正式库上创建存储过程用来备份数据库和复制到测试服务器,然后新建作业每天定时执行创 ...

  10. 复旦大学2014--2015学年第二学期(14级)高等代数II期末考试第八大题解答

    八.(本题10分)  设 $A,B$ 为 $n$ 阶半正定实对称阵, 求证: $AB$ 可对角化. 分析  证明分成两个步骤: 第一步, 将 $A,B$ 中的某一个简化为合同标准形来考虑问题, 这是矩 ...