**第一天面试题**
###01.04_计算机基础知识(键盘功能键和快捷键)(掌握)
* A:键盘功能键
* a:Tab
* b:Shift
* c:Ctrl
* d:Alt
* e:空格
* f:Enter
* g:Window
* h:上下左右键
* i:PrtSc(PrintScreen)屏幕截图
* B:键盘快捷键
* a:Ctrl+A 全选
* b:Ctrl+C 复制
* c:Ctrl+V 粘贴
* d:Ctrl+X 剪切
* e:Ctrl+Z 撤销
* f:Ctrl+S 保存
###01.05_计算机基础知识(如何打开DOS控制台)(掌握)
* A:xp下如何打开DOS控制台?
* a:开始--程序--附件--命令提示符
* b:开始--运行--cmd--回车
* c:win+r--cmd--回车
* B:win7下如何打开DOS控制台?
* a:开始--所有程序--附件--命令提示符
* b:开始--搜索程序和文件--cmd--回车
* c:win+r--cmd--回车
* C:win8下如何打开DOS控制台
* a:鼠标左击开始--下箭头--命令提示符
* b:鼠标右击开始--搜索--cmd--回车
* c:鼠标右击开始--运行--cmd--回车
* d:win+r--cmd--回车
* D:win10下如何打开DOS控制台
* a:按住Shift鼠标右击—在此处打开命令窗口
* b:鼠标右击开始—所有应用 — windows系统 — 命令提示符
* c:鼠标右击开始--运行--cmd--回车
* d:win+r--cmd--回车
###01.06_计算机基础知识(常见的DOS命令讲解)
* A:d: 回车 盘符切换
* B:dir(directory):列出当前目录下的文件以及文件夹
* C:cd (change directory)改变指定目录(进入指定目录)
* D:cd.. : 退回到上一级目录
* E:cd\: 退回到根目录
* F:cls : (clear screen)清屏
* G:exit : 退出dos命令行(分割线上的需要掌握,下的了解)
* /=========================================================
* md (make directory) : 创建目录
* rd (remove directory): 删除目录
* del (delete): 删除文件,删除一堆后缀名一样的文件*.txt
* notepad 创建文件
* 删除带内容的文件夹
* rd + /s 文件夹名称(询问是否删除)
* rd + /q + /s 文件夹名称(直接删除)
**第二天面试题**
###02.10_Java语言基础(数据类型的概述和分类)(掌握)
* A:为什么有数据类型
* Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
* B:Java中数据类型的分类
* 基本数据类型
* 引用数据类型
* 面向对象部分讲解
* C:基本数据类型分类(4类8种)
* 整数型
* byte 占一个字节 -128到127
* short 占两个字 -2^15~2^15-1
* int 占四个字节 -2^31~2^31-1
* long 占八个字节 -2^63~2^63-1
* 浮点型
* float 占两个字节 -3.403E38~3.403E38
* double 占四个字节-1.798E308~1.798E308
* 字符型
* char 占两个字节 0~65535
* 布尔型
* boolean
* boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
* 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
* byte b1 = 3;
* byte b2 = 4;
* byte b3 = b1 + b2;
* 从两方面去回答这个题
* b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
* byte类型的变量在进行运算的时候,会自动类型提升为int类型
* byte b4 = 3 + 4;
* 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4
* C:面试题
* byte b = 10;
* b++;
* b = b + 1;
* 问哪句会报错,为什么
答:b = b + 1编译失败,因为运算时使用的是默认的int类型,所以需要在b+1前声明数据类型byte
而b++底层已经做了强制转换
* 面试题:
* 看下面的程序是否有问题,如果有问题,请指出并说明理由。
* short s=1;s = s+1;
* 答:有问题,在s+1之前声明(short)类型,并且把s+1加上()。
* short s=1;s+=1;
* 答:没有问题
**第三天面试题**
###03.04_Java语言基础(位异或运算符的特点及面试题)(掌握)
* A:案例演示
* 位异或运算符的特点
* ^的特点:一个数据对另一个数据位异或两次,该数本身不变。
* B:面试题:
* 请自己实现两个整数变量的交换
* class Demo04 {
public static void main(String[] args) {
int x = 10 ;
int y = 20 ;
//用第三方变量交换
/*int temp ;
temp = x ;
x = y ;
y = temp ;*/
//不需要第三方变量,有弊端,若数据过大可能产生数据溢出
/*y = y - x ; //20-10=10
x = x + y ; //10+10=20*/
//不需要第三方变量,用位或来做
y = y ^ x ; // y=y^x
x = y ^ x ; //y^x^x=y x=y
y = y ^ x ; //y^x^y=y y=x
System.out.println("x = " + x + ",y = " + y) ;
}
}
* 注意:以后讲课的过程中,我没有明确指定数据的类型,默认int类型。
最有效率的算出2 * 8的结果????
System.out.println(2 << 3) ;
00000000 000000000 00000000 00001000 |