昨天去面试,虽然体验不是很好, 但是看到了这个面试题,当时感觉无从下手,所以在这里记录一下. 解决这道题之前,先复习一下Java的基本数据类型转换规则,以便后面对面试题的理解. java的基本数据类型转换 自动类型转换:小–>大 byte-->short-->int-->long-->float-->double 强制类型转换:大–>小 小类型 变量名 = (大类型) 值 注意:自增/自减运算符.复合赋值运算符底层做了优化,内部自动强制类型转换: 如:++, --…
这个问题以前碰到过,也研究过,发表一下:    如果你认为表达式(x += i)只是表达式(x = x + i)的简写方式,这并不准确.这两个表达式都被称为赋值表达式.第二个表达式使用的是简单赋值操作符(=),而第一个表达式使用的是复合赋值操作符.Java语言规范中讲到,复合赋值(E1 op=E2)等价于简单赋值(E1=(T)((E1) op (E2))),其中T是E1的类型,除非E1只被计算一次.    换句话说,复合赋值表达式自动地将所执行计算的结果转型为其左侧变量的类型.如果结果的类型与该…
如果你认为表达式(x += i)只是表达式(x = x + i)的简写方式,这并不准确.这两个表达式都被称为赋值表达式.第二个表达式使用的是简单赋值操作符(=),而第一个表达式使用的是复合赋值操作符.Java语言规范中讲到,复合赋值(E1 op=E2)等价于简单赋值(E1=(T)((E1) op (E2))),其中T是E1的类型,除非E1只被计算一次.   换句话说,复合赋值表达式自动地将所执行计算的结果转型为其左侧变量的类型.如果结果的类型与该变量的类型相同,那么这个转型不会造成任何影响.然而…
对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型.而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换.…
有一行Java代码如下: String code1 = (String)qTable1.getValueAt(i, 0); 这是一个Java的图形界面获取表格中值的代码,其中qTable1.getValue(i, 0)是获取表格中i行0列的一个数据值,获取到的值是Short类型,但是我想让它变成我所需要的String类型,如果按照如上(String)强转的话,编译时不会报错,但是会造成运行时异常:java.lang.Short cannot be cast to java.lang.String…
Lshort started as a trans­la­tion and ra­tio­nal­i­sa­tion of a ground-break­ing Ger­man-lan­guage in­tro­duc­tion to LATEX. It has since taken on a mo­men­tum of its own, and has it­self been trans­lated into a num­ber of lan­guages. Thus we have in…
DELETE OPENQUERY (VERYEAST_MAIN_MYSQL_CONN, 'SELECT college_userid FROM college_student_information ') WHERE college_userid IN(SELECT college_userid FROM #college_student_info) 链接服务器"VERYEAST_MAIN_MYSQL_CONN"的 OLE DB 访问接口 "MSDASQL" 返回了…
原查询 select sum(case when age<=16 then 1 else 0 end ) age1, sum(case when age>16 and age<=25 then 1 else 0 end ) age2, sum(case when age>25 and age<=35 then 1 else 0 end ) age3, sum(case when age>35 and age<=45 then 1 else 0 end ) age4…
short s1=1;s1 = s1 +1会报错吗?    package common; public class ShortTypeTest { /* * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub short s1 = 1; s1 = (short) (s1 + 1);//简单类型 short s2=1; s2 +=1;//复合类型,复合赋值操作符+=,…
package common; public class ShortTypeTest { /* * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub short s1 = 1; s1 = (short) (s1 + 1);//简单类型 short s2=1; s2 +=1;//复合类型,复合赋值操作符+=, System.out.println(s1+";"…