数据类型注意事项

为什么 byte 类型取值是 -128 ~ 127 ?

-125 -126 -127

原码: 1111 1101 1111 1110 1111 1111

反码: 1000 0010 1000 0001 1000 0000

补吗: 1000 0011 1000 0010 1000 0001

因为他们的补吗依次减了一,所以推出-128的补码为: 1000 0000 为-0,但在计算机用 -128 显示



byte b1 = 3,b2 = 4, b;

b = b1 + b2;

b = 3 + 4;

问:哪句是编译失败的呢?为什么呢?

答:b=b1+b2;这句编译失败,因为byte和byte的进行运算的时候会提升为int类型,

当int类型赋值给byte类型时候会损失精度,所以会编译失败.而b=3+4;不会编译错误,

因为Java中有常量优化机制,在编译的的时候直接把3和4的结果赋值给b.



byte by = 130;有没有问题?有问题如何解决?结果是多少呢?

答:有问题,因为 byte取值范围是-128~127,如果赋值130给by就需要进行强制转换,但会损失精度,结果为-126



byte b = 10;

b++;

b = b + 1;

哪句是编译失败的呢?为什么呢?

答:b=b+1;这句会编译失败,因为byte和int数据进行运算时候会把byte类型提升为int类型,

当int的类型数据赋值给byte类型b会损失精度,所以编译失败,如果需要赋值,需要进行强制转换.



&&和&的区别? ||与|的区别?

* 最终结果一样。

* &&具有短路效果。左边是false,右边不执行。

&是无论左边是false还是true,右边都会执行

* ||具有短路效果,左边为true,右边不执行



最有效率的算出2 * 8的结果

System.out.println(2 << 3);



请自己实现两个整数变量的交换(不用第三方变量)

int x = 10 ;

int y = 5;

x = x ^ y; // 10 ^ 5

y = x ^ y; // 10 ^ 5 ^ 5 y = 10

x = x ^ y; // 10 ^ 5 ^ 10 x = 5



写出程序结果

public static void main(String[] args) {

Integer i1 = new Integer(97);

Integer i2 = new Integer(97);

System.out.println(i1 == i2);

System.out.println(i1.equals(i2));

System.out.println("-----------");

Integer i3 = new Integer(197);

Integer i4 = new Integer(197);

System.out.println(i3 == i4);

System.out.println(i3.equals(i4));

System.out.println("-----------");

Integer i5 = 97;

Integer i6 = 97;

System.out.println(i5 == i6);

System.out.println(i5.equals(i6));

System.out.println("-----------");

Integer i7 = 197;

Integer i8 = 197;

System.out.println(i7 == i8);

System.out.println(i7.equals(i8));

}

结果为:

false
true
-----------
false
true
-----------
true
true
-----------
false
true

时间: 2024-10-14 03:18:07

数据类型注意事项的相关文章

软件架构————几种特殊的数据类型注意事项

结构体 1.用结构体来明确数据关系,结构体可以把相关联的一组数据项聚集在一起.有时了解一个程序最为困难的部分就在于清理哪些数据之间互相有联系. 2.用结构体简化对数据块的操作,可以把相关的元素组织到结构体里,然后对该结构体执行操作. 3.用结构体来简化参数列表,与单独传递一个需要的元素相比,可以把相关的元素组织到一个结构体里,然后把它作为一个整体传递进去. 4.用结构体来减少维护,由于使用结构体的时候是把相关的数据组织在一起的,因此对结构体的修改只会导致程序做很小的改动. 指针 如何解释内存中某

mysql数据类型/注意事项/int(20)混淆

int(20), bigint(20)括号里的内容指的是显示时填充0的个数,而不是字节或空间限制,不同于char(20)或varchar(20)的意义: https://stackoverflow.com/questions/3135804/types-in-mysql-bigint20-vs-int20 varchar类型的括号数据在mysql4和mysql5意义不同,并且在mysql5以后字符长度受到字符集和最大字节长度限制的制约: https://www.cnblogs.com/Lance

Java 基本数据类型

基本数据类型 所占用空间大小 byte b; 1字节 short s; 2字节 int i; 4字节 long l; 8字节 char c; 2字节(C语言中是1字节) float f; 4字节 double d; 8字节 boolean bool; false/true 1字节 基本数据类型注意事项: 1.未带有字符后缀标识的整数默认为int类型: 未带有字符后缀标识的浮点数默认为double类型. 2.如果一个整数的值超出了int类型能够表示的范围,则必须增加后缀“L”(不区分大小写,建议用

Oracle VS DB2 数据类型

=========================Oracle VS DB2==================================== 本文转自:http://www.bitscn.com/oracle/install/200604/16541.html首先,通过下表介绍ORACLE与DB2/400数据类型之间的对应关系,是一对多的关系,具体采用哪种对应关系,应具体问题具体分析. Oracle DB2/400 Oracle数据类型 注意事项 DB2 UDB数据类型 注意事项 DAT

【最后一篇API译文】Android开发-API指南- Contacts Provider

Contacts Provider 今年加入了某字幕组,加之杂事颇多,许久未添新文了,惭愧之极. 在听闻 Google 即将重返中国后,近日忽又发现官方网站正在放出 API 中文版,比如本文.当然不是大家所译,但至少句子结构较通顺,窃以为比 MSDN 中文版好些.虽有些生硬(比如将 Provider 译为“提供者”,有趣得紧),但好在前无古人,也许 Google 自此便统一了自己的中文术语也未可知.能让更多的国人精确领悟 Android 的精髓,肯定是好事,希望 Google 继续坚持. 这事应

db2和oracle字段类型对比

在网上找到一片关于oracle与DB2数据类型的比较,特记下来. Oracle DB2/400 Oracle数据类型 注意事项 DB2 UDB数据类型 注意事项 DATE DATETIMETIMESTAMP l 如果只使用MM/DD/YYY,那么使用DATE类型.l 如果只使用HH:MM:SS, 那么使用TIME类型.l 如果要使用日期和时间,则使用时间戳类型(TIMESTAMP)l 能使用Oracle中的TO_CHAR()函数来取DATE的字串来分别和DB2/400的DATE.TIME相匹配.

java016.集合

ArrayList去除集合中字符串的重复值   public static ArrayList getSingle(ArrayList list) {    ArrayList newList = new ArrayList();   //创建一个新集合    Iterator it = list.iterator();     //获取迭代器    while(it.hasNext()) {       //判断老集合中是否有元素     String temp = (String)it.ne

数据库设计笔记

数据库设计学习笔记! 先谢慕课网. 什么是数据库设计? 数据库设计就是根据业务系统的具体需要,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构造出最优的数据存储模型.并建好数据库中的表结构及表与表之间的关联关系的过程.使之能有效地对应系统中的数据进行存储,并可以高效的对已经存储的数据进行访问. NoSQL系统:Mongo/ Memcache/ Redis 为什么要进行数据库设计? 优良的设计:     减少数据冗余     避免数据维护异常     结构存储空间     高效的访问糟

Linux云计算运维-MySQL

0.建初心 优秀DBA的素质 1.人品,不做某些事情2.严谨,运行命令前深思熟虑,三思而后行,即使是依据select3.细心,严格按照步骤一步一步执行,减少出错4.心态,遇到灾难,首先要稳住,不慌张,不要受到旁人的影响5.熟悉操作系统,Linux系统的工具和命令6.熟悉业务(开发),编程语言7.熟悉行业8.喜欢数据库 • 什么是数据? 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质.状态以及相互关系等进行记载的物理符号或这些物理符号的组合.它是可识别的.抽象的符号. • 什么是数