Java基本数据类型、关键字
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基本数据类型、关键字的更多相关文章
- Java基本数据类型总结、类型转换、常量的声明规范,final关键字的用法
1 Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过 ...
- java标识符、关键字、基本数据类型
一 标识符与关键字 1.标识符 在程序中用于定义名称的都为标识符,如文件名称.类名称.方法名称或变量名称等, 在Java中标识符的定义格式由字母.数字._(下划线),$所组成,不能以数字开头, 不能是 ...
- java基本数据类型总结 类型转换 final关键字的用法
java基本数据类型总结 Java数据类型总结 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的. ...
- Java 基本数据类型 sizeof 功能【转】
转自:http://blog.csdn.net/sunboy_2050/article/details/7310008 版权声明:本文为博主原创文章,未经博主允许不得转载. Java基本数据类型int ...
- java中static关键字的作用
java中static关键字主要有两种作用: 第一:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 简单来说,在Java语言中,s ...
- 对Java的数据类型和运算符的理解
我知道千里之行始于足下,包含着对编程的兴趣,希望能够在这个平台上记录下我学习过程中的点点滴滴! Java的基本构造 标识符和关键字 标识符规则 标识符就是用于给程序中变量,类.方法命名的符号 1.标识 ...
- Java基础之关键字,标识符,变量
Java基础 首先,来看一下Java基础知识图解,以下便是在java学习中我们需要学习设计到的一些知识(当然不是很完全). 这些都是接下来在以后的学习中我们会学到的一些知识. 1 关键字 首次先来学习 ...
- JAVA面向对象-----final关键字
JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率. 1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4 ...
- JAVA面向对象-----super关键字
JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量 ...
随机推荐
- jupyter 安装 卸载 包
# 安装 !pip install 库名 # 卸载 !pip uninstall 库名 -y
- [NOIP2019] 划分
题目 题解 首先YY一个最简单的dp $dp[i][j]=min(dp[j][k]+(sum[i]-sum[j])^2 (sum[i]-sum[j]>=sum[j]-sum[k])$ $dp[i ...
- Datawhale学数据分析第一章
需要用到的基础知识pandas基础知识参考1,2章https://github.com/datawhalechina/joyful-pandas 1.导入数据tsv 制表符作为分隔符的字段符csv 逗 ...
- puppeteer去掉同源策略及请求拦截
puppeteer是一个功能强大的工具,在自动化测试和爬虫方面应用广泛,这里谈一下如何在puppeteer中关掉同源策略和进行请求拦截. 同源策略 同源策略为web 安全提供了有力的保障,但是有时候我 ...
- VM获取子网掩码和网关
- WordCloud教程(上)
先贴代码: import wordcloud,jieba with open('datas/1.txt') as rt:#,encoding='utf-8' comment_text=rt.read( ...
- Kubernetes 多集群在开源项目 KubeSphere 的应用
Kubernetes 多集群使用场景 随着容器的普及和 Kubernetes 的日渐成熟,企业内部运行多个 Kubernetes 集群已变得颇为常见.概括起来,多个集群的使用场景主要有以下几种. 多集 ...
- 你真的了解 get 和 post 的区别么
get 和 post 是两种最常用的 HTTP 请求方法,要说它们两个的区别,相必接触过 WEB 开发的人都能够说出一二. 如果我问你这个问题,你的内心充满了自信和喜悦.你可能已经写过无数个 GET ...
- Soft-to-Hard Vector Quantization for End-to-End Learning Compressible Representations
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 我们提出了一种新的方法,通过端到端的训练策略来学习深度架构中的可压缩表征.我们的方法是基于量化和熵的软(连续)松弛,我 ...
- 20分钟理清Maven构建中的测试相关工具的关系
如果你用Maven进行系统构建,同时还要同步编写测试用例,获取用例成功与否以及用例覆盖率的相关报告,那么这些工具你肯定接触过不少: JUnit TestNG maven-surefire-plugin ...