java札记:
第一周
第二周
1.变量的命名规则:$、字母、下划线开头都行,后面的可以是数字、字母、下划线
1)Camel规范:除了第一个单词,所有单词首字母大写。例如:userNameTable
2)Pascal规范:所有单词首字母大写。例如:UserNameTable
2.数据类型
int 4字节
long 8字节
short 2字节
byte 1字节
char 2字节
boolean true false
float 4字节
double 8字节
3.java环境配置:属性->高级->path->bin路径->.;->确定
(1).JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径
D:\Program Files (x86)\Java\jdk1.6.0_25
(2)Path项下添加:%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;
(3)在CLASSPATH项添加:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
(要加.表示当前路径)
(4) “开始”->;“运行”,键入“cmd”,键入命令 “javac”,出现以下画面,
说明环境变量配置成功。
4.数值类型转换:
1)低精度转高精度:直接转换 (byte->short)
2)高精度转低精度:强制转换 (float->int :
(int)float
)
3)字符转换字符串 :
String.valueOf();
4)字符串转字符数组 :
toCharArray()
5) 强制转换位整型:
Integer.parseInt()
5.转换
1)二进制: ( 除2取余)
1 2 3 4 5 6 7 8 9 10 11 12
1 2 4 8 16 32 64 128 256 512 1024 2048
3)八进制: 111
111
->77 转十进制 7*8^0+7*8^1=63
4)十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F
#FF0000 红色
#00FF00 绿色
#0000FF 蓝色
例: 1110 -> 0+2+4+8=16
255 -> 11111111 -> FF
111110000101 -> F85
6.自增自减
1) a=b++; 先赋值,再加
2 ) a=++b; 先加,在赋值
3) a=b--; 先赋值,再减
4) a=--b; 先减,在赋值
7.赋值运算
1) a+=5;
2) a-=5;
3) a*=5;
4) a /=5;
8.关系运算
<=、>=、==、!=、<、>
9.位运算(以二进制为开始数)
1)>>向左移位
2)<<向右移位
3) ^ 异或
例: k=5=101
k<<1 -> 101
->1
k>>1 -> 101
0
->10
k^5 -> 0
k^4 -> 1
10.逻辑运算
1) | 与 || :或
2) & 与 &&:与
3)区别:双个只要第一个条件满足,后面条件就不用判断;单个要对所有条件都要判断。
11.基本运算
(
1) 三目运算
: boolean flag=a>b?1:2;
(2) 顺序语句:
(3) 条件语句:
1) if(关系表达式){语句
}:只有关系运算为true的形式下才执行语句。
2) if(){
}else{语句}
3)if( ){
}else if( ){
}else{语句}
(4) switch语句: 可以有四种类型 (int、short、byte、char)
(5) for 循环
(6) while循环
(7) do......while 循环
12.方法:无参数的方法名不可以相同,相同的方法名可以有不同的参数。
13.数组
(1)
内存空间
1)栈内存
2)堆内存
3)全局代码区 -> 方法
4)全局数据区 -> static变量
(2) 维数
1)一维数组
2)二维数组
1.面向对象三大特性:封装、继承、多态
priv
ate ok no no no
2. 栈内存 ----------------> 堆内存
引用类型默认值为null:String
Student
new Student()
值类型默认值为0 :int long short double float
3.构造函数
1)无参构造函数(默认的构造方法)b'b'b'b'b
2)带参数的构造函数
4. static ----------> 一个直接用类加载变量、常量、方法
静态代码块 ----------> 无论对象还是主类,只执行一次
5.继承
1)子类继承父类的所有,
子类扩充用:super(继承父类);
2)实例化时子类方法优先;
3)继承关键字 :
extends
6.==与equals
1)equals:直接判等(地址是否相等)
2)==:引用地址;
7.抽象类
1)抽象类不可以实例化
2)抽象方法不可以实例化
;
8.接
口 :接口就是一些方法特征的集合------接口是对抽象的抽象
1)接口可以看成特殊的抽象类,通过interface关键字定义接口,包括抽象方法和常量;
2)接口的所有方法都是抽象方法,只是abstract 隐藏了,变量在接口里是常量(public static final);
3)一个类可以通过关键字implements实现接口,一个类实现某个接口必须实现该接口定义的所有方 法;
4)接口可以作为一种类型声明变量,一个接口类型的变量可以引用实现了该接口的类的对象,
通过该变量可以调用该接口中定义的方法(具体的实现类提供了方法的实现);
5)接口可以通过关键字extends继承另外一个借口;
9.接口与抽象类的区别:
1)都不可以实例化;
2)一个类只能继承一个抽象类,但可以实现多个接口;
3)抽象类中可以包含抽象方法和非抽象方法,而接口中的所有方法均为抽象的 ;
4)子类继承抽象类必须实现抽象类中所有抽象方法,否则子类也必须是抽象类。而子类实现接口
则必须实现接口中的所有抽象方法;
5)抽象类可以有变量与常量,接口只有常量。
6) 抽象类用与必要的且模糊的行为,接口用于或有或无的行为
10.类型 ------> 类
1)int -------> Integer
2)long -------> Long
3)double -------> Double
4)float -------> Float
5)boolean -------> Boolean
6)char -------> character
11.函数()
1) length() ------------> 返回长度
2) isEmpty() ------------> 是否为空
3) charAt(int index)------------> 查询从0开始第几个字符
4) compareTo(String)----------> 比较两个数,如果相等返回0,大于返回负数,小于返回正数
5) startsWith() ------------> 以什么开始的
6) endsWith() ------------> 以什么结束
7) indexFo() ------------> 返回下标
8) lastIndexFo() ------------> 返回最后的下标
9) substring() ------------> 截取
10)concat() ------------> 连接
11)replace() ------------> 代替
12)contains() ------------> 包含
13)split() ------------> 分隔
14)toUpperCase() -------------> 转大写
15)trim() ---------- --> 去除前后空格
12. 类
StringBuffer ---------------> 追加
Random ---------------> 随机数
Date ---------------> 日期
Calendar ---------------> 日历
13.final的用法
1)修饰基本数据为常量:即数据不可修改
2)修饰类或对象的引用:final不能修饰对象,只能修饰引用值
3)修饰方法:该方法不可被继承成员重新定义(子类不可重写)
4)修饰类:该类不可继承
5)修饰参数:防止调用过程被无意更改
14.关键字 同一个类 包 子类 其他包
defualt(frend) ok ok no no
protected ok ok ok no
public ok ok ok ok
注意: private不能修饰抽象类
protected不能修饰接口
15.接口、封装 、多态: 目的都是低耦合。