java se 学习笔记

Java se 学习笔记

 

JDK 的安装

1.      下载、安装

2.      配置环境变量

a)  path;   ;%JAVA_HOME%bin;

b)  JAVA_HOME;  jdk的安装目录

c)  Classpath:

JDK 和JRE 和JVM:

JDK 全称 java developmentkit---Java 开发工具包

JRE 全称 Java runtimeenvironment ----java 运行环境

JVM 全称java virtualmachine ---Java虚拟机

 

Java程序运行过程

1.      变异Javac,把Java源文件编译成.class 字节码文件

2.      运行Java:运行class文件

 

 

标识符(给类、方法、变量起名)

1.      以字母(Unicode字符集)、下划线、$开头

2.      其余部分可以是字母(Unicode字符集)、下划线、$、数字

3.      不能是关键字

 

变量:

1.  局部变量

定义在方法内或语句块内。属于方法或语句块。

2.  成员变量

定义在类里面,方法外面。属于类

如果没手动初始化成员变量,系统会自动初始化。规则如下:

数字:0,0.0 布尔:false char:\u000; 引用类型:null

3.  静态变量

定义在类里面,方法外面。使用static修饰。属于类

如果没手动初始化变量,系统会自动初始化。规则如下:

数字:0,0.0 布尔:false char:\u000; 引用类型:null

 

 

数据类型

1.      基本数据类型

a)      数字

1)  整数:byte(1个字节),short(2个字节),int(4个字节,整型常用默认类型)

Long(8个字节)

2)  浮点数:float (4个字节),double(8个字节,浮点数默认类型)

b)      字符:char(2个字节)

c)      布尔:boolean(1个字节)

2.      引用类型(4个字节)

a)      数组

b)      对象

c)      接口

表达式

1.      类型的自动提升

整型中,若有long就是long

若有double就是double

2.      强制转型

 

运算符

1.      赋值运算符

=

2.      算术运算符

3.      关系运算符

==

判断等于,常量放在等于号前面,变量放在等于号后面

常见错误写法:1<a<3

正确写法:1<a&&a<3

4.      逻辑运算符

&&(两边必须是布尔型)、||、!

&、|

5.      位运算符

&、|、<<(左移等于乘于2)、>>(右移等于除以2)

6.      扩展运算符

+=、-=、*=、/=、%=

7.      三目运算符

布尔表达式?A:B

 

控制语句

1.      顺序结构

2.      选择结构

a)If else

b)Switch(表达式)

 case : break;

 

3.      循环结构

a)      While 先判断后执行

b)      do while 先执行一次后判断

c)      for

break强行跳出循环

continue结束本次循环,继续下一次

 

面向对象基础:

1.      对象进化史:

a)      基本数据类型阶段:

b)      数组                                        多数据,同类型

c)      结构体                                   多数据,不同类型

d)      对象                                        多数据,不同类型,不同方法

 

对象和类:

         对象是具体的,类是抽象的。类是一个模板,通过类这个模板可以new对象

 

定义类:

Public class 类名{

         //属性

         Private:数据类型 属性名:

 

         //方法

        

         //构造方法

}

 

构造方法:

1.      方法名必须跟类名保持一致

2.      无返回类型

3.      通过new来调用

4.      无参构造函数

a)      如果没有手动添加无参构造,系统会自动为我们添加无参构造器

b)      如果添加了,系统就不会为我们添加

5.      构造方法的第一句总是调用直接父类的构造方法:super

 

 

方法的重载(override)

两同(同一个类,同一个方法名)三不同(参数列表不同,类型、个数、顺序)

返回值不同,不构成重载

形参名称不同,不构成重载

 

This:

         普通方法中:调用本方法的对象

         构造方法中:正要初始化的对象

         调用其他构造方法

Super

Static

         用它修饰的变量和方法,就变成静态变量or 静态方法,通过类名即可调用

实际存储于方法区中

Package

         Package必须位于非注释行的第一行

         包名:域名倒着写

 

Imports

         引入外部的类

Imports static 导入类的静态属性

Final

         修饰变量:常量(命名规范:全部大写,多个单词之间用下划线隔开)

         修饰方法:不能被重写

         修饰类:不能被继承

 

面向对象三大特征

 

封装(Encapsulation)

         通过private、default、protected、public关键字实现属性或方法的封装

         高内聚,低耦合

继承(inheritance)

         通过extends,优点

1.      代码重用

2.      通过继承实现对现实世界更准确的建模

3.      只能单继承

 

方法的重写

         =方法名保持一致

         >=子类权限修饰符可以大于等于弗雷德类型

         <=

 

Object类

1.      所有类的根基类、

2.      toString

3.      equals hashcode

4.      wait

 

 

多态(polymorphism)

         三个必要条件,继承、方法的重写、父类引用指向子类对象

 

动态绑定、静态绑定

 

抽象类

1.      包含抽象方法的一定是抽象类。

2.      抽象类不能被new

3.      抽象类可以包含:普通方法、成员变量、构造方法

 

接口

1.  Interface

2.  类实现接口;implements可以实现多个接口

3.  接口可以多继承

4.  接口定义的规范: 实现现实世界中这样的逻辑,如果你是——必须能——

 

内存机制:

         栈:

1.      存放局部变量

2.      不可以多个线程共享

3.      空间连续,速度快,但不灵活

4.       

1.      存放对象

2.      可以被多个线程共享

3.      空间不连续,速度慢,但灵活

4.       

 

方法区:

1.  存放类的信息,代码、静态变量。字符串变量

2.  可以被多个线程共享

3.  空间不连续,速度慢,但灵活

 

 

垃圾回收器(GC garbage collection )

1.      程序员不能调用垃圾回收器,但是可以通过system.gc建议

2.      Finalize

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值