java数据类型之基本数据类型
总览
一,基本数据类型之包装
拓展:包装数据类型:顾名思义就是数据类型的包装版本;
举个简单例子,在我家乡我们把土豆叫做洋芋,土话
但如果说正式的话叫做马铃薯;
那么好
土话:土豆,洋芋
包装话:马铃薯
但他们本质都是同一种东西
包装类型暂时用的不多,不多讲,不过会讲个用法,让大家见识见识
| 数据类型 | 包装类数据类型 |
|---|---|
| byte | Bite |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
记忆:除了char与int类型特殊,其他均大写首字母
int---->Integer
char---->Character
1,整型
注意1:java并没有C里面的long long等其他多余数据类型,并且会有bite这一新类型,重点关注一下;
整型:用于存放整数
整型分为byte,short,int ,long
以下是用代码运行得出的各整型的范围(包装类用法之一)
①byte
public class Main {
public static void main(String[] args) {
//打印bite的范围
System.out.println("byte的范围为:"+Byte.MIN_VALUE+"到"+Byte.MAX_VALUE);
}
}
c

②short
public class Main {
public static void main(String[] args) {
//打印short的范围
System.out.println("short的范围为:"+Short.MIN_VALUE+"到"+Short.MAX_VALUE);
}
}
范围结果

③int
public class Main {
public static void main(String[] args) {
//打印int的范围
System.out.println("int的范围为:"+Integer.MIN_VALUE+"到"+Integer.MAX_VALUE);
}
}

④long
![public class Main {
public static void main(String\[\] args) {
//打印long的范围
System.out.println("long的范围为:"+Long.MIN_VALUE+"到"+Long.MAX_VALUE);
}
}

2,浮点型
浮点型:用于存放小数,属于实型的一种
实型:浮点型,科学计数法表示
科学计数法在最后补充
以下是用代码运行得出的各整型的范围(包装类用法之一)
①float
public class Main {
public static void main(String[] args) {
//打印float的范围
System.out.println("float的范围为:"+Float.MIN_VALUE+"到"+Float.MAX_VALUE);
}
}

②double
public class Main {
public static void main(String[] args) {
//打印double的范围
System.out.println("double的范围为:"+Double.MIN_VALUE+"到"+Double.MAX_VALUE);
}
}

3,字符型
代码演示
public class Main {
public static void main(String[] args) {
//代码演示字符类型
char a = 'a';
System.out.println(a);
}
}

4,布尔型
代码演示
public class Main {
public static void main(String[] args) {
//代码演示boolean类型
boolean a = true;
System.out.println(a);
}
}

注意2:在Java中没有"非0为真"这一说法,就两种
要么true,要么false
二,引用类型
不做过多讲述,特别说一下字符串类型,属于引用数据类型,与字符类型独立
public class Main{
public static void main(String[] args){
String a = "abcd";
System.out.println(a);
}
}
运行结果

注意3:java中" "字符串里是没有\0结尾
剩下后续都会说到;
三,科学计数法
我们知道科学计数法,可在java中是怎么表示?
用e或E
先代码演示
public class Main {
public static void main(String[] args) {
//代码演示科学计数法
double a = 1.23456789E10;
System.out.println(a);
double d = 1.23456789e10;
System.out.println(d);
//代码演示科学计数法
double b = 1.23456789E-10;
System.out.println(b);
double e = 1.23456789e-10;
System.out.println(e);
//代码演示科学计数法
double c = 1.23456789E0;
System.out.println(c);
double f = 1.23456789e0;
System.out.println(f);
}
}

e或E的前面是数(整数,小数)
后面接整数表示10的多少次方,以3为例子
3e0----->3
3e2---->300
…
四,类型转换
注意4:类型转换必须是同一类型整型与整型转,浮点型与浮点型转
类型转换分为两种
①隐性转换
public class Main {
public static void main(String[] args) {
//代码演示隐性转换
int a = 10;
double b = a;
System.out.println(b);
}
}

这里10就被转为double类型;
对于小于四个字节的类型在一起时会自动转换为int类型,一般用于小转大
代码
public class Main {
public static void main(String[] args) {
//对于小于四个字节的类型在一起时会自动转换为int类型,一般用于小转大
byte a = 10;
int b = 20;
short c = 15;
System.out.println(b+b+c);
}
}

②显式转换(大转小)
代码
public class Main {
public static void main(String[] args) {
//显式转换
int a = 10;
double b = a;
System.out.println(b);
}
}

注意5:这段显式转换看起来没有问题,但其实确实没有问题,我们需要知道这种转换是有风险的;
举个例子:我们有两个瓶子,一个瓶子最多装10ml的水,另一个瓶子只能装30ml的水
我们把30ml的瓶子装满,如果换10ml瓶子装,装得下吗?
答案是否定的;
这个代码没有问题就在于30ml装的水是满足10ml的水,例如装了5ml,10ml完全可以装;
因此我们一定要心里有数;
注意6:如果我硬要装,硬要要转换,即使超出所规定的范围,可以吗?
可以,但会涉及关于原反补码的知识,这个有点偏底层,后续会专们出一章;
代码演示,大家看一下;
public class Main {
public static void main(String[] args) {
//如果我硬要要转换,即使超出所规定的范围
int a = 1000000000;
byte b = (byte)a;
System.out.println(b);
}
}

public class Main {
public static void main(String[] args) {
//如果我硬要要转换,即使超出所规定的范围
int a = 128;
byte b = (byte)a;
System.out.println(b);
}
}

public class Main {
public static void main(String[] args) {
//如果我硬要要转换,即使超出所规定的范围
int a = 129;
byte b = (byte)a;
System.out.println(b);
}
}

public class Main {
public static void main(String[] args) {
//如果我硬要要转换,即使超出所规定的范围
int a = 400;
byte b = (byte)a;
System.out.println(b);
}
}

附加图:

2014

被折叠的 条评论
为什么被折叠?



