栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java学习日志3.18】3个简单的面试算法题+Windows指令

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java学习日志3.18】3个简单的面试算法题+Windows指令

一 简单算法题

1、给定一个整数,把它的各位数字倒排过来形成一个新的整数。

例如:给定12345 输出54321;给定987 输出789

public class Demo01 {
	public static void main(String[] args) {
		int num = 12345;
		int result = 0;
		do {
			result =result * 10 + num % 10;
			num /= 10;
		} while(num > 0);
		System.out.println(result);
	}
}

2、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

public class Demo02 {
	public static void main(String[] args){
		int j = 0, n = 0;
		for (int i = 1; i < 85; ++ 1){
			if (168 % i == 0){
				j = 168 / i;
				if (i > j && (i + j) % 2 == 0 && (i - j) % 2 == 0) {
					n = (i - j) / 2;
					System.out.println(n * n - 100);
				}
			}
		}
	}
}

3、给定一个非空数组、除某一个元素出现一次外,其他元素出现两次,找出这个只出现一次的元素并返回。例如给定[2,2,3,3,4,4,5],则返回值为5

public class Demo03 {
	public static void main(String[] args){
		int[] arrs = {4, 5, -1, 4, 6, 5, 6};
		int result = arrs[0];
		for (int i = 1, len = arrs.length; i < len; ++ i) {
			result ^= arrs[i];
		}
		System.out.println(result);
	}
}

二 简单的Windows指令

1 windows+x  打开快捷菜单

2 alt+A  打开管理员的windows终端

3 终端输入 start cmd 进入管理员权限的命令行终端

4 简单指令练习

cd切换或显示目录

md l mkdir创建自录rd lrmdir册除目录

fsutil file createnew,<文件名><文件大小>
创建文件
type <文件>查看文件中的内容
del <要删除的文件>

三 其他学习到的知识与体会

1.复合赋值位运算符“&=、^ =、| =”

这里百度讲的很好,上面的算法题第二题就是用异或的方法解的,因为result与每个数异或等于所有数同时异或,相同数字异或等于0,所以结果最后就是只有单独一个数的值赋值到result。 

2.for循环里++i性能比i++更好,因为少了一个中间变量

++i,与i++的区别如下

i++改变的只有i,++i既改变i,又改变赋值变量;

就是说i++的底层代码会产生一个变量去保存i的原来的值再去++

public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i=0;
		int x=i++;//i的值改变了,但是把保存i原来的值的中间变量的值传给了x
		System.out.println(i++);
		System.out.println(x);
	}

 3 代码规范问题

运算符如“=”、“+=”、“/=”等左右两边需加空格,关键字后面如for、if、后面加空格,“,”、“;”后面加空格或换行,前面不加

代码层次需分明,用tab换行,确保代码块{}的最后一个“}”与关键字对齐

4 零散琐碎的知识

(1)子类的构造方法的第一行中默认(不显示)调用super();即调用了父类构造方法

如果父类里面没有定义参数为空的构造方法,那么必须在子类的构造方法的第一行显示的调用super(参数);语句调用父类当中其它的构造方法.

(2)接口中的常量默认都是为 public static final ,写与不写都是一样

(3)java中的重载与重写的区别:1、重载发生在本类,重写发生在父类与子类之间;2、重载的方法名必须相同,重写的方法名相同且返回值类型必须相同;3、重载的参数列表不同,重写的参数列表必须相同。4、子类覆写父类方法访问权限不能低于父类,private

(4) 考虑到java只能单继承、多实现的原则,所以先继承,后实现,实现可以实现多个接口写在后边比较直观。public class Xxxx extends A implements B 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/775568.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号