当前位置 : 主页 > 编程语言 > c++ >

java基础笔记(五)

来源:互联网 收集:自由互联 发布时间:2021-07-03
gistfile1.txt 十年饮冰 难凉热血复习:常用包:java.lang:自动导入,最常用的类 String,system,math,integer(封装),exception,class,thread(线程)Java.util:List集合,作为存储数据/变量的集合;Date日期相关
gistfile1.txt
十年饮冰 难凉热血


复习:
常用包:
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
这就是 对静态全局变量的所有操作都会反映到整个类
上一篇:map转object
下一篇:java基础笔记(四)
网友评论