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. Java基础_0311: 数据表与简单Java类映射

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

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

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

  8. Java基础87 MySQL数据约束

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

  9. 4.java.lang.NumberFormatException(数据类型转换异常)

    字符串转换为数字异常 当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常.如现在讲字符型的数据“123456”转换为数值型数据时,是允许的. 但是如果字符 ...

随机推荐

  1. [译] 企业级 OpenStack 的六大需求(第 3 部分):弹性架构、全球交付

    全文包括三部分: 第一部分:API 高可用和管理以及安全模型 第二部分:开放架构和混合云兼容 第三部分:弹性架构和全球交付 需求 5 - 扩展.弹性和性能 企业级的内容很丰富.过去,企业级往往和高可靠 ...

  2. MySQL数据库基本指令(全)

    数据库基本类型 CHAR 固定长度字符串 char(10) 存两位 占10位 查询有优势VARCHAR 可变长度字符串 varchar(10) 存两位 占两位 存储有优势 枚举类型 只能取一个set类 ...

  3. windows-JDK环境变量设置

    JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43;CLASS_PATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;p ...

  4. yiic执行出现不是内部或外部命令的解决办法

    右击我的电脑-->属性-->高级系统设置-->高级-->环境变量-->系统变量 设置为"D:\Program Files (x86)\wamp\bin\php\ ...

  5. 201521123089《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 1.数据库:为了实现一定目的按某中规划组织起来的"数据"的"集合". 2 ...

  6. hdu5631 BestCoder Round #73 (div.2)

    Rikka with Graph  Accepts: 123  Submissions: 525  Time Limit: 2000/1000 MS (Java/Others)  Memory Lim ...

  7. 盖洛普Q12在团队中的应用

    周五给大家做了个盖洛普Q12的分享.   分享前做了调查问卷.除了盖洛普Q12的12个问题: 1.我知道公司对我的工作要求吗? 2.我有做好我的工作所需要的材料和设备吗? 3.在工作中,我每天都有机会 ...

  8. android控件拖动,移动、解决父布局重绘时控件回到原点

    这是主要代码: 保证其params发生改变,相对于父布局的位置就能达到位置移动到原来的位置 // 每次移动都要设置其layout,不然由于父布局可能嵌套listview,当父布局发生改变冲毁(如下拉刷 ...

  9. POJ 3273 Monthly Expense(二分搜索)

    Description Farmer John is an astounding accounting wizard and has realized he might run out of mone ...

  10. 前端入门html(标签介绍)

    day47 参考:https://www.cnblogs.com/liwenzhou/p/7988087.html # web本质 示例 import socket sk = socket.socke ...