对于学习JavaSE数据类型一些总结

数据类型划分:

在这里插入图片描述

1.基本数据类型

  1. 数值型(byte、short、int、long、double、float)
  2. 字符型(char)(默认值,\u0000(空格))
  3. 布尔型(boolen)(默认值,false)

共八种:

基本类型 默认值 存储 对应的包装类 数据范围
boolen false 1位 Java.lang.Boolen ture/false
byte 0 一个字节 Java.lang.Byte -128 — 127
short 二个字节 二个字节 Java.lang.Short -32768 — 32767
char ‘\u0000’ 二个字节 Java.lang.Character 0 — 65535
int 0 四个字节 Java.lang.Integer -2^31 — 2^31-1
float 0.0F/0.0f 四个字节 Java.lang.Float 32位IEEE 754单精度
double 0.0/0.0(d) 八个字节 Java.lang.Double 32位IEEE 754双精度
long 0L/0l 八个字节 Java.lang.Long -2^63 — 2^63-1

注:位只有两种形式0和1,而字节是有8个位组成的。可以表示256个状态。1字节(byte)=8位(bit)

这是一些小小的建议:

  • 在程序开发中,整数就用int,小数就用double
  • long一般用于描述日期、时间、内存或文件大小(字节)
  • 如果要进行编码或者进行二进制流的操作,使用byte

1.2整形

  • 在Java程序中,任何一个整型常量都是int类型
    范例:定义一个整型变量
int num = 10 ;//定义一个整形常量
System.out,println(num * 2)

以下是当时学习时遇到的一个问题:

范围小的数据类型可以自动提升为大的数据类型,范围大的数据类型只有强转才可以转化为小的,但有时会存在丢失内容.
例:

public class Ex1
{
    public static void main(String[] args){
    int maxValue = Integer.MAX_VALUE;
	long num = maxValue+1;
	System.out.println(num)
	}
}

我当时觉得int型既然存在数据溢出问题,所以应该更换数据类型,使用long来解决数据溢出问题:

public class Ex2
{
    public static void main(String[] args){
    int maxValue = Integer.MAX_VALUE;
	long num = maxValue+1;
	System.out.println(num)
	}
}

但是问题没有解决,后来发现原因是所有程序都是由右往左,所以应该给1后面加上L(l)

long num = maxValue+1L;

2.2所有数据类型默认值应结合类来观察,方法中的局部变量不存在默认值(局部变量应该先赋值后使用)

1.3浮点型

  • *描述小数默认为double型,float范围小于double,如果要使用float,必须使用强制类型转换或者在小数后加F(f)。
    注意此代码:
float f1 = 1.1;
float f2 = 1.1
System.out.println(f1 * f2);

初学的时用的 VSCode 没有报错,但是结果计算错误了,但是IDEA会直接报错。
:大的类型转换为小的为强制转换,小的转大的为声明。

1.4字符型

  • 字符型用char表示,并且使用’'来表示字符变量内容。
  • java中字母与汉字大小相同,‘a’==‘哈’。
  • char与int转换:
char a = 'A';
char b =a;
System.out.println(b);

输出结果为65(A的ASCII码)

  1. 大写字母变小写字母:(相差32个)
char ex = 'A';
int num = ex + 32;
char ex1 = (char)num;
Sysout.out.println(ex1);

输出结果为 a

1.5布尔型

  • boolen(默认值为flase)

2.引用数据类型(null)

  • 分为数组、类、接口

猜你喜欢

转载自blog.csdn.net/qq_38534524/article/details/89319300