认识Java的数据类型,变量

一、数据类型

每一种语言都有它对应的类型,但大体上都大差不差。在这里来介绍一下Java的数据类型。Java的数据类型分为基本数据类型和引用类型两大种,这篇文章我们主要介绍基本数据类型和String。

基本数据类型

基本数据类型有四类八种。四类分别是整型、小数型、字符、布尔。下面围绕这四类来引出其八种。
整型:byte(占1字节),short(2字节),int(4字节),long(8字节)
浮点型:float(4字节),double(8字节)
字符型:char(2字节)
布尔型:boolean(不确定具体大小)
这里面需注意以下几点:
1.整型中默认类型是int,浮点型中默认类型是double。
2.整型和浮点型都是带符号的。
3.不管在什么系统中(64位还是32位等)int,long,short,byte,float,double的大小均不变。
4.布尔型与C语言中的不同,java中的布尔型只有两个值true和false。不可以用数字来代替。

String

在我们原来接触过的C语言中并没有这个类型,而是通过数组来存储字符串。在Java中,定义字符串有了单独的类型String,但这个类型并不是基本数据类型而是引用类型。引用类型还有其他的,后续再一一介绍。
这里我们来讲一下字符串的一些基本用法。

字符串拼接

字符串的拼接通常使用+号进行拼接。这里需要注意以下易错点。

        int a = 10;
        int b = 20;
        System.out.println("a=" + a + "b=" + b);   //输出a=10b=20
        System.out.println("a + b = " + a + b);   //输出a + b = 1020
        System.out.println(a + b + "a + b");     //输出30a + b

字符串 + 其他类型 = 字符串
像输出的最后一种,a + b加号的左右两边是整型,此时加号的作用就不再是拼接而是求和。当有一边是字符串类型时才为拼接。

类型转换

转为字符串类型

方法一:上面的字符串拼接可以转为字符串类型
方法二:使用String自己的类库中的valueOf方法,下面用int和double进行举例。

        int num = 10;
        double number = 10.5;
        System.out.println(String.valueOf(number));
        System.out.println(String.valueOf(num));
其他类型转为字符串

使用基本类型的包装类中的方法。下面同样用int和double进行举例

        String s = "100";
        System.out.println(Integer.parseInt(s));//输出100
        System.out.println(Double.parseDouble(s));//输出100.0

二、常量和变量

常量

常量的官方的定义是在程序运行时值不再变化的就是常量。通过下面的例子来帮助理解。

 public static void main(String[] args) {
        //字符串字面常量
        System.out.println("你好");
      	//浮点型字面常量
        System.out.println(3.14);
        //整型字面常量
        System.out.println(5);
        //布尔字面常量
        System.out.println(false);
        //字符型字面常量
        System.out.println('4');
}

标识符

在讲解变量前,我们来先说一下标识符,来规范命名。
对于命名的硬性要求有以下几点:
1.不能使用关键字命名
2.命名不能以数字开头
3.命名可以包含由数字,字母,_,$,不可有其他元素。
4.区分大小写
命名的软性要求,但也最好按照这个来。
1.类名采用大驼峰方式,所有单词首字母均大写
2.方法名,变量名采用小驼峰方式,第一个单词首字母小写,其余单词首字母均大写。

变量

上面介绍完标识符的定义,现在我们来介绍变量。变量也就是在程序运行时可以改变的值。定义变量的方式如下:

方式一
数据类型  变量名 =;
方式二
数据类型  变量名;
变量名 =;

以上两种用哪种方式都可以定义一个变量,但是要注意定义变量的时候必须初始化,否则会报错
以下是八种基本数据类型和String定义变量的示例。

//整型
byte one = 3;
short two = 5;
int three = 10;
long four = 15L;
//浮点型
float five = 1.5f;
double six = 2.5;
//字符型
char seven = '加';
//布尔型
boolean eight = false;
//字符串类型
String nine = "加油!!!"

在前面介绍基本数据类型的时候我对每个类型占多少字节进行了标注,这里展示以下每个字节的具体范围。这个范围我们可以自己算,也可以借助于计算机,借助于计算机计算时,我们要用到一个知识点,就是包装类,这里我们不用太纠结包装类是什么,我们现在就会用它来计算范围就行。
int 包装类Integer
byte 包装类Byte
short 包装类Short
long 包装类Long
char包装类Character
boolean包装类Boolean
float包装类Float
double包装类Double

//这里只用int做了示例,其他同理,用包装类.MAX_VALUE得到最大范围,反之。
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);

在这里插入图片描述
每个类型的范围在这个图片上均有展示,所以定义变量时,我们要根据不同的值来选择合适的数据类型,不要超出数据类型的范围。
注意在定义long类型和float类型时后面都要有字母跟随。

类型转换

隐式转换

隐式转换的意思是占的字节数少的基本类型会自动转向字节数多的基本类型。
如下所示:

public static void main(String[] args) {
        long lo = 10L;
        int i = 10;
        lo = i;
    }

整型的默认类型是int,浮点型的默认类型是double。

显式转换

对于数据范围小的可以自动转换为数据范围大的,那当我有需求是将数据范围大的转为数据范围小的那怎么办呢?
这也就是显式转换的作用了,将数据范围大的强制转换为数据范围小的。但在非必要时最好不要这么做,会造成误差。

long l = 10L;
int i = 10;
//正常来说,这样是无法运行的,编译错误 i = l;
//但进行强制转换后,就可以编译通过并且可以运行。
i = (int)l;

对于强制类型转换也并非所有基本类型中随意转换,而是类型相近的可以相互转换。
布尔类型与C语言中的布尔类型不同,不可以用数字来代替其值,其值只有true和false两个。所以布尔类型并不能和其他类型相互转换。

类型提升

在不同数据类型进行运算时,数据范围小的会自动提升为数据范围大的。
对于字节数小于4字节的,运算时会先被提升至4字节再进行运算。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值