1.下列代码的输出结果是:()(单选)

public static void main(String[] args){
double money = 3.0;
money -= 2.9;
System.out.println(money);
}

A. 0.1

B. 0.099

C. 0

D.0.10000000000000009

答案:D

解析:2.9转换为二进制数时进行运算,会丢失精度

2.下列数据类型转换,必须进行强制类型转换的是:()

A.byte→int

B.short→long

C.float→double

D.int→char

答案:D

解析:数据类型转换:(反过来转换要强制转型,可能会丢失精度)

      char→

   byte→short→int→long→float→double

3.下列赋值语句中,正确的是:()

A.byte b1 = 10, b2 = 20; byte b=b1+b2;

B.byte b1 = 10, b2 = 20; byte b=b1+20;

C.byte b1 = 10, b2 = 20; byte b=b2+10;

D.byte b1 = 10; byte b=++b1;

答案:D

详解:两个字面量相加为char或者int

   变量和字面量相加只能为int类型

   变量和变量相加只能为int

   byte 与 byte(或short、char)类型进行运算时会自动转换为int类型,两个int类型相加之后也是int类型,需强制转换为byte类型 

   拓展运算符(++,--,+=,-=,*=等)不改变数据类型,但可能会丢失精度  

   byte b = ++b1; 等价于 byte b =(byte)(b1+1);

4.(多选题)

byte b1=1,b2=2,b3,b6,b8;
final byte b4=4,b5=6,b7;
b3=(b1+b2); /*语句1*/
b6= b4+b5; /*语句2*/
b8=(b1+b4); /*语句3*/
b7=(b2+b5); /*语句4*/
System.out.println(b3+b6);

以上代码片段中,存在编辑错误的语句是()

A.语句1

B.语句2

C.语句3

D.语句4

答案:ACD

解析:语句1错误:b3=(b1+b2);自动转为int,所以正确写法为b3=(byte)(b1+b2),或者将b3定义为int

   语句2正确:b4,b5都为final类型,不会自动提升,所以和的类型视左边变量类型而定

   语句3错误:虽然b4不会自动提升,但是b1仍会自动提升,所以结果一样需要强转,b8=(byte)(b1+b4)

   语句4错误:同上。同时要注意b7为final修饰,只能被赋值一次,然后就不能再改变了

每日笔记:Java中,字符串在不同字符编码中字母和汉字占字节数情况:

     ①Unicode:字母 2    汉字 2   占位符 2

     ②GBK:  字母1   汉字2

     ③UTF-8:字母1  汉字3

Java基础练习1(数据类型转换)的更多相关文章

  1. JAV基础语法之---数据类型转换

    数制转换": 1.string 转 byte[] String str = "Hello";byte[] srtbyte = str.getBytes(); 2.byte ...

  2. JAVA -数据类型与表达式---数据类型转换

    数据类型转换技术 Java中,数据转换的方式有三种:*赋值类型转换*提升类型转换*强制类型转换 1.赋值类型转换 当需要将一个类型的值赋给另一种类型的变量时,该值将被转换为新类型的值,此时就发生了赋值 ...

  3. JaveScript基础(2)之数据类型转换和常用字符串的操作方法

    1.JaveScript数据类型转换: A.转字符串:通过"+"或toString(); PS:如果都是数值类型,'+'会进行求和运算,否则会做字符串连接: var s=2.5;d ...

  4. Java从零开始学五(数据类型转换)

    一.数据类型转换 分为“自动类型转换”和“强制类型转换” 二.自动类型转换 低级别------>高级别 byte b=7; int i=b; System.out.println("i ...

  5. c/c++基础篇之数据类型转换

    C/C++常见的数据类型转换 1.      常见的单类基本类型转换 (1)强制类型转换 如: int a=(int)(9.87)  结果a=9 char c=(char)(97)  结果为c=’a’ ...

  6. 02-Java基础语法【数据类型转换、运算符、方法入门】

    重点知识记录 01.数据类型转换 当数据类型不一样是,将会发生数据类型转换. 1)自动类型转换(隐式): 特点:代码不需要进行特殊处理,自动完成: 规则:数据范围从小到大:byte < shor ...

  7. Java基础_0311: 数据表与简单Java类映射

    数据表与简单Java类映射 现在假设有如下的关系表,现在要求实现如下的数据关联操作: 一个部门有多个雇员: 一个雇员有一个或零个领导 代码实现 class Dept { private int dep ...

  8. Go基础系列:数据类型转换(strconv包)

    Go不会对数据进行隐式的类型转换,只能手动去执行转换操作. 简单的转换操作 转换数据类型的方式很简单. valueOfTypeB = typeB(valueOfTypeA) 例如: // 浮点数 a ...

  9. Java基础87 MySQL数据约束

    1.默认值 -- 创建表student1,设置address字段有默认值 create table student1 ( id int, name ), address ) default '广东省深 ...

随机推荐

  1. Python_性能测试

    使用pip安装Python扩展库memory_profiler from memory_profiler import profile @profile #修饰器 def isPrime(n): if ...

  2. csrf攻击与防范

    CSRF(Cross Site Request Forgeries)跨网站请求伪造,也叫XSRF,通过伪装来自受信任用户的请求来攻击利用受信任网站. 与对比 xss:本网站运行了来自其它网站的脚本 c ...

  3. 网络编程之非阻塞connect编写

    一.connect非阻塞编写 TCP连接的建立涉及到一个三次握手的过程,且socket中connect函数需要一直等到客户接收到对于自己的SYN的ACK为止才返回, 这意味着每 个connect函数总 ...

  4. Thread部分总结以及小例子

    Thread总结:一直以来用thread比较多,一般会在同步以及ui中用到.以下对于经常用作为简单介绍.一 实现方法: 一种直接new thread,另外一种是实现Runnable接口,在创建thre ...

  5. MySQL复制入门

    Ⅰ.复制类型 1.1 逻辑复制 记录每次逻辑操作 主从数据库可以不一致 1.2 物理逻辑复制 记录每次对于数据页的操作 主从数据物理严格一致 基于重做日志 说明: 如果一个块(页)修改了,就把这个修改 ...

  6. AssertJ

    import com.tangcheng.learning.test.assertj.AssertJEmployee; import com.tangcheng.learning.test.asser ...

  7. SpringCloud Eureka 报错 无法启动问题

    1.SpringCloud Eureka 报错 无法启动基本上都是spring boot的版本与spring cloud的版本不匹配导致的. <dependencyManagement> ...

  8. Windows下SVN命令行工具使用详解

    根据我的记忆,似乎Windows 7下自自带一个svn命令行工具.如果你的机器没有,不必担心.你可以从http://subversion.tigris.org获 取subversion for win ...

  9. python一行代码就能搞定的事情!

    打印9*9乘法表: >>> print( '\n'.join([' '.join(['%s*%s=%-2s' % (y,x,x*y) for y in range(1,x+1)]) ...

  10. go语言nsq源码解读一-基本介绍

    简单介绍一下nsq. 参考 http://feilong.me/2013/05/nsq-realtime-message-processing-system 的介绍:NSQ是由知名短链接服务商bitl ...