java学习笔记(一)基础知识

来源:互联网 发布:中颖单片机 编辑:程序博客网 时间:2024/05/29 05:11

1.java语言概述
java既具有解释性语言的特征,也具有编译性语言的特征。
生成与平台无关的字节码,负责解释执行字节码文件的是java虚拟机。

2.java源文件命名规则
(1)源文件必须以.java为后缀
(2)如果源程序中定义了public类,那么源文件名必须与类名一样
(3)如果没有定义public类,那么源文件名可以是任意

3.java的三大特征
(1)封装:将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能
(2)继承:子类继承父类后,子类将作为一种特殊的父类,将直接获得父类的属性和方法
(3)多态:子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征。意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特征

4.注释
单行注释: //
多行注释: /* */
文档注释: /* /

5.标识符:用于给程序中变量、类、方法命名的符号。必须以字母、下划线、线
注意:数字不能开头;不能使用java关键字和保留字,但可以包含关键字和保留字;不能包含空格;只能包含$,不能包含@、#等其他特殊字符。

6.关键字:java关键字都是小写
这里写图片描述

7.java数据类型:基本数据类型和引用数据类型
byte,1字节,长度-128(-2^7)~127(2^7-1)
short,2字节,长度-32768(-2^15)~32767(2^15-1)
int,4字节
long,8字节
float,4字节,科学计数法是1符号位+8指数位+23尾数
double,8字节,1符号位+11指数+52尾数
char,2个字节,表示单个字符
boolean,true和false,整型值和布尔值之间不能相互转换
注意:byte和short不能和char相互转换,因为char的取值范围是从0到65535,而byte和short中都包含负数

8.三个特殊的浮点类型
正无穷大,一个正数除以0
负无穷大,一个负数除以0
非数,0.0除以0.0或对一个负数开方

9.当定义32位的二进制正数时,最高位其实是符号位,当符号位为1时表明它是一个负数,负数在计算机里是以补码的形式存在的。
正数的反码与原码相同;负数的反码是对原码按位取反,只是最高位(符号位)保持不变。正数的补码和原码完全相同,负数的补码是其反码加1.
正数的补码和原码完全相同,负数的补码是其反码加1
+0:原码=0000 0000 反码=0000 0000 补码=0000 0000
-0:原码=1000 0000 反码=1111 1111 补码=0000 0000
0的补码只有一种
负数在计算机里以补码存在:eg,~-5,即给-5按位取反,结果为4
-5原码 1000 0000 0000 0000 0000 0000 0000 0101
-5反码 1111 1111 1111 1111 1111 1111 1111 1010
-5补码 1111 1111 1111 1111 1111 1111 1111 1011
-5取反 0000 0000 0000 0000 0000 0000 0000 0100

10.移位运算符
进行移位运算符的规则
(1)低于int类型(byte、short、char),先自动类型转换为int后再移位
(2)对于int类型的整数移位a>>b,当b大于32位时,系统先用b对32求余,得到的结果才是真正移位的位数eg:a>>和33a>>1结果完全一样
(3)同理,对于long,当b大于64位时,用b对64求余,再移位
注意:>>第一个操作数的二进制码右移指定位数,左边空出来的位填充原来的符号位;>>>无符号右移,左边空出来的位总是用0填充

11.逻辑运算符
&(与):一假为假,全真为真
^(异或):相同为假,不同为真
|(或):一真为真,全假为假
!(非):真变假,假变真
&&(与 短路):前面为假即假,后面不计算,否全真为真
||(或 短路):前面为真即为真,后面不计算,否全假为假

12.内存结构
栈结构:存储局部变量,数据使用完,所占空间自动释放
堆结构:数组和对象,通过new建立的实例;每一个实体都有内存地址;实体中的变量要有默认初始化值;实体不再使用,会在不确定时间内被垃圾回收器回收。

原创粉丝点击