`
suky
  • 浏览: 146926 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

JAVA的八种基本类型 复习笔记

阅读更多

JAVA的八种基本类型 复习笔记

1.基本类型:存储在栈中,存储速度比较快些
byte,char,short,int,long,float,double,boolean

2.包装类,
Byte(1字节),

character(2字节),

Short(2字节),

Integer(4字节),

Long(8字节),

Float(4字节),

Double(8字节),

Boolean

这些包装类 都在java.lang包里,其中SIZE属性记录二进制位数,MIN_VALUE和MAX_VALUE记录取值范围。存储在堆中,因为使用final修饰,所以无法继承类以及重写任何方法。

3.int型值可以赋给所有数值类型的变量;

long型值可以赋给long、float、double类型的变量;
float型值可以赋给float、double类型的变量;

double型值只能赋给double类型变量。
把一个能表示更大范围或者更高精度的类型,转换为一个范围更小或者精度更低的类型时,
就需要使用强制类型转换。

例如:把一个double型值赋值给一个long类型变量,编译时会报错,即使这个值没有超出long类型的取值范围
long l = 1.0D;
除非使用强制类型转换
long l=(long) 1.0D;

注意:未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮点数默认为double类型。

4.byte,char,short,int四种基本类型及其包装类(需要Java5.0/1.5以上版本支持)可以用于switch语句,其它类型编译会报错。

注意:enum(枚举类型,Java5.0以上版本可用)可用于swith语句
public class Test {
    static enum e{
        A,B
    }
    public static void main(String[] args) {
       
        switch (Test.e.A) {  
                 case A:  
                     System.out.println("A");  
                    break;  
                case B:  
                    System.out.println("B");  
                   break;  
               }
}
}
结果:A

运算符对基本类型的影响

1.当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则:
   两个操作数中,先考虑是否有一个是double类型的,是的话,另一个和结果 将会被转换成double类型。以此考虑float,long,除此之外两个操作数(包括byte、short、int、char)都将会被转换成int类型。

2.当使用+=、-=、*=、/=、%=、运算符对基本类型进行运算时,遵循如下规则:
   运算符右边的数值将首先被强制转换成与运算符左边数值相同的类型,然后再执行运算,且运算结果与运算符左边数值类型相同。

面试涉及题目:
short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?

解析:
short s1=1;//正确,int赋值给short
s1=s1+1;//编译错误,因为s1+1 结果int,转换为short,报错
s1=1+1;//正确,1+1是个编译时可以确定的常量,'+'运算在编译时就被执行了,而不是在程序执行的时候,这个语句的效果等同于s1=2
s1+=1;//正确,1首先被强制转换为short型,然后再参与运算,并且结果也是short类型

3.当使用“==”运算符在基本类型和其包装类对象之间比较时,遵循如下规则:
 1). 只要两个操作数中有一个是基本类型,就是比较它们的数值是否相等。
 2). 否则,就是判断这两个对象的内存地址是否相等,即是否是同一个对象。

测试验证:
        int a = 1;
        int b = new Integer(1);
        Integer c = 1;
        Integer d = new Integer(1);
       
        //有一个是基本类型
        System.out.println("a==b "+(a==b));
        System.out.println("a==c "+(a==c));       
        System.out.println("a==d "+(a==b));
        System.out.println("b==c "+(b==c));
        System.out.println("b==d "+(b==d));
        //两个都是包装类对象
        System.out.println("d==c "+(d==c));
结果:
a==b true
a==c true
a==d true
b==c true
b==d true
d==c false

分享到:
评论
4 楼 netwelfare 2015-04-16  
对于基本类型的讲解,这篇文章介绍的还算不错的: Java基本类型和常量讲解
3 楼 帅先勃 2012-06-12  
1楼说的很不错。提醒楼主一点:当没有副处职时,基本类型都会被默认赋值什么?希望楼主加上,更新一下文章。
2 楼 suky 2010-09-14  
谢谢你的建议,后来看了JAVA虚拟机方面的书
1.JAVA虚拟机中有一个内部使用的基本类型:returnAddress,被用来实现JAVA程序中的finally子句。
2.JAVA虚拟机体系结构中,栈会储存些中间数据,对象一般是储存在堆中。
1 楼 Dawn.yang 2010-03-14  
无意中看到,总结的不错,很适合初学者。从中也看出了你知识上的一些欠缺之处(不好意思),我随便说几点。
1.java基础类型不仅仅是8种,准确的说是9种;
2.你不能说基础类型存储在java栈中,包装类型存储在堆中。只能说java栈中会存储基础类型的数据,堆中会存储对象。包装类会被构建成对象,因此就会存在堆中了。好像是有点咬文嚼字的味道,其实其中的区别和意义很大;
3.后面的就不说了,可以看看java虚拟机方面的知识,期待你的进步。

相关推荐

    java ee 复习笔记

    Java EE的复习笔记是学习这个复杂框架的重要参考资料,尤其对于开发者来说,深入理解其核心概念和技术是必不可少的。 首先,Struts是Java EE中的一个MVC(Model-View-Controller)框架,它的主要任务是分离业务逻辑...

    Java复习笔记.docx

    * 变量:Java 中的变量,包括基本数据类型和引用类型 * 常量:Java 中的常量,例如数字、字符串等 变量 变量是 Java 中的一种基本数据单元,用于存储和操作数据。变量包括: * 变量概念及作用:变量是存储数据的...

    Java基础每日复习笔记-JavaSE高级阶段.edf

    Java基础每日复习笔记-JavaSE高级阶段.edf

    java复习笔记

    这份"java复习笔记"旨在帮助学习者系统地回顾和深入理解Java的关键概念和技术,以便于提升编程技能和应对各种开发挑战。 一、基础语法 Java的基础语法包括变量、数据类型、运算符、流程控制语句等。例如,变量是...

    Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf

    Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf

    JAVA试题 JAVA复习题 JAVA复习笔记

    本压缩包集合了多种JAVA试题与复习笔记,涵盖了基础理论、编程实践以及解题技巧等多个方面,旨在帮助Java学习者巩固知识,提升编程能力。 1. **Java基础** - **数据类型**:包括基本数据类型(如int、char、...

    JAVA web复习笔记.docx

    【JAVA Web复习笔记】 在JAVA Web开发中,我们首先要理解几个关键的概念。Web技术主要分为两种架构模式:C/S(客户端/服务器端)和B/S(浏览器/服务器)。C/S架构通常涉及到专用的客户端应用程序与服务器进行交互,...

    java读书笔记笔记笔记笔记笔记笔记

    【标签】"笔记笔记笔记笔记" 强调了这是一份学习资料,重点在于记录和回顾,对于读者来说,这可能是一个很好的参考资料,用于复习Java编程的各种知识点。 【压缩包子文件的文件名称列表】: 1. **Execution.htm** -...

    Java基础每日复习笔记-JavaSE基础阶段.edf

    Java基础每日复习笔记-JavaSE基础阶段.edf

    Java基础 学习笔记 Markdownr版

    通过阅读和理解这些笔记,你将能够掌握Java的基本语法、核心概念以及高级特性,为进一步学习Java的框架和技术打下坚实的基础。同时,笔记采用Markdown格式,方便转换为PDF、Word等其他格式,适应不同的阅读和学习...

    java复习笔记(期末考试复习).docx

    Java复习笔记(期末考试复习) Java 是一种广泛应用于桌面程序、企业级开发、嵌入式开发的编程语言。下面是 Java 的一些重要知识点: 1.Java SE、Java EE、Java ME 的区别: Java SE(Java Standard Edition)主要...

    Java期末复习笔记.md

    Java期末复习笔记.md

    Java基础尚硅谷宋红康学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年发布。Java以其“一次编写,到处运行”的特性,成为跨平台应用开发的首选语言。Java的基础部分主要包括以下几个方面:...

    超详细的Java复习知识点2019——个人笔记.zip

    这份名为"超详细的Java复习知识点2019——个人笔记"的文档,旨在为初学者提供一个全面且深入理解Java基础知识的指南。笔记内容可能涵盖了以下几个关键领域: 1. **Java语法基础**:包括变量、数据类型、运算符、...

    Java考试详细复习笔记

    ### Java考试详细复习笔记 #### 一、传统MVC与Struts比较 ##### 1. 含义: 在Web开发中,MVC(Model-View-Controller)架构模式是一种常用的设计模式,它将应用程序分为三个核心组件,即模型(Model)、视图(View)和...

    JAVA基础--复习笔记.pdf

    本文档提供了JAVA基础知识的复习笔记,涵盖了JAVA的基础概念、数据类型、运算符、控制流程、类和对象、继承、多态、抽象类和接口等方面的知识。 一、数据类型 在JAVA中,有以下几种基本数据类型: * 整数类型:...

    2019Java计算机二级复习笔记.zip

    计算机二级java程序设计考试,每一个知识点的笔记及原题笔记。只要掌握这个笔记,99%都能考过。祝访客们考试成功!!!

Global site tag (gtag.js) - Google Analytics