java 基础笔记

JDK的安装:

  1. 下载、安装
  2. 配置环境变量

a)         path:.;%JAVA_HOME%\bin;

b)        JAVA_HOME:JDK的安装目录

c)         classpath

JDK和JRE和JVM:

JAVA程序运行过程:

  1. 编译javac :把java源文件编译成class字节码文件
  2. 运行java :运行class文件

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

  1. 以字母(采用Unicode字符集)、下划线、$ 开头
  2. 其余部分可以是:字母(采用Unicode字符集)、下划线、$、数字
  3. 不能为关键字

变量:

  1. 局部变量

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

使用之前,必须要手动初始化!

  1. 成员变量(实例变量 field)

定义在类里面、方法外面。   从属于对象!

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

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

  1. 静态变量(类变量)

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

如果我们没有手动初始化静态变量,系统会自动初始化。初始化规则同成员变量。

数据类型:

  1. 1.       基本数据类型

a)         数字

                         i.              整数:byte(1个字节)  short(2个字节)   int(4个字节,整型常量默认该类型)   long(8个字节)

                       ii.              浮点数:float(4个字节)  double(8个字节,浮点常量默认为该类型)

b)        字符 char(2个字节)

c)         布尔  boolean(1位)

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

a)         数组

b)        对象

c)         接口

表达式:

  1. 1.       类型的自动提升

如果有long,结果就是long

如果有double,结果就是double

  1. 2.       强制转型

 

运算符:

  1. 1.       赋值运算符(=)

if(b=true)  if(b)       if(c=3)  if(3==c)

  1. 2.       算术运算符
  2. 3.       关系运算符(==)

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

  1. 4.       逻辑运算符

&&, ||, !   

&,|    3&4

  1. 5.       位运算符

&,|, <<(左移一位相当于乘以2),>>>(右移一位相当于除以2)

3*4

  1. 6.       扩展运算符

+=,-=,*=,/=,%=

  1. 7.       三目运算符

(布尔表达式)?A:B

控制语句:

  1. 顺序结构
  2. 选择结构

a)         If

b)        If else

c)         If else if … else

d)        switch  多值选择  表达式:int或char/short/byte, 枚举

break问题

  1. 循环结构

a)         while  先判断后执行

b)        for

c)         do  while  先执行后判断

break: 强制终止整个循环

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

面向对象基础:

  1. 对象的进化史

a)         基本数据类型阶段       数据少     无数据管理时代

b)        数组                数据多了,将同类型的数据放到一起     弱管理

c)         结构体          数据多了,数据复杂了。将不同类型的数据放到一起    强管理

d)        对象    数据多了、类型复杂了、行为复杂了。将不同类型的数据放到一起 超强管理

对象和类:

对象是具体的,类是抽象的。  类也是一个模版,通过类这个模版我们也可以new

对象。

定义类:

public[微软用户1]   class  类名[微软用户2]  {

//属性

private  数据类型  属性名;   //建议增加相应的getter、setter方法

//方法

//构造方法

}

构造方法:

  1. 方法名必须跟类名保持一致
  2. 无返回类型
  3. 通过new来调用
  4. 无参构造器问题:

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

b)        如果我们自己定义了构造器,系统就不会为我们添加无参构造器

  1. 构造方法的第一句总是:super,即调用直接父类的构造方法。

a)         有继承关系的构造方法调用的顺序

方法的重载(Overload)

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

返回值不同,构成重载吗?  No

形参名称不同,构成重在吗?  No

this:

普通方法中,调用本方法的对象。

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

还可以用来,调用其他的构造方法

super:

static:

用它修饰的变量和方法,就变成了静态变量和静态方法。从属于类。通过类名即可调用。实际存储于方法区中。

package:

package必须位于非注释行第一句。

包名:域名到这写

import:

引入外部的类

Import  static :导入类的静态属性

final:

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

修饰方法:不能被重写

修饰类: 不能被继承

面向对象的三大特征:

封装

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

“高内聚,低耦合”

继承

通过extends 。两个好处:

  1. 代码重用
  2. 通过继承实现对现实世界更加准确的建模

类只有单继承,没有像C++那样的多继承

方法重写(Override)的要点:

=:方法名保持一致

>=: 子类权限修饰符可以大于等于父类的。

<=, <=: 子类的返回值类型小于等于父类的类型。 子类声明异常类型不能超过父类的类型。

Object类:

  1. 1.       是我们所有类的根基类
  2. 2.       toString
  3. 3.       equals、hashcode
  4. 4.       wait、notify、notifyAll

多态(polymorphism)

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

动态绑定、静态绑定:

抽象类:

  1. 包含抽象方法[微软用户3] 的类,一定是抽象类。
  2. 抽象类不能被new。
  3. 抽象类可以包含:普通方法、成员变量、构造方法。

接口:

  1. interface
  2. 类实现接口:implements    可以实现多个接口
  3. 接口可以多继承
  4. 接口定义的一组规范!实现现实世界中这样的逻辑::如果你是…则必须能…

内存机制:

  1. 存放局部变量
  2. 不可以被多个线程共享
  3. 空间连续,速度快

  1. 存放对象
  2. 可以被多个线程共享
  3. 空间不连续,速度慢。但是灵活

