Java基础练习1(数据类型转换)
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(数据类型转换)的更多相关文章
- JAV基础语法之---数据类型转换
数制转换": 1.string 转 byte[] String str = "Hello";byte[] srtbyte = str.getBytes(); 2.byte ...
- JAVA -数据类型与表达式---数据类型转换
数据类型转换技术 Java中,数据转换的方式有三种:*赋值类型转换*提升类型转换*强制类型转换 1.赋值类型转换 当需要将一个类型的值赋给另一种类型的变量时,该值将被转换为新类型的值,此时就发生了赋值 ...
- JaveScript基础(2)之数据类型转换和常用字符串的操作方法
1.JaveScript数据类型转换: A.转字符串:通过"+"或toString(); PS:如果都是数值类型,'+'会进行求和运算,否则会做字符串连接: var s=2.5;d ...
- Java从零开始学五(数据类型转换)
一.数据类型转换 分为“自动类型转换”和“强制类型转换” 二.自动类型转换 低级别------>高级别 byte b=7; int i=b; System.out.println("i ...
- c/c++基础篇之数据类型转换
C/C++常见的数据类型转换 1. 常见的单类基本类型转换 (1)强制类型转换 如: int a=(int)(9.87) 结果a=9 char c=(char)(97) 结果为c=’a’ ...
- 02-Java基础语法【数据类型转换、运算符、方法入门】
重点知识记录 01.数据类型转换 当数据类型不一样是,将会发生数据类型转换. 1)自动类型转换(隐式): 特点:代码不需要进行特殊处理,自动完成: 规则:数据范围从小到大:byte < shor ...
- Java基础_0311: 数据表与简单Java类映射
数据表与简单Java类映射 现在假设有如下的关系表,现在要求实现如下的数据关联操作: 一个部门有多个雇员: 一个雇员有一个或零个领导 代码实现 class Dept { private int dep ...
- Go基础系列:数据类型转换(strconv包)
Go不会对数据进行隐式的类型转换,只能手动去执行转换操作. 简单的转换操作 转换数据类型的方式很简单. valueOfTypeB = typeB(valueOfTypeA) 例如: // 浮点数 a ...
- Java基础87 MySQL数据约束
1.默认值 -- 创建表student1,设置address字段有默认值 create table student1 ( id int, name ), address ) default '广东省深 ...
随机推荐
- SSH项目的pom.xml文件
<!-- 属性 --> <properties> <spring.version>4.2.4.RELEASE</spring.version> < ...
- vue组件的生命周期
先来张组件生命周期的示意图: 文档里是这样描述的:你不需要立马弄明白所有的东西,不过以后它会有帮助.传送门. Vue2.0的生命周期钩子一共有10个,同样结合官方文档作出了下表 生命周期钩子 详细 b ...
- mac下安装Python3.*(最新版本)
前言:mac系统自带python,不过以当前mac系统的最新版本为例,自带的python版本都是2.*版本,虽然不影响老版本项目的运行,但是python最新的3.*版本的一些语法与2.*版本并不相同, ...
- java(二、基础语法和基本数据类型)
Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一 ...
- Jenkins通过Publish over SSH插件实现远程部署
Jenkins通过Publish over SSH插件实现远程部署 步凑一.配置ssh免秘钥登录 部署详情地址:http://www.cnblogs.com/Dev0ps/p/8259099.html ...
- JSTL varStatus属性
JSTL核心标签库中c:forEach 的 varStatus属性 varStatus属性 类型:String 描述:循环的状态信息,可以取值index\count\first\last\cur ...
- PAT1056:Mice and Rice
1056. Mice and Rice (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Mice an ...
- Java操作Memcached
本文复制其他播客,有好的技术文章希望各位大神能告知... 谢谢. 如何使用Java操作Memcached实例: 代码一: package com.ghj.packageoftool; import j ...
- Intent里ACTION的CALL和DIAL的区别?
Intent在进行activity之间的跳转的时候有一种方式是通过设置ACTION的方式来进行跳转的,这个ACTION是设置在manifest文件里Intent-filter里的,我们可以通过跳转自定 ...
- 在单用户模式下修改CentOS的root密码
我们在使用CentOS的过程中可能会发生忘记root用户密码的情况,本文就从应用的角度简单介绍一下如何在单用户模式下修改root用户的密码. 开启CentOS,进入系统启动菜单 将光标停留在系统开机时 ...