java 字节集_java基础复习

1)数据类型:

布尔型:boolean    1个字节(8位)      范围(true、false)               默认值(false)

字节型:byte          1个字节(8位)      范围(-128~127)                 默认值((byte)0)

字符型:  char          2个字节(16位)    范围(’\u0000’~’\uffff’)        默认值(’\u0000’)

短整型:short         2个字节(16位)      范围(-215~215-1)       默认值(short(0)) ]

整型:boolean       4个字节(32位)      范围(-231~231-1)       默认值(0)

长整型:long         8个字节(64位)      范围(-263~236-1)       默认值(0L)

单精度浮点型:float        4个字节(32位)                                        默认值(0.0F)

双精度浮点型:double    4个字节(32位)                                        默认值(0.0F)

2)标识符规则

1.(09)、(AZ)、(a~z)、下划线 ’ _ ’ 、美元符’′2.首字母必须(字母∣下划线∣美元符′2.首字母必须(字母∣下划线∣美元符      '2.首字母必须( 字母 | 下划线 | 美元符′2.首字母必须(字母∣下划线∣美元符)

3.不能是(关键字 | 保留字)

4.区分大小写

2.常量:

1)布尔型常量(boolean)  值只有true和false   (不能认为“非零或1”是true、“零值”是false)

2)  整型常量(int或long)(注意范围:超出就编译错误)  如果范围比较大  ,用long,数值+L

3)浮点型常量(float或double):1.0是double型常量、1是整型常量、1.0f才是float常量

4)字符型常量(char):(采用Unicode字节集编码方案),16位无符号整数、0~2^16-1

5)字符串常量(String):length()、charAt(index)

3.变量

1)宽转换(小范围转大范围)------直接转

2)窄转换(大范围转小范围)------强转

(重点看范围或位数)             如:都是32位     int x=1   x=(int)(x+2.0f)

byte和char之间转换,则byte先int ,int再转成char

若是byte、char、short之间进行运算,则是全部先“窄转宽”成int ,结果类型为int

若是和double之间运算,则是全部先“窄转宽”成double ,结果类型为double

4.运算符的优先级:(自己体会)

5.流程控制(if、else、switch、while、for)

遇到的笔试题:switch条件可以是String类型吗?java7以前,条件必须是int或能强制转换成int的,如byte、short、char、int等

不过java7以后可以是String;

6.数组的定义

int [ ]Array=new  int[100]; -----在堆内存开辟100个存放int类型数据   默认值是0  |  栈中的Array–>堆中的这块空间

int [100];------错误,定义不能自定长度

二维数组:同理     int a[ ][ ]=new int[ 2][ 2];

注意:数组作为参数时,是址传参,只要传递首地址就可以;如a[10]       调用chuanchan(a)          public void chuanchan(int a[])

7.构造方法规则

(1)方法名与类名相同

(2)不要声明返回类型

(3)不能被static   final   synchronized   abstract   native 修饰

注意:可以被重载    不能被重写(因为不能继承)

8.this引用

注意:static方法中不能使用this,因为static修饰的方法是一直存在、随时可以用的;this对象可能没创建

注意:子类构造方法中,第一条语句必须是super(…)或this(…)之一,且只能有一条,否则报错。若没有声明调用super(…)或this(…),编译程序自动插入一条

9.静态成员

(1)静态变量,可以直接类名访问,或者通过对象引用来访问

(2)静态方法,可以直接类名访问,或者通过对象引用来访问

(3)静态代码块,当java虚拟机加载类时,就会执行该代码块

静态变量:

1)静态变量,在内存占用一份备份,运行时java虚拟机只为静态变量分配一次内存,在加载类完成内存分配

2)实例变量,每创建一个实例,就为实例变量分配一次内存,实例变量可以有多个备份

静态方法:main()

1)方法里不能(直接)访问非静态成员;因为非静态的方法和变量,需要创建类的实例后才能使用

2)不能使用this或super

3)子类能(继承、重载)、隐藏父类的静态方法,(不能重写父类的静态方法),也不能把父类不是静态的方法重写成静态方法

