Java基本知识点之变量和数据类型

 更新时间:2021年04月13日 09:46:53   作者:xxh-我很喜欢你  
这篇文章主要给大家介绍了关于Java基本知识点之变量和数据类型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Java中的变量和基本数据类型:

写完第一个java程序之后,我们对Java也有了初步的了解,现在我们再来继续认识一下Java中的基本知识点——变量和数据类型。

那么我们该怎样来认识变量和数据类型呢,在这里,我们首先来认识一下内存,我们日常生活中的计算机体系中内存主要分为内存储器和外存储器,比如说我们平常看我们电脑配置的时候,都会看到8G+256G这样的标志,其中的8G就是所说的内存储器(RAM),而256G也就是外存储器,诸如磁盘,u盘,光盘等,这里我们就不详细的研究了。我们定义的变量占用的就是内存储器,它的本质就是一段实际连续存储空间,而数据类型则代表数据需要占用的存储空间大小。数据类型的作用就是告诉编译器当前这个变量需要占用多少内存。Java中的数据类型分为基本数据类型和引用数据类型,基本数据类型一共有八个,现在我们就先来认识一下这八个基本数据类型。

整型

public class Test {
	
	public static void main (String[]args) {
		
		int a = 10;//int 代表整型
		
		int b = 5;
		
		
		System.out.println("a的值是:"+a);
		
		System.out.println("b的值是:"+b);
		
	
	}

}

注:整型在内存中占用四个字节,不管是32位还是64位,和操作系统没有关系,一个字节=八个bit位,所以整型在内存中占三十二个bit位,一个bit位代表一个二进制数字,第一个bit位代表的是符号位,后面的三十一个bit位代表数值位,总共有2^31 种状态,正数有2^31-1 种可能,负数的范围是-2^31 —— 1,所以我们可以求出整形的取值范围:-231-231-1

public class TestB {
    
	public static void main(String[] args) {
        
		int a =10;
         
		System.out.println(Integer.MAX_VALUE);
         
		System.out.println(Integer.MIN_VALUE);
    }

}

这里我们可以用int的包装类Integer来验算取值范围结果

注:①整型的最大值+1就变成了最小值,相当于一个圆一样在一直循环

长整型

public class TestC {
	
    public static void main(String[] args) {
		
		long a = 10L;
		
		long b = 5L;
		
		System.out.println("a的值是:"+a);
		
		System.out.println("b的值是:"+b);
	
	}

}

注意:长整型在Java中占八个字节,64个bit位,一个符号位,63个数值位,同样的计算方法,它的取值范围是:-263-263-1

public class TestD {
   
   public static void main(String[]args) {
       
	   long a = 10L;
        
		System.out.println("最大值:"+Long.MAX_VALUE);//“+”是拼接的意思
        
		System.out.println("最小值:"+Long.MIN_VALUE);
   
   }

}

这里我们也可以用long的包装类Long来验证

短整型

public class TestH {
	
	public static void main (String[]args) {
		
		short a = 2;
		
		short b = 4;
		
		System.out.println(a);
		System.out.println(b);
	
	}

}

短整型占两个字节,取值范围也就是-2^ 16——2^15-1

同样的我们也可以用short的包装类Short来验证:

public class TestI {
   
   public static void main(String[]args) {
       
	   short a = 10;
        
		System.out.println("最大值:"+Short.MAX_VALUE);
        
		System.out.println("最小值:"+Short.MIN_VALUE);
   
   }

}

单精度浮点型

public class TestJ {
	public static void main(String[]args) {
		float f = 11.5f; //小数默认为是双精度,所以要加一个f
		float f1= 6.3f;
		System.out.println(f);
		System.out.println(f1);
	}
}

注:单精度浮点型占四个字节,我们同样可以计算出它的取值范围为-231-231-1。小数默认为是双精度类型,所以在定义的时候需要在后面加一个"f",这也体现了java的安全性

public class TestK {
	public static void main(String[]args) {
		float f = 1.6f;
		System.out.println(Float.MAX_VALUE);
		System.out.println(Float.MIN_VALUE);
	}
}
		
						
		

我们同样可以用float的包装类Float来验证

双精度浮点型

public class TestO {
	public static void main(String[]args) {
		double d  = 11.5;
		double d1 = 14.73;
		System.out.println(d);
		System.out.println(d1);
	}
}

注:double占八个字节,同样可以用double的包装类Double来计算取值范围。只要是小数默认都是双精度类型,所以写程序有小数的时候建议都用double,当进行两个整数相除结果是小数的时候,需要把其中一个整数定义为double类型,比如 double d = 1.0;

public class TestP {
	public static void main(String[]args) {
		double d  = 1.6;
		System.out.println(Double.MAX_VALUE);
		System.out.println(Double.MIN_VALUE);
	}
}
		
					

字符数据类型:字符数据类型

public class TestQ {
	
