当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 程序开发面试题

程序开发面试题

2018年09月14日  | 移动技术网IT编程  | 我要评论

重生唯舞独尊,海运门全套图片,重生之征战岁月

面试题

1. 进制之间的转换

// 十进制转化为十六进制,结果为c8。

integer.tohexstring(200);

// 十六进制转化为十进制,结果140。

integer.parseint("8c",16);

//十进制转二进制

integer.tobinarystring(int i);

2.质数的定义

只有1和它本身两个因数的自然数

3.关键字null

null是一种特殊的值,可以将其赋给任何引用类型,也可以转化成任何类型。但不可以赋给变量类型,不可以赋给基本类型,如int,boolean等。

4.关于string

//string转成string[]

string[] a = s.split("");

//将char转成string,string.valueof()可以也可以将int转成string类型

string s = string.valueof('c');

//数组不能直接通过tostring的方式转成字符串string,必须通过 stringbuffer

string[] str = {"abc", "bcd", "def"};

stringbuffer sb = new stringbuffer();

for(int i = 0; i < str.length; i++){

sb. append(str[i]);

}

string s = sb.tostring();

//数组转list

string[] arr = new string[] {"str1", "str2"};

list list = arrays.aslist(arr);

//如果是直接想新建一个list对象,则如下

list list = new arraylist();

//list转数组

list list = new arraylist();

list.add("str1");

list.add("str2");

int size = list.size();

string[] arr = (string[])list.toarray(new string[size]);

//treeset和treemap可以自动排序,直接往里扔数即可,内部自动排序,很强大!!

treeset hs = new treeset();

string s1 = "abf";

string s2 = "acd";

string s3 = "abc";

hs.add(s1);

hs.add(s2);

hs.add(s3);

system.out.println(hs);

//collections中提供了逆序的功能

collections.reverse(list);

5.的范式问题

这里把常用的第一、二、三范式做一下说明:

1nf:第一范式,强调的是原子性,即列不能再分解为其他的列,比如表【联系人】:姓名、性别、电话,这张表是不满足1nf的,因为电话这一列一般还会分成公司电话、家庭电话,所以不满足1nf的原子性

2nf:第二范式,先必须满足1nf,强调的是其他属性对主键的完全依赖,主要是针对联合主键,如果是单一主键,满足1nf,那么这张表也必定满足2nf。如【选课关系】:学号, 姓名, 年龄, 课程名称, 成绩, 学分,关键字为组合【关键字学号, 课程名称】,这里可以【学分】只依赖于【课程名称】的,【姓名、年龄】则只依赖于【学号】。只有【成绩】是依赖于【学号和课程名称】的(这才是完全依赖),前两者的依赖不是完全依赖,所以这里的【选课关系】不满足2nf

3nf:必须满足2nf,并且不依赖其他非主属性,他们之间不存在依赖传递关系,通俗点讲,要求一个表中不包含已在其他表中包含的非主键关键字的信息。如一张表:学号、姓名、年龄、所在学院、学院地点、学院电话,关键字为【学号】,由于是单一的主键,首先他肯定是满足2nf的,然后看由于这里的【学院地点和学院电话】显然是依赖于【学院】这个属性的,但是学院地点和学院电话显然被包含在了这张表中了,所以不满足3nf。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网