我相信很多人在学习过程中都会遇到default这个单词。英语中你会遇到;计算机技术中也会遇到。当你看到它的时候,你会首先想到“默认”、“缺省”还是其他的?
default在21世纪大英汉词典中有很详细的解释。http://dict.youdao.com/search?q=default&keyfrom=hao360
n 还可以作为vi、vt
在计算机技术中,主要是“默认、预设”的意思,如在服务器脚本技术的Mysql中,default就是数据库中的列插入默认值。同样地,在C/C++中,常见用于switch等语句中。表示先检测其他值的case项,检测不到则执行default(默认)的语句。switch中的default,一般用在最后,表示非以上的任何情况下而发生的情况,我们一般习惯在他的后面加上个break。但是,如果default不是在最后,而是在前面或中间会发生什么情况呢:
先看看default在句首的情况:
int i = 2;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
他的输出结果是:2! 很明显,不是先执行的default语句!
再看看下面语句:
int i = 8;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
他的输出结果是:
default
0
1
2
出人意料!!从default开始向后执行!
再看看default在句中的情况:
int i = 2;
switch (i) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
break;
default:
System.out.println("default");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
结果是2!显然还是没执行default!
int i = 8;
switch (i) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
break;
default:
System.out.println("default");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
结果:
default
2
显然是从default开始向后执行的!
从上面可以看出:
switch的执行是按照从小到大的顺序执行的,最后执行default语句,如果default后面带有break,那么程序就会正常跳出switch,否则,程序会继续向后执行switch语句!也就是说,不管default放在什么位置,它总是在最后一个处理,然后继续向下处理!所以,最后的处理办法,避免出现意外结果的最好办法就是每一个case以及default语句都要加一个break!
那我们平常说的缺省是什么意思呢? 缺省,即系统默认状态,意思与“默认”相同。“缺省”最初来源于计算机英文文档中的单词"default","default”有很多意思:违约、缺省、拖欠、默认,由于当时计算机方面的翻译水平不高,于是就把这个词直译成了“缺省”,其实应该取它的引申意思“默认”。后来的人们发现,无论怎么解释,缺省好像都说不通,但是由于之前的人们已经习惯了“缺省”这个用法,故依旧延续了这个用法。后来的新一辈的人们觉得说起来很拗口,就使用了"default”的引申意思,所以现在在大多数计算机技术文档或者软件里面,采用的都是意译之后的“默认”这个用法。 缺省,可理解为“省略的值为默认值” 在计算机辅助设计软件Pro/ENGINEER(简称Pro/E)中有"缺省设置""缺省模板"等专业术语。缺省值,就是默认值。是指一个属性、参数在被修改前的初始值。“缺省”最初来源于计算机英文文档中的单词"default"。 总结:所以以后看到default直接想到是“默认”即可!学习中的任何小问题,不解决都能成为我们前进道路上的绊脚石。不要小看了一个default~原文地址:http://blog.csdn.net/u012736279/article/details/41675843