面试题

1、1 	byte a=3;
   2 	byte b=4;
   3	byte c=a+b;
   4	byte d=3+4;
	以上哪一行有编译问题?应该如何解决?为什么会发生这样的问题?
	第三行出现了错误,应将byte换为int,因为a和b 是byte的,但是在计算
	时会自动转换为int,主要是为了防止计算引起的溢出。

2、1  byte a=130;
    以上有没有编译问题?应该如何解决?
	byte a=(byte)130;
	因为130超过了byte的取值范围,所以要使用强制类型转换的方式赋值

3、请你以最快的速度将变量a由2变成8
	int a = 2; a = a<<2;//a<<=2

4、int a = 5;int b = 7;请你将两个数交换
	a.设置一个临时变量	
		int temp = a; a = b; b = temp;
	b.利用 + -
		a = a + b; b = a - b; a = a - b;
	c.利用位运算
		a = a ^ b; b = a ^ b; a = a ^ b;
	d.利用一句话
		b = a + b - (a = b);

5、输入一个数,判断是不是质数(素数)
	只能被1和它本身整出,不能被其他整除,但是1不是质数
      2 ,3,5 ,7,11,13,17,19,23,
分析:从2开始到这个数的前一个数,不能被这期间的任何一个数整出,成为质数
	System.out.println("请输入要判断的数(大于1):");
		Scanner sc = new Scanner(System.in);
		int q = sc.nextInt();
		boolean f = true;
		for(int i=2;i<q;i++){
			if(q%i==0){
				f = false;
				break;
			}
		}
		if(f == true){
			System.out.println(q+"是素数");
		}else{
			System.out.println(q+"不是素数");
		}





****************************************************2016-08-19*********************************************
排序:冒泡,选择,快速
查找:二分查找(折半查找):数组已排好序


****************************************************2016-08-19~23*********************************************
1、面向对象的特征是什么?
    封装 继承 多态 
继承是面向对象实现软件复用的重要手段,当子类继承父类后,子类作为一种特殊的父类,将直接获得父类的属性和方法;
封装指的是将对象的实现细节隐藏起来,然后通过一些公用方法暴露该对象的功能;
多态指的是子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着同一个类型的对象在运行时可能表现出不同的行为特征。

如何理解这几个特征
    封装:因为每个类都有自己属性,为了不让外部的类随意改变自己属性的值,就将其属性私有化,但是这造成了不能初始化的问题,
	就在类里面写构造方法,而属性可以通过调用get和set方法来使用其属性。

2、有哪些修饰符?每个修饰符的作用是什么?
	private : 私有化  只有类的内部可以访问
	protect :受保护的  类的内部、同包和外包的子类可以访问
	default :默认  类的内部、同包可以调用,外包必须要调用本包才可以访问到
	public : 公有化  均可以访问
	static :静态   
	    a、
3、static关键字有什么特点?如何使用


4、子类可以继承父类的所有属性吗
    可以,但是不一定访问到。



、方法的重载和方法的重写的异同:
	各自介绍一下就可以了,不用写之间的关系,他们之间也没什么关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值