一、基础和语法

1.      Java中的进制:

1)十进制 à 二进制

例:100(10进制)  =  ?(2进制)

解:  100  = 64 + 32 + 4

= 2^6 + 2^5 +2^2

0100 0000

0010 0000

0000 0100

---------------------------

0110 0100

2) 二进制 à 十进制

例: 101 1010(二进制)  = ?(十进制)

解:    101 1010 = 2^6 + 2^4 + 2^3 + 2 = 90

3) 十进制(负数)  à  二进制

规律: -n = ~n + 1

例: -110 (10进制) = ?(2进制)

110 =  64 + 32 + 8 + 4 + 2

0100 0000

0010 0000

0000 1000

0000 0100

0000 0010

---------------------

0110 1110

取反:1001 0001

+1  :1001 0010

因此,结果为1001 0010

4) 二进制(以 ”1” 开头的二进制数)  à  十进制

规律:

以”1” 开头的二进制数化为十进制数的步骤:

先减一,然后对其求反,把得到的数化为十进制,最后给该数加负号。

例: 1000 0101(2进制)  = ?(10进制)

解:

减1:    1000 0100

取反:    0111 1011

化10进制:2^6 + 2^5 +2^4 + 2^3+2^1+1 = 123

加负号:     -123

5)十六进制:  引入16进制的目的:简化2进制

0 12 3 4 5 6 7 8 9 A B C D E F

例:

41(16进制)  = ?(10进制)

=  4×16 + 1 = 65

例:

0110 0010(2进制)  = ?(16进制)

0110 = 6

0010 = 2

0110 0010 = 62

规律:四个数一组,化为16进制

2.Java中的数据类型:

基本类型(8种):

整数类型: byte (二进制位数:8 bit,1个字节,表示范围:0x80-0x7f);

short(二进制位数:16 bit,2个字节,表示范围:0x8000-0x7fff);

int  (二进制位数:32 bit,4个字节,表示范围:0x8000 0000-0xfff ffff);

long (二进制位数:64 bit,8个字节,表示范围:-2^63  - 2^63-1);

浮点类型: float(二进制位数:32 bit, 4个字节);

double(二进制位数:64 bit,8个字节);

字符类型: char(二进制位数:16 bit,2个字节);

布尔类型: boolean (二进制位数:根据JVM情况而定)

3.什么是面向对象?

对象,即人们要进行研究的事物,对象具有状态和行为,用数据来描述对象的状态,用操作来描述对象的行为,对象实现了数据和操作的结合。面向对象,就是在解决问题时,将问题涉及到的事物分解成各个对象,分解的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题的步骤中的状态和行为。

4.面向对象和面向过程的区别?

面向过程,就是在解决问题时,分析出解决问题所需要的步骤,然后用函数来把这些步骤一步一步的实现,使用的时候一个一个的依次调用就可以了。

面向对象,就是在解决问题时,将问题涉及到的事物分解成各个对象,分解的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题的步骤中的状态和行为。

5.面向对象的特征?

面向对象的主要特征有以下几个方面:

1)抽象:  抽象就是忽略一个问题中与当前目标无关的那些方面,以便更充分的注意与当前目标有关的部分,抽象不打算了解问题的全部,而是只选择其中的一个部分,抽象包括两个方面:过程抽象和数据抽象。

2)封装:就是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

3) 继承:对象的一个新类从现有类中派生,这个过程就是继承。新类继承了原始类的特性,新类称为原始类的子类,原始类称为新类的父类。子类可以从父类继承方法和变量,实现类的复用。

4)多态:多态是指允许不同类的对象对同一消息作出不同的响应。

6.类的初始化次序是怎么样的?

大家在去参加面试的时候,经常会遇到这样的考题:

给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。

我们大家都知道,在同一个类中,对于静态变量、静态初始化块、变量、初始化块、构造器,

它们的初始化顺序依次是:

(静态变量、静态初始化块)>(变量、初始化块)>构造器。

下面通过一段代码来验证一下:

package audition;

/**

* 类的初始化顺序问题:

*

*@author wwenbo

*

*/

public class ClassIntialOrder {

//1.定义变量

publicString field = "变量";

//2.定义静态变量

publicstatic String staticField = "静态变量";

//3.构造器

publicClassIntialOrder() {

System.out.println("构造器");

}

//4.初始化块

{

System.out.println("初始化块");

System.out.println(field);

}

//5.定义静态初始化块

static{

System.out.println("静态初始化块");

System.out.println(staticField);

}

publicstatic void main(String[] args) {

newClassIntialOrder();

}

}

上面的程序的打印结果如下:

静态初始化块

静态变量

初始化块

变量

构造器

那么,在继承当中的类的初始化次序又是怎样的呢? 再通过一段代码来看一下:

package audition;

public class SubClass extends ParClass {

//1.变量

publicString s_Field = "子类--变量";

//2.静态变量

publicstatic String s_StaticField = "子类--静态变量";

//3.构造器

publicSubClass() {

System.out.println("子类--构造器");

}

//4.初始化块

{

System.out.println(s_Field);

System.out.println("子类--初始化块");

}

//5.静态初始化块

static{

System.out.println(s_StaticField);

System.out.println("子类--静态初始化块");

}

publicstatic void main(String[] args) {

newSubClass();

}

}

