gistfile1.txt 十年饮冰 难凉热血复习:常用包:java.lang:自动导入,最常用的类 String,system,math,integer(封装),exception,class,thread(线程)Java.util:List集合,作为存储数据/变量的集合;Date日期相关
十年饮冰 难凉热血 复习: 常用包: java.lang:自动导入,最常用的类 String,system,math,integer(封装),exception,class,thread(线程) Java.util:List集合,作为存储数据/变量的集合;Date日期相关;property属性类 Java.io:数据流输入/输出操作 Java.awt:图形页面组件 API:用于说明:类层次,类的功能,成员变量,构造方法,从父类继承的属性及方法,实现了哪些接口 书和视频都不靠谱,不如自己从API或者源码里面找。 java语法: 不顶天,先空格,方法方法之间留空行 注释:说明程序功能层次,提高代码的可维护性;用注释做配置(减少了配置量,降低了可维护性) //单行注释 /*多行注释,可以在里面加标记 @author: @version: @docroot:表示产生文档的根路径 */ 对于类和接口,或者修改了什么,也需要通过注释说明 在方法前,用来说明该方法功能:@param:参数 @return:返回值 @see:参见xx内容 功能性注释:通常通过//来写在属性和代码段右边,用来说明功能 Javadoc:收集注释 Javadoc 默认自动收集共有的类,接口/**中的注释*/ 分隔符: 一条语句以;结尾 {一个语句块} 标识符: 标识符用于给变量、类、和方法命名 可以以字母、下划线_ $开头 字母不能当放在标识符首 汉字可以当标识符,但是最好不要用 关键字和自定义类库的类不能做标识符 Java是区分大小写的 关键字:都是小写 数据类型:用于说明给变量分配多少空间 基本类型:原始类型 用于存放一个数值 引用类型:用于存放对象的地址 整型byte\int\short\long的数据比浮点型float\double精确 定义一个boolean类型的全局变量,默认值为false 一、基本类型运算的混合运算: 1.整型数据的转换: 除了boolean类型,其他七种基本类型可以相互运算 可能的转换: A.byte,char,short,int,long,float OP(double)->double 只要表达式中,有一个数据是double,那么生成的结果就是double类型的,必须用一个double类型的变量接收 B.byte,char,short,int,long OP (float)->float 整型的精度比浮点型高,所以两者运算的时候,产生结果必须由浮点型变量接收 C.byte,char,short,int OP (long)->long 整型类型之间运算,一旦其中有Long,结果就必须要用long类型变量接收 D.byte,char,short OP (int)->int 必然的转换:Byte,char,short一旦参加运算,就会转化为整型 E.(byte,char,short,) OP(byte,char,short)->int 双目运算符+-*/除了复合赋值运算(j+=1 等于 j=j+1)符 会改变运算量的类型,但是单目运算(j++;)不会 Byte j = 129;会显示报错 Byte j = 127; J = j+1;会越界,结果变为-128但是不报错! 赋值号的左侧变量类型不能小于右侧变量类型 Byte b = 123;//可以 Int a = 123; Byte b = a;//不行 强制转换(造型): Double db = 1.999; Int I = db;//不行 Int I = (int)db; 不要在数值之间造型,尽量在变量之间造型 损失精度的事,咱不能干! 小往大:上转型 大往小:造型 二、引用型变量 Student tl;//没有创建对象,只是创建了一个变量tl,在栈中创建了一个空间,用于存放Student类型的对象的地址; Tl = new Student();//地址类型与它存放对象的类型一致 tl是用来存放Student类型对象的地址,而不是对象本身 引用类型变量的值是某个对象的地址,而不是对象本身; 基本类型就存放一个数,引用类型数据与对象关联; 当没有this.指针标记变量时,会现在当前方法找有没有同名变量,如果没有,再到整个类里面找 栈里的局部变量要是没有赋值,那就就是垃圾值 PS:把当前目录的所有源文件编译成字节码文件 整体编译:Javac *.java 传值:s2 = s1; 把S1中存放的内容赋值给S2; java只有一种传递,就是我,值传递; java一班只有一个哥哥,就是我,田林哥哥 三、变量 每个变量都必须有类型; 变量必须是在一个类中声明,一个变量可以和整个类关联(全局变量),也可以仅仅在方法体和程序块中起作用(局部变量) 局部变量: 当调用该变量方法时,在栈中开辟方法工作空间,再在方法工作空间中开辟一个局部变量工作空间i,这块空间只能让方法用,用完就释放空间; 一个局部变量只在定义它的方法/语句块内有效,用完即释放,再调用时再开辟 编译阶段会检查类中所有方法的词法语法语义,不管有没有调用; 全局变量: Static int I =233;//静态全局变量 Double k;//实例全局变量 实例全局变量在创建对象的时候在堆中的对象空间里开辟空间,创建一个对象在那个对象里开辟一次 实例全局变量与对象关联,当系统调用构造方法为对象的属性方法初始化的时候开辟空间,之后由所在对象调用 当对象被GC回收释放时,实例全局变量开辟的空间也消失 静态全局变量: 静态全局变量为当前类所有对象所共有,能由类调用,也能由对象来调用,但是对静态全局变量的所有操作都会反映到整个类 每个对象的属性空间里都有一个属性存放着对静态全局变量的引用; 在加载类的时候,在方法区的静态数据区开辟空间存出静态全局变量,并且与创建该静态变量的类关联 实例全局变量:我的钱,只归关联的对象-我 静态全局变量:我们都是 Java一班的对象,李嘉诚给Java一班捐了100W,这100W归整个类的对象共有 我们班可以用,处于我们班内的对象也可以用,但是 我用了10w,我们的班费就少了10w 这就是 对静态全局变量的所有操作都会反映到整个类