Java面试题之运算符(一)
零、单选
1.若有 a=3,则执行下列语句为a的值为? a+=a*=a; A. 3 B. 12 C. 9 D. 18
答案:B 解析:参考解析赋值运算从右向左执行,故a=a*a=9,a+=9,a=a+9=3+9=12
2.对于一个三位的正整数n=789,以下结果为8的是? A. n/10%2 B. (n-n%10)/100 C. n%10 D. n%100/10
答案:D 解析:本题考查运算符的综合运用,/是除法运算符,%是取余运算符,结果是做除法运算后的余数。A选项,n/10=78,78%2=0,n/10%2的结果为:0;B选项,n-n%10=780,(n-n%10)/100的结果为:7;C选项,n%10的结果为:9;D选项,n%100=89,89/10=8,n%100/10的结果为:8。因此,D选项正确。
3.下面的运算符中,用于执行除法运算是哪个? A. / B. C. % D. *
答案:A 解析:本题考查运算符,A选项/是用于执行除法运算的,所以A选项正确。B选项不是Java运算符。C选项是求余数的运算符。 D选项是乘法运算符。
4.下面代码的输出结果为?
int m=5,n=6;
int x=(m++)+n;
int y=(--m)+n;
System.out.print("x="+x+",");
System.out.println("y="+y);
A. x=11,y=11 B. x=10,y=11 C. x=10,y=12 D. x=12,y=10
答案:A 解析:本题考查自增自减运算符,A选项是正确的。m++是先参与运算后自加,因此x=(m++)+n=5+6=11;赋值后的m=6,–m先自减后参与运算,因此y=(–m)+n=11,赋值后的m=5.故x=11,y=11。
5.下面程序段的输出结果是:
int a=2;
System.out.print(a++);
System.out.print(a);
System.out.print(++a);
A. 333 B. 334 C. 234 D. 233
答案:C 解析:本题考查自增自减运算符。a++是先参与运算后自加,故第一个输出2,第二个输出3,++a是先自加后参与运算,故第三个输出4。因此,C选项是正确的。
6.设有如下变量,以下哪些语句编译不出错?
char c='c';
int i=10;
double d=10;
long l=1;
String s="Hello";
int a=2;
A. c=c+i; B. s+=i; C. i+=s; D. c+=s;
答案:B 解析:本题考查+运算符,当字符串与基本数据类型数据进行加法运算时,实际上是进行的字符串连接运算。如:String s=“Hello”+1; 则s的值是"Hello1"。A选项,c为字符型数据,i为int型变量,c+i之后的结果不能赋值给字符型变量;C选项,i+=s;相当于i=i+s; i为int型变量,s为String型变量,i+s后的结果为String类型,String类型不能赋值给int类型变量;D选项,c+=s; 相当于c=c+s; c是字符型变量,s为String型变量,c+s之后的结果为String类型,String类型不能赋值给字符型变量;B选项,s+=i; 相当于s=s+i; i是整型变量,s是字符串型变量,s+i的结果是字符串类型,可以赋值给字符串类型变量。因此B选项是正确的。
- node-sass 安装失败的解决措施
- JavaMelody监控SQL
- 关于jboss的线程问题+java.lang.outofmemoryError
- 《了不起的 nodejs》中 TwitterWeb 案例 bug 解决
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- 【java开发系列】—— Tomcat编译报错
- java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice
- 《像计算机科学家一样思考Java》—— 读后总结
- 记录安装oracle的那些事(三)之oracle Database R2安装
- Elasticsearch Javascript API增删改查
- Oracle二三事之 Oracle SPARC SuperCluster的九大技术优势
- 两个 viewports 的故事-第二部分
- 通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽
- AngularJS 技术总结
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释