java基础复习1

jre:Java运行环境

jdk:Java开发工具(包含jre)

java两大机制:JVM (java虚拟机)

       垃圾回收

变量的分类:

1.按数据类型分:

1)基本数据类型:8种

整型:byte short int long

浮点型:double float

字符型:char

布尔型:boolean

2)引用数据类型:

类:class

接口:interface

数组:[]

====================

负数取模:

-38%3=-2

38%-3=2

&和&&区别:

&  所有条件都要判断

&& 只要有一个条件不满足则为false 停止后面的判断

<<和>>  位运算符   将二进制数左右移动相应的位数得到结果 例:

2<<3   00010 →10000 =16

16>>3 10000→00010 =2

& 与运算符

16&2  =0

三元运算符

int max = 100<200 ? 1 : 2;  max=1

如果Java文件中有public申明的类 例: public class Student{}源文件名和类名必须一致否则编译失败
在java文件中可以有多个类 但只能有一个public类型的类。、

数组:

申明数组:type [] varName=null;

为数组分配内存空间:varName=new type[length];

数组元素下标从0开始。

在创建数组时为其赋值的方式:

int n1[]={1,2,3};

int n2[]=new int[]{1,2,3};

错误方式: int n3[]=new int[length]{2,3,4};

类和对象:

面向对象的三大特征:封装 继承 多态

java中的每个类至少都有一个构造器  如果没有编写构造器 系统将默认提供一个无参的构造器 public Student(){} 一旦显示的定义了一个或多个构造方法 系统将不再提供默认的构造方法。

构造器的主要作用是 初始化对象的属性

形参和实参:

方法的重载:

同名方法通过 参数个数的不同或者参数类型不同进行重载  返回值可以不同

方法的重写:

变量个数 类型 返回值必须相同

子类方法的访问权限不能比父类的小

void add(int a,int b){}

void add(int a,int b,int c){}

void add(String a,int b){}

继承(解决代码的冗余):

子类继承父类的变量和方法但不能继承父类的私有成员变量和方法

super:

是子类对象方法中父类对象的引用

使用:1.在子类方法中调用父类对象的成员

     2.在子类的中通过super(参数)的方式调用父类的构造器 例super(“耗子”,55);

    默认情况下子类去调用父类无参的构造器   如果父类写了带参的构造器则系统不再提供默认的构造器而子类中必须调用一个父类的构造器

多态:

父类类型的变量指向一个子类对象,在调用父类中易已被重写的方法是就会产生多态

在多态的情况下 不能调用子类新添加的方法

在多态的情况下 可以对对象进行强制转换,只有在有父子关系的情况下可以进行强制转换

比较字符串用equals()

static 方法不能调用非static变量  非static方法可以调用static变量

单子模式:

1.私有化构造器

2.把对象私有静态化

3.提供对象的公有get方法,以供外部使用该对象

public class Single {
    private Single(){}
    private static Single instance = new  Single();
     public static Single getSingle(){
         return instance;
     }
}
public class TestSingle {
    public static void main(String[] args) {
        Single instance1 = Single.getSingle() ;
        Single instance2 = Single.getSingle();
        System.out.println(instance1==instance2);//true
    
    }
}

final:是最终的属性不能被修改 即常量

final变量 必须在申明时被初始化 或在非静态代码块中或在构造器中被初始化

抽象 abstract:

有抽象方法的类一定是抽象类  抽象类不一定有抽象方法

抽象类不能被实例化

抽象方法没有方法体 只有方法是申明

接口:

接口是抽象方法和常量的集合 不能有其他的任何成分

接口中的方法默认为  public abstract

    常量的默认修饰为:public static final

接口之间可以继承

内部类:

异常处理:

1.数组下标越界异常

2.数学异常

3.类型转换异常

4.空指针异常

catch后可跟多个catch但是父类不能再前面

finally语句一定会执行     try(){}后可直接跟finally

throws关键字抛出异常 可同时抛出多个异常 多个之间用,分割。

重写方法不能抛出比被重写方法更大的异常

java集合

Set:无序不可重复的集合

List:有序可重复的集合

Map:有映射关系的集合

foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
     引用了x的java语句;
}

Set集合:

无序 不可重复 若重复添加失败

HashSet 是Set最典型的实现

HashSet是根据hashCode()值来存放元素所以无序
判断两个元素相同的标准是equals()值返回true 

HashSet线程是不安全的

LinkedHashSet有序

时间: 2024-10-17 21:49:33

java基础复习1的相关文章

Java基础复习笔记系列 四

Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时,不能指定其长度.不同于C 数组的小标可以是整型常量或整型表达式. .length方法是显示数组的长度:数组.length;String.length();一个是属性,一个是方法.注意区分. 2.数组的内存分析? Array a[]; a = new Integer(15); /*这个a在栈中,在堆

Java基础复习㈥ 内存分配

1.方法区 类的全限定名.直接超类的全限定名.该类是类或者接口.访问修饰符.直接超接口全限定名: 运行时常量池.字段.方法.静态变量.到类装载器的引用.到类class的引用 2.栈内存 局部变量区.操作数栈.帧数据区 3.堆内存 存放由new创建的对象和数组 *栈内存和堆内存 栈存取速度比堆快,仅次于寄存器,栈数据可以共享.栈中主要存放一些基本类型的变量和对象句柄 4.本地方法栈内存 5.String ① String str1 = "abc"; String str2 = "

Java基础复习笔记系列 五 常用类

Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String s2 = “hello”:结论:s1 == s2. 字符串常量放在data区. 3. String s3 = new String("hello"); String s4 = new String("hello");结论:s3 != s4.但s3.equals(s4).

Java基础复习笔记系列 七 IO操作

Java基础复习笔记系列之 IO操作 1. 2.

Java基础复习笔记系列 十 GUI

Java基础复习笔记系列之 GUI 1. 2.

Java基础复习笔记系列 九 网络编程

Java基础复习笔记系列之 网络编程 1. 2.

Java基础复习笔记系列 八 多线程编程

Java基础复习笔记系列之 多线程编程 1. 2.

Java基础复习笔记系列 六 容器

Java基础复习笔记系列之 容器 1. 2.

java基础复习之对于String对象,可以使用“=”赋值,也可以使用new关键字赋值,两种方式有什么区别?

String类型是实际工作中经常用到的类型,从数据类型上划分,String是一个引用类型,是API中定义的一个类.所以String类型的对象可以用new创建,例如String name=new String("string");为变量name进行赋值,值为"string" ,然而String类比其他类有些特殊,可以使用'='直接赋值,如 String name="string";也是为变量name进行赋值,值为"string"

Java基础复习第一天

前言:看了这么多人的博客文章,和订阅了好多博主的微信公共号,自己也有写过博客的想法,但是被各种借口给打击了(例如,语文不行,没有词汇等等),都没有能坚持下来,想想自己也是够了..今天就从Java基础知识的复习开始,定期写写博客,算是给自己一个狠心和交代!贵在坚持,对自己说一句话:望好自为之. 关键词: JAVA   环境变量   常量   变量 1.Java 的特性:简单性.面向对象.可移植性. 2.Java 是一种编译型和解释型相结合的语言,主要是因为: a.利用编辑器编写java源程序  -