10.内部类

1)外部类只能是pubilc 或 默认;内部类4种修饰符都可以

11.常见的包

java.awt.*           java.lang.*        java.sql.*       java.util.*

12.重写

1)同名不同参

2)父类访问权限更严格(修饰符)

3)父类静态方法不能被重写

4)子类重写的方法不能比父类被重写的方法抛出的异常多

13.多态:重载+重写等

向上转型(不需要强转)-------  向下转型(需要强转)

1.有继承关系  2.子类重写父类方法  3.父类引用指向子类对象       3个条件就会自动动态绑定,从而实现多态

14.抽象类

(1)含抽象方法的类必须声明为抽象类,抽象类必须被继承,抽象方法必须被实现

(2)抽象类中可以申明并实现方法

(3)抽象类的子类必须实现父类所有抽象方法后才能实例化,否则这个子类也是抽象类

(4)抽象类不能实例化=没有构造函数

15抽象类

(1)常量默认(也只能)public static final

(2)抽象方法 默认(也只能)public abstract

(3)接口可以继承其他接口,并添加新的属性和方法

(4)允许接口多继承

(5)java8  允许在接口定义default方法,且default必须写,且不能使用static修饰,默认是public

16.final

(1)修饰类:不能被继承,没有子类

(2)修饰方法:不能被子类重写或隐藏

(3)修饰变量:只能被赋值一次,表常量

(4)父类中被private修饰的方法不能被重写,因此private方法默认是final

17.修饰符范围

本类      同包      子类     其他

public           V         V           V        V

protected           V         V           V

默认                   V         V

private              V

18.继承规则

(1)构造方法不能被继承

(2)private修饰的成员不能被继承

(3)默认成员(子类和父类同包可以继承,否则不能被继承)

(4)protected、public修饰成员总能被继承

(5)能被子类访问的成员,才会被继承

(6)能被子类继承的实例方法,才会被子类重写或重载

(7)能被子类继承static方法,才会被子类隐藏或重载

(8)能被子类继承数据成员,才会被子类隐藏

19.Object的常用方法

(1)boolean equals(Object o) 比内容

(2)hashCode()  比地址

(3)toString()    返回值是 类名+@+十六进制hashCode

20.String

(1)int  length()

(2)char  charAt(int index)

(3)int compareTo(String s)  按Unicode逐一比较两字符串的大小,如果源串小则返回小于0的值,相等-返回0,大于–返回大于0的值

(4)String concat(String str)   把字符串str加当当前字符串末尾

(5)equals(Object o)和equalsIgnoreCase(String str)   判断两个字符内容是否相同,或者不区分大小写

(6)int indexOf(int ch)   返回字符ch第一次出现的位置‘’

(7)String toUpperCase():将字符串转换大写

(8)String subString(int  beginIndex)返回一个新字符串,从索引的位置往后

(9)String subString(int  beginIndex,int endIndex)

(10)static   String valueOf(参数)  把基本数据类型转换成String类型********

(12)String [ ] split(String regex)将字符串按自定的分隔符分隔,返回分隔后的字符串数组

21.StringBuffer(内容和长度可变)

(1)StringBuffer append(char s)向缓存内添加新字符

(2)StringBuffer insert(int offset,String str)在offset位置加入字符串str

(3)StringBuffer delete(int start,int end)删除start-end这一段字符串

(4)StringBuffer reverse(str) 逆序

String  与 StringBuffer不同

(1)String代表字符串常量,创建就不能更改(“abc”);StringBuffer代表可变字符序列,调用方法可以改变内容和长度

(2)String重写了Object继承的equals()方法,StringBuffer没有

(3)String对象可以使用 +连接,而StringBUffer不可以,只能append()

(4)String对象可以比较大小,StringBuffer不可以,必须转成String再比较

22.Math类(大多都是静态方法)

(1)abs()返回绝对值

(2)floor(double d)

(3)pow(double e,double w)  次幂

(4)random()返回随机大于等于0.0且小于等于1.0

(5)round(float/double a)返回最接近参数的int/long

(6)max(a,b)

(7)min(a,b)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值