Java数据类型–基元和二进制文字
时间:2020-02-23 14:36:29 来源:igfitidea点击:
Java是一种强类型语言,这意味着在使用它之前必须先声明所有变量。
在Java中声明变量包括类型和名称以及可选的值分配。
如果未分配任何值,则该变量将保留默认值。
对于基本类型,默认值有所不同,但对于Object数据类型,默认值始终为NULL。
Java原始数据类型
Java编程语言包含八种原始数据类型。
四种原始数据类型用于整数值–字节,短,整数和长整数。
浮点型十进制值有两种原始数据类型-浮点型和双精度型。
一种用于字符-char,一种用于条件-布尔值。
包装器类还为所有这些原始数据类型提供了Java编程语言。
下表显示了所有这些原始数据类型,包括大小,范围,默认值和不同的分配方式。
Type | Size | Range | Default Value | Examples |
---|---|---|---|---|
boolean | 1 bit | NA | false | boolean bool = true; |
char | 16 bits | Unicode Characters | '\u0000' or 0, whichis nothing but a white space | char c = 'A';char c = '\u0041';char c = 65;char c = ''; |
byte | 8 bits | [-128,127] or[-2^7 to 2^7-1] | 0 | byte b = 10;byte b = 0b010; |
short | 16 bits | [-32768,32767] | 0 | short s = 32;short s = 'A'; |
int | 32 bits | [-2147483648,2147483647] | 0 | int i = 10;int i = 'A'; |
long | 64 bits | [-2^63,2^63-1] | 0 | long l = 3200L;long l = 3200; |
float | 32 bits | [-3.4E38, 3.4E38] | 0.0f | float f = (float) 12.34;float f = 12.34f; |
double | 64 bits | [-1.7E308, 1.7E308] | 0.0 | double d = 12.34; |
下面是一个简单的Java程序,显示了声明原始数据类型的不同方法-仔细查看char以及将int通过显式转换转换为字节时发生的情况。
package com.theitroad.collections; public class DataTypes { public static void main(String[] args) { char c = 'A'; System.out.println(c); //prints A char c1 = '\u0041'; System.out.println(c1); //prints A char c2 = 0; System.out.println("Default Value:"+c2+":"); //prints Default Value: : char c3 = 65; System.out.println(c3); //prints A char c4 = '\t'; System.out.println("Tab Start:"+c4+":End"); //prints Tab Start: :End byte b = 10; System.out.println(b); //prints 10 byte b1 = (byte) 200; System.out.println(b1); //prints -56 //<0...>_11001000 (int), converted to 11001000 (byte) by stripping leading 24 bits //since left most bit is 1, we need to find the value //Ones complement 11001000 -1 = 11000111 //invert digits 00111000 i.e 56, hence printing -56 b1 = (byte) 0b11001000; System.out.println(b1); //prints -56 byte b2 = (byte) 320; //256+64 i.e 00000000_00000000_00000001_01000000, byte 01000000 //since leading bit is 0, nothing is required to determine value System.out.println(b2); //prints 64 short s = 32; short s1 = 'A'; //implicit char to short conversion System.out.println(s1); //prints 65 int i = 'A'; System.out.println(i); //prints 65 long l = 3200L; long l1 = 3200; float f = 12.34f; //Examples byte x, y = 1, z = 2; x = (byte) (y + z); } }
在数字文字中使用下划线
从Java 7开始,我们可以在数字文字中使用下划线,例如long ccNum = 1234_5678_9101_1121L;
。
您可以在"数字文字"中的"下划线"中阅读有关它们的更多信息。
二进制文字
从Java 7开始,整数类型(字节,短型,整型和长型)也可以使用二进制数字系统表示。
我们需要在数字前面加上0b或者0B。
一些例子是;
//An 8-bit 'byte' value: byte aByte = (byte)0b00100001; //A 16-bit 'short' value: short aShort = (short)0b1010000101000101;