关键字&修饰符&数据类型
关键字
public | class | boolean | break | byte |
---|---|---|---|---|
case | catch | char | assert | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | abstract |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
关键字大致含义
关键字 | 含义 |
---|---|
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
类修饰符
public(访问控制符) | 将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类 |
---|---|
abstract | 将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现 |
final | 将一个类申明为最终(即非继承类),表示他不能被其他类继承 |
default | 默认的修饰符,只有在相同包中的对象才能使用这样的类 |
成员变量修饰符
public(公共访问控制符) | 指定该变量为公共的,他可以被任何对象的方法访问 |
---|---|
private(私有访问控制符) | 指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问 |
protected(保护访问控制符) | 指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量 |
friendly | 在同一个包中的类可以访问,其他包中的类不能访问 |
final | 最终修饰符,指定此变量的值不能变 |
static(静态修饰符) | 指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类 |
transient(过度修饰符) | 指定该变量是系统保留,暂无特别作用的临时性变量 |
volatile | 指定该变量可以同时被几个线程控制和修改 |
方法修饰符
public | 可以修饰类、成员变量、方法、由它修饰所有的都可以访问是公共的 |
---|---|
public(公共控制符) | 指定此方法可以被自己和其他的类访问 |
private(私有控制符) | 指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类) |
protected(保护访问控制符) | 指定该方法可以被它的类和子类进行访问 |
final | 指定该方法不能被重载 |
static | 指定不需要实例化就可以激活的一个方法 |
synchronize | 同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁 |
native | 本地修饰符,指定此方法的方法体是用其他语言在程序外部编写的 |
基本数据类型
类型 | 包含 |
---|---|
整型(整数) | byte short int long |
浮点型(小数) | float double |
字符 | char |
布尔型(真假) | true false |
引用数据类型
类型 | 包含 |
---|---|
引用数据类型 | String 枚举 数组 接口 |
区别
类型 | 区别 |
---|---|
基本数据类型变量 | 存的是值的本身 |
引用类型数据变量 | 存的是对值的引用 [ 地址值 ] |
转换
为什么要进行数据类型的转换?
- 为了节省空间大转小
- Web前台传的都是字符串数据,如果后台需要运算,得转换
转换基本认识
1.整型数据【值】 : 默认类型为int类型,例如:12默认为int类型
2.浮点数据 : 默认为double类型,例如:3.14默认为double类型
1.自动类型转换:小数据类型转大数据类型【存储空间的大小】 小转大
2.强制类型转换:大转小
自动转换注意
1.long float double只要两个操作数中有一个是上面类型的,另一个就会被转换成相应类型,并且结果也是该类型
2.如果2个操作数(包括byte,short,char,int),都将会转换为int类型,并且结果也是int(自动向上转型)
3.byte型不能自动类型提升到char,char和short直接也不会发生自动类型提升(因为值范围问题),同时,byte可以直接提升到short型
强制转换注意
语法:数据类型 变量名 = (数据类型)值; //值可能是更高的类型
注意:高转低会导致精度丢失,不同类型的强制转换,可能会导致精度的下降
实际开发中:应该要知道被强制转换的数据,是在一个已知的范围