数据类型划分:

java 时间个位数十位补零 java个位数怎么表示_数据类型

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

0

二个字节

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值占4个字节byte,一个字节是8位bit(即8个二进制位),所以int型占32位。其中第一位是标志位,标志位为0表示正数,标志位为1表示负数,剩余的31位是用来表示数字部分的。

  • 在程序开发中,整数就用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)

  • 分为数组、类、接口