Java基础知识强化23:Java中数据类型转换(面试题)
1. 以下代码输出结果是( D )。
public class Test {
public static void main(String[] args) {
int a=5;
System.out.println("values is "+((a < 5) ? 10.9 : 9 ) );
}
}
A. 编译错误 B. 10.9 C. 9 D. 以上答案都不对。
解析:如果你不假思索地直接选C,就恰恰中了题目设置的陷阱。注意到((a<5)? 10.9 : 9)里面有一个10.9,而后面直接跟了一个9。
这时候Java就会根据运算符的精度类型进行自动类型转换,由于前面有一个10.9,所以后面的9也会自动变成9.0,因此选择D

2. 以下代码的输出结果是( A )。
import java.util.*;
public class Test {
public static void main(String[] args) {
char x = 'x';
int i = 10;
System.out.println(false ? i : x);
System.out.println(false ? 10: x);
}
}
A. 120 x B.120 120 C. x 120 D. 以上答案都不对
解析:int i =10;中的i是一个变量,因此,第一个输出x被自动提升为int型了,因为i是int类型,x的int值为120,所以第一个输出为120
至于第2个输出,java编程规范中提到:当后两个表达式有一个是常量表达式(本题中是10)时,另外一个类型是T(本题中是char)时,而常量表达式可以被T表示是(representable in type T),输出结果是T类型。所以,因为10是常量,可以被char表示。输出结果是char型的。
Java基础知识强化23:Java中数据类型转换(面试题)的更多相关文章
- Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介
		
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...
 - java基础知识回顾之---java String final类普通方法
		
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
 - Java基础知识强化之IO流笔记46:IO流练习之 把文本文件中数据存储到集合中的案例
		
1. 把文本文件中数据存储到集合中 需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合. 分析: 通过题目的意思我们可以知道如下的一些内容, 数据 ...
 - Java基础知识强化22:Java中数据类型转换
		
数据类型转换: (1). 自动转换 低级变量可以直接转换为高级变量,这叫自动类型转换.比如: byte b: int b: long b: float b: double b: 上面的语句可 ...
 - Java基础知识强化之IO流笔记34:OutputStreamWriter(Writer字符流的子类)5种write数据方式
		
1. OutputStreamWriter (转换流) OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节. 同时OutputS ...
 - Java基础知识强化之集合框架笔记36:List练习之键盘录入多个数据在控制台输出最大值
		
1. 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 分析: • 创建键盘录入数据对象 • 键盘录入多个数据,我们不知道多少个,所以用集合存储 • 以0结束,这个简单,只要键盘 ...
 - Java基础知识强化之网络编程笔记06:TCP之TCP协议发送数据 和 接收数据
		
1. TCP协议发送数据 和 接收数据 TCP协议接收数据:• 创建接收端的Socket对象• 监听客户端连接.返回一个对应的Socket对象• 获取输入流,读取数据显示在控制台• 释放资源 TCP协 ...
 - Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素
		
1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...
 - Java基础知识强化69:基本类型包装类之Character案例(统计字符串中大写小写以及数字的次数)
		
我们直接看案例如下: package cn.itcast_03; import java.util.Scanner; /* * 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数.(不考虑 ...
 
随机推荐
- JS字符串常用方法
			
// 来自 http://www.runoob.com/js/js-strings.html var str01 = "odd open xboxone" , str02 ...
 - java_reflect_02
			
按我们所知道的.对于类中的method,constructor,field如果访问属性是private的情况下我们是访问不了的,但通过反射就可以做到 仔细分析api发现Method,Construct ...
 - 使用BOOST BIND库提高C++程序性能
			
Boost.Bind为函数和函数对象,值语义和指针提供语义了一致的语法.我们首先通过一些简单的例子来看看它的基本用法,之后我们会延伸到嵌套绑定以实现功能组合.理解bind用法的一个关键是理解占位符(p ...
 - Android源码下载方法详解
			
转自:http://www.cnblogs.com/anakin/archive/2011/12/20/2295276.html Android源码下载方法详解 相信很多下载过内核的人都对这个很熟悉 ...
 - linux下tomcat配置APR方式HTTPS
			
一.安装APR 创建/usr/local/apr tar zxvf apr-1.4.5.tar.gz cd apr-1.4.5 ./configure --prefix=/usr/local/apr/ ...
 - Retrofit2.0+OkHttp设置统一的请求头(request headers)
			
有时候要求Retrofit2的接口中每个都要增加上headers,又不想做重复的事情,可以使用这种方法来为每个request请求都设置上相同的请求头header. 修改请求头request heade ...
 - Python——学习笔记
			
list ['','',''] 类似PHP数组 可以修改 tuple ('','') 不能修改其中的元素 切片 list[int 开始: int 结束: int 间隔=1] 字符串也可以看成 ...
 - Ant快速入门(二)-----使用Ant工具
			
使用Ant非常简单,当正确安装Ant后,只要输入ant或ant.bat即可. 如果运行ant命令时没有指定任何参数,Ant会在当前目录下搜索build.xml文件.如果找到了就以该文件作为生成文件,并 ...
 - SpringMVC入门2-注解开发
			
Spring MVC 注解开发 <context:component-scan base-package="com.controls" /> Springmvc的扫描器 ...
 - Red Hat TimesTen安装记录
			
1:内核参数修改 # vi /etc/sysctl.conf kernel.sem= #sysctl –p 备注:此安装过程为测试环境,具体参数修改要参考TimesTen官方文档. 2:创建用户及组信 ...