『壹』 哪位高手来解决一下:java中short类型数据如何转换成boolean类型
现在只有自己写代码,你可以在set方法中转换,在Hibernate中Java中的boolean型对应Mysql的bool(或bit或tinyint)型
『贰』 java 中如何将字符串转换成16位bit型数据
String s = "a";
int[] i = s.toCharArray();
static String Integer.toBinaryString(i[0]);
希望有帮助
『叁』 java中的数据类型
java中的数据类型分两大类分别是基本类型和引用数据类型。
一、基本类型
1)Java中的数据类型有八种,即基本类型。具体如下:
数据类型 位数 取值范围:
Boolean 1 True|False
Byte 8 -128~127
Short 16 -32768~32767
Int 32 -2e31~2e31-1
Long 64 -2e63~2e63-1
Float 32 略
Double 64 略
Char 16 0~65535
‘ /u0000’ ~’uFFFF‘
二、引用数据类型
1)定义一个byte变量 如:byte b= -256;
由于-256超出了’Byte’的取值范围,所以要使程序不报错,有一下几种解决方法:
A:更改变量的数据类型(如:将byte改为int);
B:更改变量名的赋值,使其包括在变量的数据类型的值域内;
C:进行强制转换:如: byte b=(byte)-256:
‘进行强制转换后,虽然程序不在报错,但是有可能会使原值的精度收到影响’
D:定义一个浮点类型数时,记得要在数值的后面加上“f”或“F”。(如:Float f=10000.0f;)
E:若定义 Char c=a;定义 int n=c;则输出的n值为“a“的ASCII值,即97。
2)引用数据类型的定义
A:对象都是引用数据类型
B:应用类型使用NEW调用构造方法进行赋值
C:在Java中,除了基本数据类型以外,其余的全都属于引用数据类型, 如:
a:API中的类,如String,File等;
b:数据;
c:自定义的类,如Cars,Student
d:对象全部是引用数据类型。
(3)javashort转bit扩展阅读
其他数据类型:
在java中,String本身也提供了很多的方法供我们使用:
获取到指定索引位置的字符:char c = 字符串.charAt(索引位置);
获取到指定索引位置的字符:char c = 字符串.charAt(索引位置);
获取第一次出现在字符串中的字符:int index = 字符串.index('a');
获取在字符串中字符的索引位置:int index = 字符串.index('a',1);
如果想比较两个字符串是否相等:字符串.equeals(字符串);
判断字符串是否为空:字符串.isEmpty();
获取字符串的长度:字符串.length();
根据某一个条件,将字符串进行分割:字符串.split("abc");
根据条件取出内容:字符串.substring(开始位置,结束位置);
『肆』 java 详细介绍short,byte,char三种类型,我分不清
byte:byte在java中占据一个字节即用8位bit表示,因为是有符号数,所以它的表示范围是-128-127.如果在运算过程中超出了范围限制就出现溢出。
char:char在java中占据两个字节,即用16位表示一个char类型的数据。由于char是无符号的所以其表示范围是0-65536.当计算超过其表示范围时,系统会自动将结果转换为int类型。
short:short在java中占据两个字节也是由16位表示,因为short是有符号数据故其表示范围是-32768-32767
根据需要可用来节省内存的使用。
『伍』 Java能否将字节流转换为bit流:
解析一下
10101000
10100111
----------------
10100000
//将最后一个1消去
所以执行多少次就是多少个1
『陆』 java bit怎么调
能够只使用 1 个 bit 存储信息的就只有 boolean 型的布尔真假值类型,但是它的值就只有 true 或者 false,强制性转换成数字也就只有 0 和 1,你不可能写出其他数字的,而且这样写数字比你轻松地定义一个 int 型的数据要麻烦地多。
顺便附上一个数据类型占用存储空间大小的表格:
类型 占用 bit(位)
byte(字节) 8
short(短整型) 16
int(整型) 32
long(长整型) 64
float(单精度浮点型) 32
double(双精度浮点型) 64
char(字符) 16
boolean(布尔型) 1
另外如果你是要计算的话,所有参与计算的整数都会被转换成 int 类型,所有参与计算的小数都会被转换成 double 类型,所以真的没有必要,也没有办法一个位一个位地写数字。
『柒』 java 与运算 和 short类型
1、java 与运算:
& 和 && 相同点:
都表示“与”操作。这里的“与”和数学中的“与或非”中的“与”意义相同,都遵循“一假必假”原则。即“与”符号两边的元素只要有一个为假,"与"操作执行后的结果就为假。
& 和 && 的区别:
1)& 表示“按位与",这里的”位“是指二进制位(bit)。
例:十进制数字8 转化为二进制是:1000 ;数字9 转化为二进制是1001 。
则如有以下程序:
js">publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(9&8);
}
}
输出结果应该是:8
原因:1001 & 1000 = 1000 。 计算机中一般1表示真,0表示假。最左边一位1&1=1,最右边一位1&0 = 0.
2) && 表示逻辑”与“ ,即java中的boolean值才可以存在于&&符号的左右两侧。
true && false = false ,true && true = true , 依旧是"一假必假"。
值的注意的是:&& 符号有所谓的“短路原则”,当 A && B 出现时,如果A经判断是假,那么B表达式将不会获得执行或被判断的机会。直接结果就为假。
注:关于十进制与二进制的转换,简单的说每四位可以遵循”8421“原则,1001即8+1=9,1011即8+2+1=11
2、shot(短整型)是16bit长的带符号整数,范围是-32768~32767。
『捌』 java中char与short有什么区别
在Java中,来char是16bit长的无符号整数源,因此范围是:0~65535,而short则是16bit长的带符号整数,范围是-32768~32767。 所以,两者虽然字长相同,但意义却不一样(表示范围并不完全重合或包含),因此不管是char转换成short,还是short转换成char,都属于数值的“窄化转换”(Narrowing Primitive Conversion)。 窄化转化都可能“丢失精度”,因此必须强制转换。虽然,这里的“丢失精度”跟从int到short的丢失精度给人的感觉似乎不一样,但仔细想想也没有什么区别,一方面,char有16个bit表示数值,而short用于表示数值大小的只有15个bit,因此,从char到short会“丢失数值精度”,而另一方面,short有1个bit表示数值的符号,而char却根本没有这么个符号位(所有的bit都用来表示数值大小了),所以从short到char也可能“丢失精度”,只是这里丢失的是有关正负的“精确程度”。
『玖』 有关这段byte类型运算的java代码作用
java中byte是8bit,short是16bit,所以两个byte可以合并成一个short。
(data[i * 2]&0xff) | (data[i * 2+1]&0xff) << 8,这个表达式的意思是将data数组偶数位置上的数字取出做short的低8位,奇数位置上的数字取出做高8位。
|是位或,就是为了拼凑成16位的数字。
<<8是将原来的8位二进制向左移动8位,变成后八位全是0的数字。
『拾』 java的类型转换问题。int a = 123456;short b = (short)a;System.out.println(b);为什么结果是-7616
这个从二进制来解释:
int 是 32 位,也就是最多能表示长度为 32 位的二进制整数。第一位是符号位,表示正负,0 表示正的,1 表示负的。当首位为 1(为负)时,把所有的位取反(0 变成 1,1 变成 0),然后再 + 1,就是它的正数相反数。
short 是 16 位,长度短了,其他和 int 一样的。
然后看你的问题,123456 本来是 int,有 32 位,二进制表示为:0000 0000 0000 0001 1110 0010 0100 0000。
然后你转成了 short,short 最大 16 位,截取最后 16 位,就是 1110 0010 0100 0000,这个数肯定不是原来那个数了,首位是 1,那么就是负数,取反加一以后是 0001 1101 1100 0000,这转成十进制就是 7616,这是相反数,所以是 -7616。
看明白了吗?不明白问我。