数据类型
定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类 型,在内存中分配了不同
大小的内存空间
基础类型
1.基础数据有哪些?
类型 | 类型名称 | 关键字 | 占用内存 | 取值范围 | 作为成员变量的默认值 |
---|---|---|---|---|---|
整型 | 字节型 | byte | 1字节 | -128(-2^7)~ 127(2^7-1) | 0 |
整型 | 短整型 | short | 2字节 | -32768(-2^15)~ 32767(2^15-1) | 0 |
整型 | 整型 | int | 4字节 | -2147483648(-2^31)~ 2147483647(2^31-1) | 0 |
整型 | 长整型 | long | 8字节 | -89223372036854775808(-2^63)~ 9223372036854775807(2^63-1) | 0L |
浮点型 | 单精度浮点型 | float | 4字节 | -3403E38 ~ 3403E38 | 0.0F |
浮点型 | 双精度浮点型 | double | 8字节 | -1798E308~ 1798E308 | 0.0D |
字符型 | 字符型 | char | 2字节 | 表示一个字符,如('a','A','家') | '\u0000' |
布尔型 | 布尔型 | boolean | 1字节 | 只有两个值,true或false | false |
2.什么是隐式转换和显式转换
隐式类型转换是指将一个小范围的数据类型自动转换为一个大范围的数据类型,而显式类型转换则是指将一个大范围的数据类型强制转换为一个小范围的数据类型 。
例如,int类型可以自动转换为long类型,float类型可以自动转换为double类型。
3.switch能作用在哪些类型上
java5以前,switch(expr)中只能是byte,short,char,int。java5开始,expr引用了enum类型,java7开始,引用字符串(String)
引用类型
- 类(class)
- 接口(interface)
- 数组([])
编码
Java语言采用Unicode编码标准,Unicode(标准码),它为每个字符制订了一 个唯一的数值,因此在
任何的语言,平台,程序都可以放心的使用。
注释
定义:用于解释说明程序的文字
分类:
- 单行注释 格式://注释文字
- 多行注释 格式:/*注释文字*/
- 文档注释 格式:/**注释文字*/
访问修饰符
定义:使用访问修饰符来保护类,变量,方法和构造方式的访问(个人理解:就是对修饰的变量或者方法的访问权限地控制)
修饰符 | 当前类 | 同包 | 子类 | 其他包 |
---|---|---|---|---|
private | √ | X | X | X |
default | √ | √ | X | X |
protected | √ | √ | √ | X |
public | √ | √ | √ | √ |
运算符
&和&&的区别
&运算符有两个用法:(1)按位与;(2)逻辑与。
&&运算符是短路与运算。要求运算符左右两边的布尔值都是true。&&之所以称
为短路运算,是因为如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运
算。
注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此
关键字
final
用于修饰类、属性和方法:
- 被final修饰的类不可以被继承
- 被final修饰的方法不可以被重写
- 被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的
final finally finalize区别
- final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修
饰变量表示该变量是一个常量不能被重新赋值。 - finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法
finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代
码。 - finalize是一个方法,属于Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾
回收器来调用,当我们调用System.gc() 方法的时候,由垃圾回收器调用finalize(),回收垃圾,一个对象是否可回收的最后判断。
this关键字的用法
this代表对象本身
super关键字的用法
super指自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类
super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。
this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。
static关键字
作用:创建独立于具体对象的域变量或者方法,用于形成静态代码块以优化程序性能。在类初次被加载的时候,会按照static块的顺序来执行每个static块,且只会执行一次。优化程序性能,是因为只会在类加载的时候执行一次。
- 被static修饰的变量或者方法不属于任何实例对象,而是属于类。
- 被static修饰的变量和对象,方法存储在方法区的静态常量池中;是共享的;
- 可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法
- static修饰的代码块在main方法前执行,目的是修饰main方法
- static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问
- static方法是没有this的方法,在static方法内部不能调用非静态方法,反过来是可以的
- static变量值在类加载的时候分配空间,以后创建类对象的时候不会重新分配。赋值的话,是可以任意赋值的
流程控制语句
break ,continue ,return 的区别及作用
break 跳出总上一层循环,不再执行循环(结束当前的循环体)continue 跳出本次循环,继续执行下次循
环(结束正在执行的循环 进入下一个循环条件)
return 程序返回,不再执行下面的代码(结束当前的方法 直接返回)
网友评论