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