没有合适的资源?快使用搜索试试~ 我知道了~
马士兵JAVA笔记(全).docx
需积分: 43 55 下载量 5 浏览量
2021-03-12
09:21:41
上传
评论 4
收藏 119KB DOCX 举报
温馨提示
试读
64页
马士兵JAVA笔记(全).docx
资源推荐
资源详情
资源评论
学
习
笔
记
PeterChing 编写
马士兵 Java 系列
0201
标识符 关键字 数据类型
标示符:
一:凡是自己可以取名字的地方都叫做标示符
二:标示符应该由字母,下划线,美元符,数字组成。其中,应该由字母,下划线,美元
符开头。即不可以用数字开头。
JAVA 常量:
一:用 final 关键字标示的地方
二:整型常量 123;实型常量 3.14;字符常量'a';逻辑常量 TRUE、FALSE;字符串常量
“hello”。
注意字符常量与字符串常量的区别。字符常量用单引号,而字符串常量用双引号。
JAVA 变量:变量从本质上来讲,其实是内存中的一小块区域。因此,每一个变量使用前必
须先声明,然后必须进行赋值(填充内容),才可以使用。
注意:double d1,d2,d3=0.234;表示 d3=0.234 而不是 d1,d2,d3 都等于 0.234
程序执行过程
1:程序 load 到内存中
2:操作系统找到 main 函数,开始执行程序
3:执行过程中的内存管理
(1)code segment 用来存放代码。也就是说 load 后整个程序放在了此区域。
(2)data segment 用来存放静态变量和字符串常量
(3)stack 用来存放局部变量
(4)heap 用来动态生成内存,也就相当于 new 出来的东西放在此区域。
就是说程序首先(也就是编译时)load 到 code segment 后,在程序真正执行时此区域就会
和其他三个区域发生关系。因为程序执行需要分配变量等等。可以这么理解:没有建立对
象,程序只是作为代码存在 code segment,没有什么实际意义的。只有在建立对象,在运
行时 code segment 才会和其他三个区域发生关系,程序也才有了实际意义
JAVA 变量的分类
按照声明的位置划分:
局部变量:方法或语句块内部定义的变量
方法的参数叫局部变量。所以在方法体内声明的,包括方法的参数叫做局部变量
成员变量:方法外部、类的内部定义的变量
在方法体外,类体内之间声明的叫成员变量
按照所属的数据类型划分:
基本数据类型变量:
1 数值型,它包括整数类型(byte,short,Int,long)和浮点型(float,double)
2 字符型(char)
3 布尔型(boolean)
引用数据类型变量:
1 类(class)
2 接口(interface)
3 数组
JAVA 基本数据类型
JAVA 中定义了 4 类 8 种基本数据类型
逻辑型:boolean(只可以取 TRUE,FALSE)
文本型:char 也就是字符型
整数型:byte,short,Int,long
浮点型:float,double
JAVA 用 Unicode 编码,每个字符占两个字节,所以可以用十六进制编码形式表示,
Unicode 是全球语言的统一编码
0202
整数类型:byte 占 1 个字节,short 占 2 个字节,int 占 4 个字节,long 占 8 个字节。
当声明为 long 时后面要加 l 或者 L 否则默认为 int 了。比如 long c=5555L 必须加 L 否则出错
浮点类型:float 占 4 个字节,double 占 8 个字节。但是要注意浮点类型默认的是 double 类
型。所以若要声明为浮点类型,则要加 f 或者 F。例如:double d=123.2;正确 float f=12.3f
必须加 f 否则出错
0203
基本数据类型的转换
boolean 类型不可以转换为其他的数据类型,这点与 C++不一样。
整形,字符型,浮点型的数据在混合运算时相互转换,转换的原则:
1、容量小的自动转换为容量大的数据类型。容量由小到大的排列:
byte ,short,char,->int->long->float->double
2、byte ,short,char 之间不会相互转换,他们三者在计算时首先转换为 int 类型
容量大的要转换为容量小的数据类型,需要强制转换。但是可能造成精度降低或者溢出。
强制转换的格式:在数据前加一个()在括号里写需要强制转换成为的类型。
在有多种类型的数据混合运算时,系统首先自动将所以得数据转换成为容量最大的那一种
数据类型,然后进行运算
0206
a+=b 等效于 a=a+b
a*=b 等效于 a=a*b
“+”预算符两侧的操作数只要有一个是字符串(string)类型,系统会自动将
另外的一个操作数转换为字符串后在进行连接。例如:
int c=23;
system.out.println("c="+c);//c 成为字符串还是 12
当进行打印时,无论任何类型,都自动转换为字符串再进行打印
x?y:z 当 x 的表达式为真时则整个表达式的结果为 y,否则为 z
0210
break 语句用于终止某个语句块的执行。若是用在循环语句中,可以强制退出循环。
;分号表示空语句 在 for 语句后不要写分号!!!
continue 语句用在循环语句中,用于终止某次循环过程,跳过循环体中 continue 语句下面未
执行的循环,开始下一次循环过程
0212
switch()括号里面只可以探测 int 类型 但是记住 short,byte,char 也可以的
因为他们可以转换成为 int
switch 多于 break 连用,防止穿透
0213
方法要点:
形式参数
实参
返回值
返回值类型
public static void m1(){
}//方法 m1()返回值为空
public static void m2(int i){
}//方法 m2()返回值为空,但是它有一个形参而且是 int 类型的
public static int m4(int i,int j){
}方法 m4()返回值为 int 类型,而且有两个 int 类型的形参
可以这么相像:1、形式参数相当于进料口,返回类型相当于出料口 2、实参和形参相匹配
JAVA 中进行函数调用中传递函数时,遵循值传递的原则:(很重要!!!)
1、基本数据传递的是该数据值本身
2、引用类型传递的是对对象的引用而不是对象本身
0301
以开车去新疆为例:
面向过程的设计思想,以车为中心
面向对象的设计思想,以我为中心
在面向对象时,车怎么开动去新疆,车本身最了解。因为它知道自己的内部结构,工作原
理。
我们在定义一个东西的时候很难完整的写出这个类的抽象的定义。比如在定义瓶子的时候
你若描述可以装水的是瓶子,我们可以这样反驳:装米的缸子也可以装水;你若定义有盖
子的是瓶子,我们可以反驳:做饭的锅也有盖子……诸如此类的问题。
其实,这个问题就是一般和特殊的哲学关系——一般中蕴含着特殊。要不然都一样了,就
是一个东西啦!你下了一个抽象的定义,我总是可以找到一个东西满足你描述的所有条件
但是它却不是你要的这个东西。所以我们在定义一个类时,只是包括了一般的具有共同代
表性的重要的方法和属性,不太可能面面俱到。
其实就是一个思维的问题。我们不太可能定义什么是瓶子(抽象),但是我们可以判断一
个东西是不是瓶子(具体)。这也就是说我们开始认识事物时由具体到抽象。在看到许多
瓶子以后,我们的思维里出现了一个瓶子的抽象类。比如在超市的货架上,摆着好多的瓶
子,他们的共同属性是可以装溶液,倒出溶液;有盖子,有容积。但是它们的具体实际可
能有差别别如:容积大小,耐热程度,颜色,材质……
抽象出一个类从两方面:静态(属性)和动态(方法)
面向对象时尽可能运用人类的自然思维方式
属性和成员变量时一回事
类和类之间的关系
关联关系:两者之间有一点关系,但是不紧密
继承关系:能这样描述"XX 是一种 XX"的就是继承,比如老师是人
聚合关系:整体和部分的关系。
剩余63页未读,继续阅读
资源评论
土戈
- 粉丝: 296
- 资源: 77
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功