	public static void main(String[]args) {
		
		char ch = 'A';//可以是一个汉字,汉字也占两个字节,也可以是数字,打印出来的将会是在Unicode码中对应的符号
		
		
		
		System.out.println(ch);
		
	}

}

字符数据类型占两个字节,不同的是这里不可用char的包装类Character计算它的取值范围,因为它的取值对应的是Unicode码中的符号

字节类型

public class TestR {
	
	public static void main(String[]args) {
		
		byte a = 102;
		byte b = 1;
		byte c = (byte)(a+b);//小于四个字节的类型计算时会提升为整型计算,所以需要强制转换为字节类型
		
		
		
		
		System.out.println(c);
		
	}

}

字节类型占1个字节,计算初取值范围为-128——+127,需要注意的是,小于四个字节的类型在进行计算时会整型提升,所以需要强制转换为字节型

public class TestS {
    
	public static void main (String[] args) {
		
		
    
	    byte a = 12;
    
        System.out.println(Byte.MAX_VALUE);
	    System.out.println(Byte.MIN_VALUE);
	
	}
}
     

同样可以用byte的包装类Byte验证

8.布尔类型

public class TestT {
	
	public static void main(String[]args) {
		
		 boolean flg  = false;
		
		
		
		
		
		System.out.println(flg);
		
	}

}

布尔类型在java中没有明确大小,并且它只有两个取值,true/false,java中的真/假只有true/false,没有所谓的0是假,非0是真。布尔类型对应的包装类是Boolean

除去以上这八大基本数据类型,在Java中还有一种叫引用数据类型,如:类 String 数组,抽象类 接口 枚举等等,下面我们再来认识一下String

字符串数据类型:

public class TestU {
	
	public static void main(String[]args) {
		
		String str  ="hello";//字符串用双引号
		String str1 = "hello"+"world";
		
		
		
		
		
		System.out.println(str);
		System.out.println(str1);//用"+"可以把两个字符串拼接起来,任意数据类型和字符串拼接后都是字符串
	}

}

认识完以上几种数据类型,我们对变量也有了大概的了解,在变量的命名中,有一下几种规则:

①:只能包含数字字母下划线
②:数字不能开头
③:推荐使用小驼峰,numMax,也就是初了第一个单词首字母,其他都要首字母大写

java中除了变量,还有一种叫做常量,顾名思义,也就是只能被初始化一次,并且使用的时候要记住一定要初始化,常量又分为两种:

①:字面常量:像10,"abc"这种
②:被final修饰的变量: final int MAXNUM = 10 ;此时的maxNum是常量,并且字母全部大写。

学到这里,我们对Java中的数据类型和变量也有了一定的认识,更加期待后面的学习!!!

总结

到此这篇关于Java基本知识点之变量和数据类型的文章就介绍到这了,更多相关Java变量和数据类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解使用Jenkins部署Spring Boot项目

    详解使用Jenkins部署Spring Boot项目

    这篇文章主要介绍了详解使用Jenkins部署Spring Boot,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Java中Lambda表达式之Lambda语法与作用域解析

    Java中Lambda表达式之Lambda语法与作用域解析

    这篇文章主要介绍了Java中Lambda表达式之Lambda语法与作用域解析重点介绍Lambda表达式基础知识,需要的朋友可以参考下
    2017-02-02
  • SpringBoot中使用AOP打印接口日志的方法

    SpringBoot中使用AOP打印接口日志的方法

    本篇文章主要介绍了SpringBoot中使用AOP打印接口日志的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • SpringBoot 配置 okhttp3的操作

    SpringBoot 配置 okhttp3的操作

    这篇文章主要介绍了SpringBoot 配置 okhttp3的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • SpringBoot实现excel文件生成和下载

    SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • Java日常练习题,每天进步一点点(49)

    Java日常练习题,每天进步一点点(49)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-08-08
  • SpringCloud应用idea实现可相互调用的多模块程序详解

    SpringCloud应用idea实现可相互调用的多模块程序详解

    IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的
    2022-07-07
  • Java 数据结构进阶二叉树题集下

    Java 数据结构进阶二叉树题集下

    二叉树可以简单理解为对于一个节点来说,最多拥有一个上级节点,同时最多具备左右两个下级节点的数据结构。本文将带你通过实际题目来熟练掌握
    2022-04-04
  • 解决Nacos在执行startup.cmd的时候出现闪退的问题

    解决Nacos在执行startup.cmd的时候出现闪退的问题

    因为在工作中的项目中需要使用到nacos作为注册中心,但是在使用nacos的过程中运行startup.cmd的时候出现了闪退的情况,运行startup.cmd闪一下就没有了,我把解决这个问题的全过程理了一下,希望能帮到您,需要的朋友可以参考下
    2023-12-12
  • Java parseInt解释加方法示例

    Java parseInt解释加方法示例

    使用此方法得到的原始数据类型的一个特定的字符串。 parseXxx()是一个静态方法,可以有一个参数或两个
    2013-11-11

最新评论