JavaSE数据类型

目录

字面常量

字符常量

字符串常量

整型常量

浮点数常量

布尔常量

空常量

数据类型

基本数据类型

数据范围

整型类型

整型变量

长整型变量

短整型变量

字节型变量

浮点型变量

字符型变量

字符串类型

字符串拼接

int转String

String转int

布尔类型

类型转换

类型提升


字面常量

 常量即程序运行期间,固定不变的量称为常量

字符常量

由单引号括起来的单个字符

比如:‘a’、‘1’

字符串类型

由双引号括起来的

比如:"12345"、"hello"、"你好"。

整型常量

程序中直接写的数字(没有小数点)

比如:1000、1024

浮点数常量

程序中直接写的小数

比如:3.12、7.86

布尔常量

只有两种:true和false

 空常量

null

 注意:字符串、整形、浮点型、字符型以及布尔型,在Java中都称为数据类型


 数据类型

 在Java中主要分了两类:基本数据类型引用数据类型

基本数据类型

四类、八种

四类

整型、浮点型、字符型、布尔类型

八种

1.无论机器是16位还是32位,其类型大小都是以下固定值;

2.Java没有所谓的无符号类型,整型和浮点型都是带有符号的;

八种
数据类型关键字内存占用
字节型byte       1个字节
短整型short2个字节
整型int4个字节
长整型long8个字节
单精度浮点型float4个字节
双精度浮点型double8个字节
字符型char2个字节
布尔型boolean无明确规定


 数据范围

  • 全是1:是负数的最小值;

  • 最高位是1,其他位全0:负数的最大值;

  • 全是0:是整数的最小值;

  • 最高位是0,其他位都是1:整数的最大值;


整型类型

整型变量

int的包装类型为 Integer.

int a = 10;

int num = 100;

// int型变量所能表示的范围:
public class Test {
    public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
    }

 长整型变量

long c = 10L;
// 为了区分int和long类型,一般建议:long类型变量的初始值之后加L或者l
long的包装类型为Long.
//这个数据范围远超过 int 的表示范围.
public class Test {
    public static void main(String[] args) {
        System.out.println(Long.MAX_VALUE);
        System.out.println(Long.MIN_VALUE);
    }

短整型变量

short a = 10;

short的包装类型为Short.

// short型变量所能表示的范围:
System.Out.println(Short.MIN_VALUE);
System.Out.println(Short.MAX_VALUE);

字节型变量

byte b = 10;

字节的包装类型为Byte.

// byte型变量所能表示的范围:
System.Out.println(Byte.MIN_VALUE);
System.Out.println(Byte.MAX_VALUE);


 浮点型变量

单精度浮点型、双精度浮点型,与C语言基本一致,需要注意的是包装类型分别是Float和Double,最重要之处在于浮点数都不是准确值       


字符型变量

  1. Java使用的是Unicode字符集表示字符(支持多国语言),而C语言用的是ASCII(只能表示字母和基本字符)

  2. 字符类型若要用包装类型表示范围大小是无法输出的

  3. char的包装类型为Character


 字符串类型

  • Java的字符串不是以\0结尾的

  • 字符串+整型 (或者整型+字符串)(或者字符串+字符串)= 字符串拼接===>整体变成字符串

字符串拼接

//字符串+字符串
public static void main4(String[] args) {
    String s1 = "hello";
    String s2 = " world";
    System.out.println(s1 + s2);
}
//整型+字符串   字符串+整型
public static void main3(String[] args) {
    int a = 10;
    int b = 20;
    System.out.println("a: "+a + "b: "+b);
    System.out.println("a: " + a + b);
    System.out.println(a + b + " = a + b ");
}

int转String

public static void main(String[] args) {
    //方法一:
    int a = 10;
    String s1 = a + "";
    System.out.println(s1);
    //方法二:借助方法
    int b = 20;
    String s2 = String.valueOf(b);
    System.out.println(s2);
}

String转int

public static void main(String[] args) {
    String s1 = "100";
    int num = Integer.parseInt(s1);
    System.out.println(num);
}


布尔类型

  1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.

  2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法

  3. 没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令

  4. boolean的包装类型为Boolean


类型转换

与C语言相同点

  1. 自动类型转换(隐式)

  2. 强制类型转换(显式)

不同点

    1.不相干的类型不能互相转换

    2. 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查


类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的

1. int与long之间:int会被提升为long

2. byte与byte的运算

    当参与运算的数据小于4个字节的时候,会进行整形提升为int,因此真正情况下要将接收变量进行强制转换——但是计算很小的数时(总结果不大于127即四个字节)用byte来计算节省空间


  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@糊糊涂涂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值