初识 Java
数据类型
目录
一、数据类型与变量
1.字面常量
2.数据类型
3.变量
1.字面常量
常量都是定值
System.Out.println("Hello World");
其中 Hello World 则是字面常量。其余如:100、3.14、‘A’、true\false都是常量,将其称为字面常量。
字面常量的分类:
1. 字符串常量:由""括起的,如:“123456”、“hello”、“你好”;
2. 整形常量:程序中直接写的数字(注意没有小数点),如:100、1000;
3. 浮点数常量:程序中直接写的小数,比如:3.14、0.49;
4. 字符常量:由‘’括起的;
5. null常量:null常量只有一个值,表示对象的引用为空;
2.数据类型
1.基本数据类型/内置类型 8种
- 整数型:byte、short、int、long
- 小数型:float、double
- 字符型:char
- 布尔类型:boolean
注意
· 无论是在16位还是32位系统,int都占4字节,long都占8字节(具有可移植性!);
·整形默认为int,浮点型默认为double;
·字符串属于引用类型;
·java当中,所有的类型定义的数据,都是有符号的;
如图
2.引用数据类型
1.String、2.数组、3.接口、4.类 等等
这些类型定义的变量都是储存地址的变量。
3.变量
在程序运行期间,可以改变的量
语法格式:
数据类型 变量名 = 初始值;
(在JAVA当中,不允许使用未初始化的局部变量)
1.整形变量
int a = 10;
System.out.println(Integer.MIN.VALUE);//int的最小值
System.out.println(Integer.MAX.VALUE);//int的最大值
Integer为 包装类型,int的puls版本
long a = 10L;//后缀为L或l,大写是为了更容易易区分
System.out.println(Long.MIN.VALUE);//long的最小值
System.out.println(Long.MAX.VALUE);//long的最大值
//以下除char外的变量类型的包装类型均与此形式相同,首字母大写
short sh = 19;
byte a = 200;
当赋值的字面值,超过当前数据类型能表示的最大范围后,编译报错。
2.浮点型变量
//双精度
double d = 3.14;
//单精度
float f = 12.5f;
double dd = 1.1;
System.out.println(dd * dd);
1.2100000000000002
小数是没有精确数字的
3.字符型变量
char在java中是 2个字节
char c1 = 'A';//大写字面
char c2 = '1';//数字字符
char c1 = '赵'//汉字是两个字节
Charcter a = 'b';//包装类型
//字符类型可以存放整形
在C语言中使用 ASCII 表示字符,而JAVA中使用 Unicode 表示字符。
4.布尔类型
在java中 boolean 只有两个值,要么是true,要么是false
boolean flg = true;
//Boolean 包装类型
boolean类型没有明确的大小,JVM没有规定,有说 1个字节,也有说 1个比特位。
Java中,boolean类型和int不能相互转换,不存在 1 表示true,0 表示 false 的用法。
以下用法报错
boolean value = true;
System.out.println(value + 1);//报错
5.类型转换
1.java 是强类型编程语言
int a = 10;
long b = 10L;
a = b;//报错,不允许将 8个字节赋给 4个字节
b = a;
//强转
a = (int)b;
byte b1 = 100;
byte b2 = 257;//编译失败,257超过了byte的数据范围,有数据丢失。
注意
强转是有风险的,强制类型转换会发生截断,int = long ,float = double 可能会丢失剩余字节内容。
2.自动类型转换(隐式)
代码无需经过任何处理,在代码编译时,编译器会自动进行处理。
特点:数据范围小的转为数据范围大的时会发生自动进行。
System.Out.println(1024);//整形默认情况下是int
System.Out.println(3.14);//浮点型默认情况下是double
3.整形提升
由于计算机的 CPU 通常是按照 4 个字节单位从内存中读写数据,为了硬件实现方便,诸如:byte 和 short 这种低于 4 个字节的类型,会先提升位 int 类型
byte b1 = 10;
byte b2 = 20;
byte b3 = b1 + b2;//报错
short s1 = 10;
short s2 = 20;
short s3 = s1 + s2;//报错
6、字符串类型
//字符串类型
String str = "hello";//头字母大写
//str 属于引用变量,这个变量存放的是地址
//在 JAVA 中没有以‘\0’结尾的说法
int a = 10;
System.out.println("a==" + a);//a==10
//在java中,’+‘可以用于拼接
int b = 20;
System.out.println("a+b = " +a+b);//a+b = 1020
//这里是拼接,而不是计算
System.out.println("a+b = " +(a+b));//a+b = 30
System.out.println(a+b + " = a+b" );//30 = a+b
3.字符串转整形
String str1 = "123";
int val = Integer.parseInt(str);
System.out.println(val+1);//124
2.整形转字符串
int a = 123;
String str2 = String.valueOf(a);
Ststem.out.println(str);
//或者
String str3 = a+"";
Ststem.out.println(str3);
//或者
String str4 = Integer.toString(a);
Ststem.out.println(str4);
——————————————
完…
敬请不吝赐教!