【JavaSE学习笔记】数据类型与变量

【JavaSE学习笔记】数据类型与变量

  • 一、字面常量
  • 二、数据类型
  • 三、变量
    • 变量种类
      • (一)整型变量
      • (二)浮点型变量
      • (三)字符型变量
      • (四)布尔类型变量
    • 类型转换
      • (一)自动类型转换(隐式)
      • (二)强制类型转换(显式)
    • 类型提升
  • 四、字符串类型
  • 五、结束语

一、字面常量

  1. 概念
    常量就是程序在运行期间,固定不变的量。
  2. 分类
    (1)字符串常量
    (2)整型常量
    (3)浮点数常量
    (4)字符常量
    (5)布尔常量
    (6)空常量
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello");//字符串常量
        System.out.println(123);//整型常量
        System.out.println(1.23);//浮点数常量
        System.out.println('A');//字符常量
        System.out.println(true);//布尔常量
        //还有一种空常量null无法打印。
    }
}

二、数据类型

在Java中数据类型主要分为两种:基本数据类型和引用数据类型。
基本数据类型有四类八种。

  1. 四类:整型、浮点型、字符型以及布尔型。
  2. 八种:
数据类型关键字包装类内存占用
字节型byteByte1字节
短整型shortShort2字节
整型(默认)intInteger4字节
长整型longLong8字节
单精度浮点数floatFloat4字节
双精度浮点数(默认)doubleDouble8字节
字符型charCharacter2字节(与C语言有差异)
布尔型booleanBoolean无明确规定

注:

  1. 字符串属于引用数据类型。
  2. 由于Java基本数据类型的内存占用固定,所以具有较好的可移植性。
  3. 浮点型和整型都是带符号的。

三、变量

变量就是程序中经常改变的量。数据类型就是用来定义不同种类的变量的。

定义变量的格式为:
数据类型 变量名=初始值;

变量种类

(一)整型变量

  1. 整型变量
  2. 长整型变量
  3. 短整型变量
  4. 字节型变量

同一类变量的不同种类型各有自己的作用,就像不同的人穿不同尺码的衣服,使用时选择合适的数据类型才是最好的。

(二)浮点型变量

  1. 双精度浮点型
    在Java中, int除以int的值仍然是int。
    浮点数是个近似值,并不是精确值。
  2. 单精度浮点型

(三)字符型变量

单引号加单个字母表示。
C语言用ASCII码表示字符(占一个字节),Java用Unicode表示字符(占两个字节),表达含义更丰富,甚至可以表示中文。

(四)布尔类型变量

只有两种取值:true表示真,false表示假,不能与int相互转化。(C语言中0为假,非0为真,可以与int相互转化。)

类型转换

当参与运算的数据类型不一样时就需要进行类型转换后,才能继续运算。

(一)自动类型转换(隐式)

数据范围小的转化为数据范围大的,会自动进行。(不用任何处理,编译器在代码编译时自动处理。)

public class Test001 {
    public static void main(String[] args) {
        int a=10;
        long b=a;//a自动转换为long类型,再进行赋值。
        System.out.println(b);
    }
}

(二)强制类型转换(显式)

数据范围大的转化为数据范围小的,不会自动进行。有可能会造成精度丢失,使用即代表你对这个转换造成后果负责。

public class Test001 {
    public static void main(String[] args) {
        long b=10;
        int a=(int)b;//b被强制转换为int类型,再赋值给a,如果超过int范围会丢失精度。
        System.out.println(a);
    }
}

类型提升

  1. 不同类型数据之间相互运算,数据类型小的会被提升到数据类型大的。
  2. 计算机CPU通常按四个字节为单位从内存中读写数据,byte和short(小于四个字节的类型)一般会提升成int,再运算。
public class Test001 {
    public static void main(String[] args) {
        byte a=10;
        byte b=20;
        int c=a+b;//若此处c为byte类型,会报错(因为a+b已经被系统默认转换为int类型了)。
        System.out.println(c);
    }
}

四、字符串类型

  1. 把int转换为String。
public class Test001 {
    public static void main(String[] args) {
        int a=100;
        //方法一:数字与""拼接。
        String s1=a+"";
        //方法二:调用类方法。
        String s2=String.valueOf(a);
        System.out.println(s1+s2);
    }
}
  1. 把String转换为int。
public class Test001 {
    public static void main(String[] args) {
        String s1="100";
        //调用类方法。
        int a=Integer.parseInt(s1);
        System.out.println(a);
    }
}

五、结束语

我是小邓,一个励志写好代码挣大钱的男人。希望通过博客在记录自己的学习历程的同时,认识更多志同道合的朋友。如果您觉得我的文章对您有帮助的话,请不要吝惜您的一键三连(点赞关注加收藏),这对我很重要,谢谢!

  • 37
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值