提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
自用笔记2.1 java基础.
[1].变量—数据类型变量名=值;数据类型:
1.基本数据类型. byte[1字节] short[2字节] int[4字节] 1ong[8字节] float[4字节]double[8字节] boolean[1字节] char[2个字节]
2.引用崴据类型.类接口枚举数组
变量名:----命名规则
- 由字母数X字下划线――美元符$组成
2.不能以数字开头
3.不能使用java的关键字。
4.习惯:见名知意类名接口名每个单词首字母大写。
方法变量名第一个单词的首字母小写其他单词的首字母大写.[studentAge]常量所有字母全大写。
[2]运算符:
1.算术运算符。+,-,,l,%,++[前(先+1在运算〉后[先运算再+1]],–.
例子: int i=2; int c=++i2+1; sout(c==) sout(i==)
例子: int i=2; sout(i++);
3.关系运算符。>,>=,<,<=,==,!=得到的结果一定是boolean值。
2.逻辑运算符。连接多个关系运算的。&&[这两个关系运算符得到的结果都为true是才为true]|l〔两个关系运算符只要有一个为true,就是true] !
4.赋值运算符。=,十=,-=,=,/=,%=
例子: int a=2 ; int b=2; b=a+1; b=b*( a+1)sout(b)
5.位运算符【二进制】。&,l ,^, >>,<<.
int a=1; int b=2; int c=a&b; sout©; c=alb; sout©
6.三目运算符。
条件语句?表达式1:表达式2
[3]控制语句
if(条件){}
if(条件)else
if(条件)else if(条件) …else{}
switch(表达式){ //switch表达式的值得类型byte short char int string
case 值1:break;
case 值2:break ;
case 值3:break ;
default: break ;
// 每一个case得值不能重复。
// default找到不匹配的case时执行default的语句。
// break执行完对应的case后跳出switch语句。如果没有使用break则找到匹配的case后会把后面所 有的语句都执行。
while(条件){//条件是boolean值。
}
do{while(条件);
for (初始值;条件;变化){//初始值只会被执行一次.
}
[4]数组:
数据类型[ ] 变量名=new 数据类型[长度];
数据类型[ ] 变量名={值,值,值,值};
排序:冒泡排序 快速排序 选择排序【擂台排序】
2.2 java面向对象.
1.类和对象!
类:具有相同属性和行为的一组对象的集合。抽象的概念.。对象:万事万物皆为对象。具体存 在的实物。
2.如何定义类:
public class 类名{
//成员变量。
//成员方法。
}
//如何根据类创建对象
类名 对象名=new类名();
//对象如何调用类中的成员.
对象名.成员变量;
对象名.成员方法(实参)
3.三大特性:
封装:把类中成员使用private 进行封装,使外界无法调用-------安全。
一般:封装属性。并且生成getter和setter
继承:一个子类继承父类中的成员 extends------------
public class 子类名 extends 父类名{
}
overload 重载 和 override 重写
overload : 在同一个类中,出现同一个方法名,参数列表不同的方法。不考虑返回类型。这些方法就是反复重载
override : 在父类和子类之间,子类中出现了和父类中方法名一样,参数列表一样。返回值类型一样。访问修饰符不能小于父类方法得到的访问修饰符。抛出异常不能大于父类中。子类中出现的这种方法就是重写。
访问修饰符:
public:同一个工程下都可以访问
protected:只能被同包或者不同包下的子类访问
默认:同包访问
private:同类访问
多态: 一个对象具有多种形态。
父类声明 对象名 = new 子类对象();//向上转型
子类声明 对象名 = (子类)父类对象; //向下转型
抽象类和接口
抽象类:只能被继承,因为他不能实例化对象。抽象类中有构造方法。抽象类中的属性可以 是普通属性也可以是静态属性
接口:可以被实现,没有构造方法。全是抽象方法【jdk8之后出现了默认方法和静态方法】 都是静态常量
异常处理:
try{ }catch(异常类型 对象){ }
throws 抛出异常。----> throws加在方法参数的后面 谁调用该方法谁处理该异常
集合:
collection:
List:有序 可重复
ArrayList:底层数组
linkedList:底层链表
Vector:
Set: 无序 不可重复
HashSet:底层是按照hash表执行。先按照hashcode表对比如果hash相同【hash冲突】,则按照equals方法对比。如果equals也相同则视为同一个元素。
TreeSet:底层树形结构,元素排好序的
linkedHashSet:按照添加的顺序
Map:
HashMap:原理:map.map.put(key,value); map.get(key); 数组+链表【超过8】+红黑树。



