【Java基础】数据类型及变量

变量——数据的载体

在进行数据类型认识之前我们需要知道变量的相关内容。
变量的定义:在编写程序过程中,我们或多或少会创造了一些临时数据。(例如下面的几行代码)
	int a = 0;
    float b = 1.0f;
    double c = 1.0;
    long d = 10;
    short e = 20;
    char f = 'A';
    String g = "Hello World";
    byte h = 20;
    boolean i = false;

在上述代码中 可以看出基本的定义是:数据类型 变量名 = 初始值
在Java当中,变量的值必须初始化 否则将会报错

	在代码编译运行过程中,应用程序会为这些变量开辟一块单独的内存空间,并将这些数据存在相应的地址中。

数据类型

	Java是一种强类型的语言,对数据的类型有着严格的要求和限制。在Java中,设定了四类八种的基本数据类型和引用数据类型String

基本数据类型

	基本数据类型分别为**整形、字符型、浮点型以及布尔型**,即int,char,double,boolean。
	每个数据类型都有它自己的取值范围,可以通过代码获取最大值以及最小值。

范围如图所示:
在这里插入图片描述
同时取值范围也可以通过代码获取数值
这里展示部分代码:

 		// 各个数据类型范围的讨论
        // byte ;
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);

        // int ;
        System.out.println("int类型变量范围是");
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);

        // long a = 10L;//在long整型变量中
        // 通常在long的初始化值后面+L
        System.out.println("long类型变量范围是");
        System.out.println(Long.MAX_VALUE);
        System.out.println(Long.MIN_VALUE);

        // short c;
        System.out.println("short类型变量范围是");
        System.out.println(Short.MAX_VALUE);
        System.out.println(Short.MIN_VALUE);

之所以设定这些数据类型,是为了 **在编写过程中根据所定义的变量选择相应的取值范围 **,
从外表层面看可以提高程序编译运行的速度,在计算机深层中,根据不同数据进行内存的合理分配。
因此,对各数据类型的取值范围以及内存占用方面有一定了解是很有必要的

整型

在整型变量的定义中,当属int最为常见,整型中默认为int型。为其他类型分别有byte,long int,short int。
在整型变量中不存在小数点的概念,即没有小数部分的值。(如下列代码及运行结果)
public class Main {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a/b);
    }

在定义整型变量时,通常选用int,需要注意的是long int和其余三个的定义方式是不一样的(具体看下面的代码)
		byte e = 10;
        int a = 1;
        short b = 2;
        long c = 3L;
这里我们可以看出 short int 和long int 在定义过程中可以省略int,**而long int类型则需要在数值后面加上“L”**。
在long int中,数值后面的L大写小写并不影响,但是在平常编译代码过程中还是应当以“L”为主,防止看代码时看错。

浮点型

浮点型用于存储实数,在浮点型变量的定义中,默认为double型(双精度浮点型),此外还有一种float型(单精度浮点型)。
定义方式如下列代码所示
	double c = 1.2;
    float  d = 3.4f;
	在上述代码中可以看出在定义float类型变量中需要在赋的值后面加上“f”,计算机会根据这个标志进行区分,
如果没加f将会出现报错的情况。

字符型

在Java中,字符型占两个字节,用于存储单一字符。可以存储的内容包括整数、字符。命名格式如下代码
它的包装类为Character。	
 	char a = 'A';
    char b = '张';

布尔型

与C语言中0、1表示真假不同,布尔型只能用true和false来表达。这也意味着不能用数字进行真假的转变。
布尔型通常用于逻辑判断(如下代码)
	boolean flag = 10>20;
    System.out.println(flag);
    System.out.println(!flag);

引用数据类型

引用类型与基本数据类型的区别在于引用数据类型是编程人员自己定义的类型。
如:字符串类型(String)、类(class) 、接口(interface)、数组、枚举(enum)······
在数据类型方面主要是String类型为主。

String类型

String类型可以存储一串数字、一串字符。在输出结果时也起到了拼接作用
//定义+命名
	String str = "hello";
	int p = 100;
    String str2 = String.valueOf(p);//将数字转换成字符串类型
   
//拼接
	 	int a = 10;
        int b = 20;
        System.out.println("a + b" + a + b);
        System.out.println(a + b + "a + b");//加完拼接
        System.out.println("a + b = " + (a + b));   
在字符串进行拼接时,会根据代码的顺序/优先级进行拼接
以上拼接代码输出结果为
a + b1020
30a + b
a + b = 30

类型转换

在Java中,有一定联系的数据类型之间可以进行转换,分为自动类型转换(隐式)和强制类型转换(显式)。
两种转换都有一个共性即两种数据类型彼此兼容(有联系),因此布尔类型一般是不能进行数据类型转换的。

自动类型转换

自动类型转换必须满足的条件是 目标类型取值范围大于原类型的取值范围。如
	int a = 10;
    long b = 100L;
     b = a;
在上面的代码中,int类型是取值范围是小于long类型的,当a赋值给b时,a的数据类型将自动提升至long类型。

强制类型转换

a = (int) b;
float c = 1.2f;
d = (int)c;//d = 1
在此代码中,long类型要赋值给int类型,则需要进行强制转换。
如对d进行赋值的情况,在强制转换过程中可能会发生数据精度丢失的情况。
因此我们并不建议对数据进行强制转换。

获取相关代码:
https://gitee.com/Bao__man/java-se/tree/master/%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值