Java基本数据类型、关键字

一、Java基本数据类型

Java有8中基本数据类型:byte\char \short \int\float\double\long\boolean

在说明每种类型大小前需要明确下面两个概念:

  • 字节=byte,是由8位带符号的二进制数表示的。

  • 字符=char,是由Unicode编码表示

    下面是每种类型的大小

  • byte 1字节 取值范围 -128至127

  • char 2字节

  • short 2字节

  • int 4字节

  • float 4字节

  • double 8字节

  • long 8字节

  • boolean 2字节

    关于byte取值范围补充下面文章:

    详解java中的byte类型 - 进击的石头—GO! - 博客园

    总结来说就是Java采用的是有符号数即区别正负数,每个类型的二级制表示的首位是符号位0表示整数,1表示负数。负数转换为正常的十进制数是由二进制数取反再加一得到。

    因此我们在进行类型转换(特别是高精度转低精度)要注意因为精度变化导致的截断。

二、Java常用关键字

  • this

    表示当前对象,需要注意的是静态变量和方法并不适用

  • super

    表示父类对象 不能与this同时使用

  • instanceof

    判断某个对象是否是某个特定类的对象

  • transient

    被该关键字修饰的变量在进行序列化的时候不会被序列化

  • static

    修饰属性则该属性是类共享的,即被该类所有对象共享,在内存中只有一个副本,当且仅当类初次加载时被初始化。

    修饰方法则该方法是类共享的。要注意的是类的静态方法不能调用非静态方法,但是本类的非静态方法可以访问类的静态方法。

    静态代码块在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。

类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文件读入JVM(java虚拟机),这个过程称为类的加载。JVM会通过类路径(CLASSPATH)来找字节码文件。需要的时候才会进行类加载,生成对象时是先加载后构造。类变量,会在加载时自动初始化,初始化规则和实例变量相同。类中的实例变量是在创建对象时被初始化的。

Static修饰的属性,是在类加载时被创建并进行初始化,类加载的过程只进行一次,也就是类变量只会被创建一次。

初始代码块就叫做静态初始代码块,这个代码块只在类加载时被执行一次。

动态初始代码块,写在类体中的“{}”,这个代码块是在生成对象时运行,这种代码块叫动态初始代码

  • final

    修饰变量,变量赋值后不可再改变此时即为常量,常量可以在初始化时直接赋值,也可以在构造方法里赋值,只能在这两种方法里二选一,不能不为常量赋值。静态常量只能在初始化时直接赋值

    修饰方法将不能被其子类覆盖,保持方法的稳定不被覆盖

    Final修饰的类将不能被继承,final类中的方法也都是final的
  • abstract

    修饰变量即编译时类型。

    修饰类即抽象类不可实例化

    抽象类就相当于一个类的半成品,需要子类继承并覆盖其中的抽象方法,这时子类才又创建实例的能力,如果子类没有实现父类的抽象方法,那么子类也要为抽象类。

    修饰方法变成抽象方法,也就是只有声明而没有实现,实现部分以”;”代替,需要子类继承实现。

    有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。

Java基本数据类型、关键字的更多相关文章

  1. Java基本数据类型总结、类型转换、常量的声明规范,final关键字的用法

    1  Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过 ...

  2. java标识符、关键字、基本数据类型

    一 标识符与关键字 1.标识符 在程序中用于定义名称的都为标识符,如文件名称.类名称.方法名称或变量名称等, 在Java中标识符的定义格式由字母.数字._(下划线),$所组成,不能以数字开头, 不能是 ...

  3. java基本数据类型总结 类型转换 final关键字的用法

    java基本数据类型总结 Java数据类型总结 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的. ...

  4. Java 基本数据类型 sizeof 功能【转】

    转自:http://blog.csdn.net/sunboy_2050/article/details/7310008 版权声明:本文为博主原创文章,未经博主允许不得转载. Java基本数据类型int ...

  5. java中static关键字的作用

    java中static关键字主要有两种作用: 第一:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 简单来说,在Java语言中,s ...

  6. 对Java的数据类型和运算符的理解

    我知道千里之行始于足下,包含着对编程的兴趣,希望能够在这个平台上记录下我学习过程中的点点滴滴! Java的基本构造 标识符和关键字 标识符规则 标识符就是用于给程序中变量,类.方法命名的符号 1.标识 ...

  7. Java基础之关键字,标识符,变量

    Java基础 首先,来看一下Java基础知识图解,以下便是在java学习中我们需要学习设计到的一些知识(当然不是很完全). 这些都是接下来在以后的学习中我们会学到的一些知识. 1 关键字 首次先来学习 ...

  8. JAVA面向对象-----final关键字

    JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率. 1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4 ...

  9. JAVA面向对象-----super关键字

    JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量 ...

随机推荐

  1. DVWA-1.9之fileupload

    low级 对文件类型没有任何约束,可直接上传"一句话木马"hack.php,连接冰蝎. 一句话木马 : medium级 源代码 if( ( $uploaded_type == &q ...

  2. 微信小程序自动化测试最佳实践(附 Python 源码)

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程 ...

  3. 基于vue的实时视频流开发

    背景:多个实时视频的介入 技术:hls.js的流媒体,支持格式已m3u8为主 解决了什么:多个实时视频长时间播放会有卡顿的情况 具体代码实现: import Hls from 'hls.js' pla ...

  4. IDEA中列编辑

    快捷键 :Alt+Shift+insert,也可以按住Alt+Shift时,点击要编辑部分

  5. Ubuntu图形桌面切换到命令行界面

    Ubuntu提供两种进入方式,一个是我们平常最熟悉的图形界面形式,还有一种是纯命令行方式. 1.按 Ctrl + Alt + (F1~F6中的任意一个)即可进入纯命令行模式. 进入后,需要输入用户名, ...

  6. 构造vlan报文

    #!/usr/bin/python from scapy.all import * packet = Ether(src='dc:99:14:01:a3:5e', dst='ff:ff:ff:ff:f ...

  7. Privacy-Preserving Deep Learning via Additively Homomorphic Encryption

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Full version of a paper at the 8-th International Conference on Appli ...

  8. 远程调试在Linux车机中的应用

    导读 在软件开发过程中,调试是必不可少的环节,嵌入式操作系统的调试与桌面操作系统的调试相比有很大差别,嵌入式系统的可视化调试能力比桌面操作系统要弱一点.对于导航这种业务场景比较复杂的程序开发,可视化调 ...

  9. 高可用集群之corosync+pacemaker

    1.概念 在传统Linux集群种类,主要分了三类,一类是LB集群,这类集群主要作用是对用户的流量做负载均衡,让其后端每个server都能均衡的处理一部分请求:这类集群有一个特点就是前端调度器通常是单点 ...

  10. Typescript | Vue3源码系列

    TypeScript 是开源的,TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript.编译出来的 JavaScript 可以运行在任何浏览器上.TypeS ...