大前端

前端学习之家-大前端

java的数据类型

Java数据类型结构图

 

int类型(4字节)(-2^31 ~ 2^31-1)

在java中,1个int字节占4个字节,与操作系统无直接关系(8个二进制位=1字节)

System.out.println(Integer.MAX_VALUE);//分别求整形最大值、最小值
System.out.println(Integer.MIN_VALUE);

如果运算结果超出int的max值,会出现溢出情况。

对于大数据时代,数据很容易超出int_max,所以引入long类型。

long类型(8字节)(-2^64~2^64 -1)

long num=10L;
long num1=10l;//定义long类型变量

使用10进行初始化也可,但是使用10L或10l会更好一些。

System.out.println(Long.MAX_VALUE);//分别求Long形最大值、最小值
System.out.println(Long.MIN_VALUE);

double(8字节)

bouble num=1.0;//初始化
double a = 1.1;
System.out.println(a * a);//1.2100000000000002
/*double布局类型遵守IEEE754标准,尝试使用有限的内存空间表示科能无限的小数
,会存在一定的精度误差*/

java中double虽然也是8字节,但是浮点数内存布局和整数差别很大,不能单纯用2的n次幂的形式表示范围。

float(4个字节)

float num=1.0f;
float num1=1.0F;//初始化

 由于float表示数据精度范围较小,一般浮点型推荐使用double。

char类型(2个字节)

char ch = 'A';//初始化

Java 中使用 单引号 + 单个字母 的形式表示字符字面值.。

char ch2 = 97;//
System.out.println(ch);//结果是a
        

计算机中的char本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符.。因此一 个字符占用两个字节, 表示的字符种类更多, 包括中文。

 byte(1个字节)

byte value = 0; 
System.out.println(value); //byte类型初始化

字节类型表示的也是整数.。

byte只占一个字节, 表示范围较小 ( -128 -> +127 )

字节类型和字符类型互不相干。

 byte ab=10;
 byte cd=20;
 byte de=(byte)(ab+cd);//short和byte类型先转换为4字节int类型再进行计算 所以要进行强制转换

short(2个字节)

short value = 0; 
System.out.println(value); //short类型初始化

  short表示的数据范围是 -32768 -> +32767  ps:这个表示范围比较小, 一般不推荐使用。

boolean(不一定)

boolean value = true; 
System.out.println(value); //boolean类型初始化

 boolean 类型的变量只有两种取值, true 表示真, false 表示假

Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法 

boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定

String()

String name = "zhangsan"; 
System.out.println(name);//string类型初始化

Java 使用 双引号 + 若干字符 的方式表示字符串字面值.

和上面的类型不同, String 不是基本类型, 而是引用类型

字符串中的一些特定的不太方便直接表示的字符需要进行转义

转义字符示例:

  
String name = "My name is \"张三\"";
//打印bit需要 “\"bit"\”
//打印\bit\需要“\\bit\\"
//打印\\bit\\需要”\\\\bit\\\\“

 

 转义字符有很多, 其中几个比较常见的如下:

\n 换行

\t 水平制表符

\' 单引号

\" 双引号

\\ 反斜杠

字符串的 + 操作: 表示字符串拼接:

System.out.println("hello"+(10+20));//hello30
System.out.println(10+""+20+"hello");//1020hello
 String a = "hello"; 
String b = "world"; String c = a + b; 
System.out.println(c); //helloworld

还可以用字符串和整数进行拼接:

 String str = "result = "; 
int a = 10; 
int b = 20; 
String result = str + a + b;
 System.out.println(result); //result=1020

 以上代码说明,:当一个 + 表达式中存在字符串的时候, 都是执行字符串拼接行为. 因此我们可以很方便的使用 System.out.println 同时打印多个字符串或数字 :

int a = 10;
 int b = 20;
 System.out.println("a = " + a + ",b = " + b);

引入string.valueof()概念 

(1)String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串

(2)String.valueOf(char c) : 将 char 变量 c 转换成字符串

(3)String.valueOf(char[] data) : 将 char 数组 data 转换成字符串

(4)String.valueOf(char[] data, int offset, int count) : 将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串

(5)String.valueOf(double d) : 将 double 变量 d 转换成字符串

(6)String.valueOf(float f) : 将 float 变量 f 转换成字符串

(7)String.valueOf(int i) : 将 int 变量 i 转换成字符串

(8)String.valueOf(long l) : 将 long 变量 l 转换成字符串

(9)String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()

引入Integer.parseInt()概念

Integer.parseInt()是将整型数据Integer转换为基本数据类型int

发表评论:

Copyright Your WebSite.Some Rights Reserved.