楼主错题:解析
。
创建一个对象的语法为: 类名 对象名=new 类名();,因此正确答案为BD
![](https://images2017.cnblogs.com/blog/1216973/201708/1216973-20170825174129089-620061275.png)
本题考查的是对“==”运算符的理解。“==”用于比较两个对象是否是同一个对象,如果是,则返回true,否则返回false。new A()==new A()中,“==”两边使用new关键字各创建了一个对象,在内存中分别开辟空间,属于不同的对象,因此表达式结果为false。应选择B。
![](https://images2017.cnblogs.com/blog/1216973/201708/1216973-20170825174147433-68220234.png)
本题考查使用String类常用方法操纵字符串,concat方法指定字符串连接到此字符串的结尾,返回连接而成的字符串。indexOf(String str)返回指定字符串在此字符串中第一次出现处的索引,如果没有返回-1。由于ss1.concat("everyone");没有赋值给任何变量,所以s1值没有变化。所以输出-1
![](https://images2017.cnblogs.com/blog/1216973/201708/1216973-20170825174214293-114168197.png)
对于字符串而言,==用来比较两个值的地址是否相等,而equals是比较两个值的内容是否相等,是因为字符串的equals()方法进行了重写,但是其他类的equals()方法默认是和==相同的作用,都是比较两个对象内存地址是否相同,题目中,aa与bb为同一对象,因此equals()结果为true
![](https://images2017.cnblogs.com/blog/1216973/201708/1216973-20170825174232668-1881127796.png)
本题考察if语句及i++和++i,i++是先赋值后+1,++i是先+1再赋值,所以本题选择B
![](https://images2017.cnblogs.com/blog/1216973/201708/1216973-20170825174253043-102885446.png)
一共进入3次循序,每次循环i值加2,当循环结束时i值为7