class ParClass {

//1.变量

publicString p_Field = "父类--变量";

//2.静态变量

publicstatic String p_StaticField = "父类--静态变量";

//3.构造器

publicParClass() {

System.out.println("父类--构造器");

}

//4.初始化块

{

System.out.println(p_Field);

System.out.println("父类--初始化块");

}

//5.静态初始化块

static{

System.out.println(p_StaticField);

System.out.println("父类--静态初始化块");

}

}

打印结果如下:

父类--静态变量

父类--静态初始化块

子类--静态变量

子类--静态初始化块

父类--变量

父类--初始化块

父类--构造器

子类--变量

子类--初始化块

子类--构造器

大家可能会注意到一点,那就是,并不是父类完全初始化完毕后才进行子类的初始化,实际上子类的静态变量和静态初始化块的初始化是在父类的变量、初始化块和构造器初始化之前就完成了。另外,静态变量和静态初始化块的初始化次序,是按照定义的先后顺序进行的,变量和初始化块也是如此。大家可以调换静态变量和静态初始化块的次序来看一下。

初级java程序员面试题大全_Java初级程序员面试题大全相关推荐

  1. java判断时间区间 隔天_Java初中级程序员面试题宝典

    Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...

  2. java开发一年多少钱_JAVA开发程序员一个月到底能拿多少钱?年薪百万是真是假?...

    近年来,在网上只要是薪资排行榜,必然会出现IT行业,IT互联网行业常年在薪资排行榜上高居前三,因此都说程序员是个高薪行业,是个多金行业.既然如此,让我们来看看2020年JAVA开发程序员的薪资水平到底 ...

  3. java比较三个数的编程_Java小程序输入三个数求最大数

    Java小程序输入三个数求最大数代码: import java.io.*; public class Help { // 比较两个数字 public static void main(String[] ...

  4. java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...

    原标题:java原生程序redis连接(连接池/长连接和短连接)选择问题 最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下. ...

  5. java 在一个类中定义类_Java 中程序代码必须在一个类中定义,类使用( )关键字来定义。_学小易找答案...

    [填空题]每一个 else 子句都必须和它前面的一个距离它最近的 子句相对应. [单选题]有关类的说法,正确的是( ) [单选题]在JAVA中,无论测试条件是什么,下列( )循环体 将至少执行一次. ...

  6. java向kafka推送数据_Java编写程序将数据存入Kafka中

    Kafka是一个类似于RabbitMQ的消息系统,它的主要功能是消息的发布和订阅.处理和存储. 1.它类似于一个消息系统,读写流式的数据. 2.编写可扩展的流应用处理程序,用于实时事件响应的场景. 3 ...

  7. java默认权限什么时候使用_Java 应用程序默认权限(简例)

    应用程序与Applet不同,没有自动安装的安全管理器.默认情况下,应用程序具备完全的权限.这里创建一个应用程序获得系统属性值 /* * @(#)GetSysprop.java 1.0 06/08/07 ...

  8. java中1%4是多少_java语言程序设计基础篇课后编程练习答案2~4章

    import javax.swing.JOptionPane; //2.4 /*public class LQ { public static void main(String []args) { S ...

  9. java 用程序代码解释继承_关于初级java程序员笔试题

    关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...

  10. java只会用不知道原理6_程序员面试宝典之14道初级Java面试题分享

    程序员面试宝典之14道初级Java面试题分享 程序员面试宝典之14道初级Java面试题分享! 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应 ...

最新文章

  1. win7‘上帝模式’
  2. 金融量化alpha和beta值的意义
  3. 谈谈招聘时我喜欢见到的特质
  4. 制作win7+ubuntu +winPE+CDlinux多系统启动U盘
  5. leetcode 剑指 Offer 05. 替换空格
  6. linux inputuevent使用
  7. mysql数据表中取几列_MySQL查询数据表中数据记录(包括多表查询)
  8. [转][中文/英文]VC6 sp6补丁下载|VS6 sp6补丁下载 [防VC6卡死]
  9. 异步电动机的matlab建模与仿真,异步电动机的matlab建模与仿真
  10. sumif计算机怎么学,SUMIF 带给Excel不一样的条件求和
  11. 玛雅日历和2012年12月,whats的新政
  12. 【渝粤题库】陕西师范大学292251 公司金融学Ⅰ 作业(高起专)
  13. 科学家正在尝试取用脂肪细胞3D打印人类心脏
  14. Unity API - A
  15. 从字节跳动提前批来看今年校招形势
  16. 不在乎 -- 陆琪
  17. 逐行读txt文件(读写文件try catch finally 处理空行,编码格式,文件流释放问题,处理读到重复问题)
  18. 实现阿里云OSS文件上传
  19. 没错,你看到的这张图,我用Python画出来了!
  20. python编程猜拳游戏_python写猜拳小游戏

热门文章

  1. 按键精灵+屏幕录像专家实现数据抓包录制
  2. 在IBM AIX p750小机上为Oracle扩展逻辑卷-视频分享
  3. tomato(番茄)固件的简单设置截图
  4. 阿里P3C自定义规则后本地打包成IDEA插件
  5. 测试工程师面试题整理
  6. selenium--自动化识别图片验证码并输入
  7. VUE项目开发的完整流程
  8. 如何彻底删除adobe?adobe官方清理工具怎么用?
  9. C/C++中最快、最简洁的read()快读(卡常数)方法
  10. CSS实现盒子居中对齐的七种方法