java基础

  1. java

1.1 java基础.

[1].变量--- 数据类型 变量名=值;

数据类型:

1.基本数据类型.

第一类:整型 byte[1字节] short[2字节] int[4字节] long[8字节] 第二类:浮点型 float[4字节] double[8字节]

第三类:逻辑型 boolean[1字节

第四类:字符型 char[2个字节]

2.基本数据默认值

数据类型默认值
byte0
short0
int0
long0
float0.0
double0.0
booleanflase
char

3.引用数据类型. 类 接口 枚举 数组

变量名:----命名规则

1. 由字母 数字 下划线_ 美元符 $ 组成

2. 不能以数字开头

3. 不能使用java的关键字。

4. 习惯: 见名知意 类名接口名每个单词首字母大写。

方法 变量名第一个单词的首字母小写其他单词的首字母大写.[studentAge]

常量所有字母全大写。

[2] 运算符:

1. 算术运算符。+,-,*,/, %, ++[前(先+1在运算) 后[先运算再+1]],--.

例子: int i=2; int c=++i*2+1; sout(c==) sout(i==)

例子: int i=2; sout(i++);

3. 关系运算符。>,>=,<,<=,==,!= 得到的结果一定是boolean值。

2. 逻辑运算符。 连接多个关系运算的。 &&[这两个关系运算符得到的结果都为true是才为true] || [两个关系运算符只要有一个为true,就是true] !

4. 赋值运算符。=,+=,-=,*=,/=,%=

例子: int a=2; int b=2; b=a+1; b=b(a+1) sout(b)

5. 位运算符【二进制】。 &,|,^,>>,<<.

例子: int a=1; int b=2; int c=a&b; 001 &010 sout(c); c=a|b; sout(c)

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: 排序好序得 按照添加的顺序

HashMap:原理: map.put(key,value); map.get(key); 数组+链表【超过8】+红黑树。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值