java基础

来源:互联网 发布:mac安装应用程序 编辑:程序博客网 时间:2024/06/16 20:18

这是我总结的面向对象之前的一些章节的各个知识点:


1、使用public class 和class声明的区别:

(1)public class文件名称必须与类名称一致

(2)class文件名称可以与类名称不一致

(3)一个java文件只能有一个public class声明,却可以有多个class声明

(4)class声明的类只能在本包中被访问,要是想被外包访问的话必须声明为public class


2、java中的标识符:

(1)由数字、字母、下划线(_),美元符($)组成

(2)不能为java的关键字、不能以数字开头,true、false、null也不可以为标识符


3、数据类型:

(1)基本数据类型:数字型(byte  short  int  long ,float  double)、字符型(char)、布尔型(true  false)

(2)引用数据类型:类(class) 、  接口(interface)  、  数组


4、switch(表达式) :

表达式只能为  “数字”,“字符”,“枚举”


5、数组:

(1)  “数组名” 保存在栈内存中,用于存储堆内存中数据的地址

(2)数组的引用传递传递的是堆内存地址的使用权


6、java的命名规范:

(1)类名:所有单词的首字母大写

(2)方法名:第一个单词的首字母小写,后面的单词首字母大写

(3)常量:全部单词大写

(4)标识符:第一个单词的字母小写,后面的单词首字母大写

(5)包:所有单词小写


6、return结束一个方法:

一旦执行了return语句之后,方法将不再执行,而是返回到被调用处继续向下执行


7、java新特性:

(1)可变参数:返回类型  方法名称(类型...参数名称){}void  fun(int...x){}

(2)foreach输出: for(数据类型  变量: 数字名)     for(int   x : a){}


8、java程序的执行步骤:

(1)编译:将*.java源文件生成为*.class文件

(2)解释:将*.class文件在JVM上运行


9、类中的“对象”在内存中的分布:

对象名称保存在栈中,对象的属性和方法保存在堆中,栈中存放的是堆空间的地址


10、构造方法:

(1)方法名必须与类名称一致,

(2)构造方法的声明处不能有任何的返回值类型的声明

(3)不能再构造方法中使用return 语句


11、字符串:

一个字符串就是一个String类的匿名类对象,匿名对象就是已经开辟了堆内存空间、并可以直接使用的对象,12题的hello就是String类的匿名对象


12、如果一个字符串已经被一个名称所引用,则以后再有相同的字符串被声明时,就不会再重新开辟空间,而继续使用已经开辟好的堆内存 

例: String str1="hello"  ,  String  str2="hello"  ;则  str1==str2 为true


13、StringBuffer类的对象内容可改变,一般在字符串内容要大量改变时用于替换String的字符串


14、java中的内存区域:

(1)栈内存:类的对象(保存反问堆内存的地址)、局部变量

(2)堆内存:保存对象的属性值

(3)全局数据区:保存static 类型的属性

(4)全局代码区:保存所以方法的定义

15、负数的补码:

一个数为负数,符号位为1,其余各位是对原码取反,然后整个数加1    
 - 1的原码为                10000001
 - 1的反码为                11111110
                                                   + 1
 - 1的补码为                11111111

 0的原码为                 00000000
 0的反码为                 11111111(正零和负零的反码相同)
                                          +1
 0的补码为               100000000(舍掉打头的1,正零和负零的补码相同)


16、byte short int long char的取值范围:

byte的取值范围为-128~127,占用1个字节

short的取值范围为-32768~32767,占用2个字节

int的取值范围为(-2147483648~2147483647),占用4个字节

long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节

char 的取值范围为  0~65535  占2字节



17、java程序编译完成之后产生字节(byte)代码(code)


18、String的俩种实例化方式:

直接赋值:String str=”hello”;

使用new关键字赋值: String str=new String(“hello”);

直接赋值比较节省内存空间

字符串的值不可变,改变的只是变量指向“堆内存”地址值的指向,所以字符串值的改 变实际改变的是 内存的地址的引用

19、equals 和 ==的区别:

==”判断的是变量的地址值是否相等

equals”判断的是变量的内容是否相等。


20、对象数组:

(1)每个对象数组都必须单独进行实例化,否则就是默认值NULL

(2)声明: 类 对象数组名[] =new 类 [长度];

(3)静态初始化:

  Person  arry[]={new Person(“zs”),new Person(“ls”),new Person(“xs”)};

 (4)动态初始化:

Person  arry[]=new Person[5];

Arry[1]=new Person(“zs”); arry[2]=new Person(“xl”);






0 0