方法区

  1. 存放类的信息:代码、静态变量、字符串常量等
  2. 可以被多个线程共享
  3. 空间不连续,速度慢。但是灵活

垃圾回收器(GC   Garbage  Collection):

  1. 程序员不能调用垃圾回收器。但是可以通过System.gc()建议回收。
  2. finallize:一般也不用的调

[微软用户1]public class类名需要跟我们文件名相同

[微软用户2]首字母大写

[微软用户3]抽象方法必须被子类重写!

时间: 2024-10-09 23:03:32

java 基础笔记的相关文章

[Java基础笔记]数组

Java基础笔记 定义数组: int[] numbers = new int[100]; //方法一 double[] num = new double[10]; int[][] a = new int[2][5]; 通过new创建的数组,元素默认值为0(0.0) int[] scores = {5,4,33,12,46}; //方法二 int[][] a = { //位数不足,自动补0 {5,3,2,1,6}, {10,12,14,15}, }; 数组特性:存储的都是同类型数据:长度定义后不可

java 基础笔记 基本数据类型对象包装类

基本数据类型对象包装类: 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作. 用于描述该对象的类就称为基本数据类型对象包装类. 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char   Character boolean Boolean 该包装对象主要用于基本类型和字符串之间的转换. 基本类型-->字符串 1.基本类型数据+"&quo

Java基础笔记 – Annotation注解的介绍和使用 自定义注解

Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Annotation的工作原理:2.@Override注解:3.@Deprecated注解:4.@SuppressWarnings注解:5.自定义注解:5.1.添加变量:5.2.添加默认值:5.3.多变量使用枚举:5.4.数组变量:6.设置注解的作用范围:6.1.在自定义注解中的使用例子:7.使用反射读取R

【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-import.html#1.2.values方法的使用: Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由arthinking发表于4年前 | Java基础 | 暂无评论 |  被围观 8,332 views+ 1.枚举(Enum):1.1.枚举类型中的两个静态方法:1.2.values方法的使用:

黑马程序员----java基础笔记中(毕向东)

<p>------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! -------</p><p> </p><p>笔记一共记录了毕向东的java基础的25天课程,分上.中.下</p><p>本片为中篇,涵盖11-20天课程</p&

java 基础笔记 第一波~

Java 基础知识  首次复习. 1.作用域 其实就是这个变量可以起作用的范围. 2.有时候碰到的 value ,其实就一个变量名 ,别想的太复杂. 3.Java 局部变量,实例变量 ,类变量(静态变量)区别 1,局部变量 是类的方法中的变量: 2.实例变量 类中独立于方法之外的变量 不过没有static修饰 也叫对象变量 3.类变量(静态变量) 类中独立于方法之外的变量 用static修饰 也叫静态变量 伪代码说明 Public class Variable{ Static int allcl

Java基础笔记——学习Java前的准备

接下来的一个月我会和大家分享我学JavaSE时候的笔记,分享是最好的老师,希望我的笔记能给大家一些帮助. 我会每天发一篇文章,这些都是我学Java时候的精华,当然,每一篇笔记我都会精心修改,使得知识点更加清晰,更加通俗易懂. Java必备知识点汇总 软件:系统软件.应用软件 交互方式: 图形化界面GUI=Graphical User Interface 命令行方式CLI=Command Line Interface Java由SUN=Stanford University Network公司19

Java基础笔记-抽象,继承,多态

抽象类: abstract修饰 抽象方法必须定义在抽象类中,抽象类不能创建对象. 在抽象方法中可以不定义抽象方法,作用是:让该类不能建立对象. 特点是: 1.定义在抽象类中 2.方法和类都用abstract修饰,在抽象类中的方法不写abstract也默认的是抽象方法. 3.不能用new来创建对象,调用抽象方法没意义. 4.抽象类中的方法被使用,必须由子类覆写其所有的抽象方法后,才能建立子类对象进行调用. 如果子类只覆盖了部分的抽象方法.那么该子类还是一个抽象类. 5.抽象类不可以被实例化. 继承

Java基础笔记(四:多线程基础及生命周期)

一.多线程基础 编写线程程序主要是构造线程类.构造线程类的方式主要有两种,一种是通过构造类java.lang.Thread的子类,另一种是通过构造方法实现接口java.lang.Runnable的类.因为类java.lang.Thread实际上也是实现了接口java.lang.Runnable的类,所以上面两种构造线程类的方法从本质上都是构造实现接口java.lang.Runnable的类.下面将具体介绍着两种方法. (1)通过类Thread的子类构造线程 类java.lang.Thread的每

java基础笔记 day01

JAVA开发之路---基础篇 软件开发 软件:一系列按照特定顺序组织的计算机数据和指令的集合 常见的软件: 系统软件:windows dos IOS 应用软件:扫雷 等桌面软件 什么是开发:制作软件 人机交互 软件的使用就是人与计算机更好的交互 交互方式:  1.命令行交互方式 2.图形化交互方式 语言   人与人沟通的方式     计算机语言   人与计算机的沟通方式  C C++ JAVA等等.....   挣钱!!!!! JAVA语言概述   历史发展 Java三种架构:JAVAEE