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:成员变量 ...
随机推荐
- JDBC理论知识
JDBC理论知识 JDBC基础 JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统.通用的SQL数据库存取和操作的公共接口(一组API), 定义了用来访问数 ...
- Magento add product attribute and assign to all group
$attributes = array( 'product_type' => array( 'type' => 'int', 'input' => 'select', 'source ...
- springMVC入门(六)------json交互与RESTFul风格支持
简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.由于其简单易用,目前常用来通过AJAX与后台进行交互.springMVC对于接收.发送JSON数据也 ...
- 构造 IPv6 报文
#!/usr/bin/python from scapy.all import * a=IPv6(nh=58, src='fe80::214:f2ff:fe07:af0', dst='ff02::1' ...
- 如何在Linux上使用scp命令进行服务器之间的文件/目录传输
1. 本地上传文件到远程: scp [local_file_path] [username]@[server_ip]:[remote_dir] 2. 本地上传目录到远程: scp -r [local_ ...
- Spring Boot入门系列(十九)整合mybatis,使用注解实现动态Sql、参数传递等常用操作!
前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类. 接下来介绍使用mybatis 常用注解以及如何传参数等数据库 ...
- 分布式一致性算法 Paxos、Raft、Zab的区别与联系
什么是分布式系统? 拿一个最简单的例子,就比如说我们的图书管理系统.之前的系统包含了所有的功能,比如用户注册登录.管理员功能.图书借阅管理等.这叫做集中式系统.也就是一个人干了好几件事. 后来随着功能 ...
- 方法在class文件中的存在形式MethodInfo
一个方法对由一个method_info结构所定义.一个class文件中,不会同时出现两个方法同时有相同的名称和描述符 method_info结构如下 参考Field 代码实现 public class ...
- Javascript逻辑运算认识
1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值.比较和执行算数运算等功能的符号. JavaScript中常用的运算符有: 算数运算符 递增和递 ...
- c++ binding code generator based on clang
google it http://www.swig.org/Doc3.0/CSharp.html http://samanbarghi.com/blog/2016/12/06/generate-c-i ...