返回 登录
0

Java基础知识点学习笔记

学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:492139965 我们一起学Java!

Java基本语法:

1、标识符 Java出现的名称 如源文件名 类名 变量名 方法名

命名规范(见名知意):

1、类名 :所有单词首字母大写的 其他字母要小写 一般使用名词命名 如 Person 如 TestPerson

2、变量名:第一个单词首字母小写 其他单词首字母大写 其他字母小写 一般使用形容词 如 stuAge

3、常量名:所有字母都大写 多个单词之间使用下划线隔开 如 static final int EXIT_ON_CLOSE=0

4、方法名:第一个单词首字母小写 其他单词首字母大写 其他字母小写 一般使用动词 如 void setAge(int age)

__2、变量 定义 变量的数据类型 变量名[=初始值];变量可能是基本数据类型 如 int age ;

也可能是引用数据类型的变量 如 Student stu ; __

3、常量 定义 final 数据类型 常量名 = 初始值;

4、数据类型

基本数据类型 byte, short, int, long, float, double, char, boolean

基本数据类型的转换

1、自动转换 :

小容量类型 自动转换为大容量类型

byte, short, char 参与运算时 先提升为int

如 short s1 = 1; short s2 = s1 + 1 ;

2、强制转换

大容量 转换为 小容量

注意:强制转换可能丢失精度

引用数据类型
数组

接口

枚举 :

1.默认实现java.lang.Comparable接口

2 .它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。

3.所有枚举值都是public , static , final的。

5、运算符
算术

      • / % ++ –
        比较运算符

= < <= != ==
所有的比较都可以应用到 int, short, byte, long, float, double, char

对于boolean只能使用 == 和 !=

引用数据类型 只能使用 == 和 !=

赋值运算符

= ,+=, -= ,*= ,/= ,%= 如:int x = 20; 逻辑运算符

&& 短路

& 非短路

|| 短路

| 非短路

! 非

程序的流程结构

顺序结构

选择结构

if(条件表达式){}else{} 

        switch case  break default 

        switch(表达式){// byte short char int String enum(也可以是枚举类型) 

            case 常量1: 

                语句块; 

                [break;] 

            case 常量2: 

                语句块; 

                [break;] 

            default: 

                默认的语句块 

                [break;] 

        }

循环结构

while(条件表达式){ 

        } 

        do{ 

        }while(条件表达式); 

        for(初始表达式;条件表达式;迭代表达式){ 

        } 

    流程跳转语句 

        break 

        continue

面向对象

1、数组定义和使用
定义数组:

数据类型[] 数组名;

如 int[] scores ; Student[] students ;

创建数组:

a、scores = new int[10]; 

  b、Student stu1 = new Student(); 

      Student[] students = {new Student(),new Student(),stu1}; 

  c、Student[] students = new Student[2]; 

            students[0] = new Student();

通过索引引用数组中的元素 从0 开始 到 length-1

数组有length属性表示数组的长度

注意:数组越界异常 (运行时异常) java.lang.ArrayIndexOutOfBoundsException

2、面向对象的相关语法:

类定义

[修饰符(public|final|abstract)] class 类名 [extends 父类][implements 接口1,接口2]{ 

                //成员变量 定义:[修饰符(public|protected|private|final|static)] 数据类型 变量名[=初始值]; 

                //成员方法 定义:[修饰符(public|protected|private|final|static|abstract)] 返回值类型|void 方法名([参数类型 参数名]) throws 异常类型,异常类型{ 

                } 

                //构造方法 定义:[修饰符(public|protected|private)] 类名([参数类型 参数名]){} 

                //成员内部类 

                //静态和实例代码块 

            }

对象创建

Student stu = new Student() ; 

            new Student().setAge(10); 

            new 构造方法([参数]);

构造方法定义与使用
在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的 成员变量 赋初值的专门方法

1、有参

2、无参

public class A{   

   public A(){   

      System.out.println("调用了无参的构造函数");   

   }   

   public A(String mess){   

      System.out.println("调用了有参的构造函数\n"+   

         "参数内容为:"+mess);   

   }   

}   

方法重载(overload)

同一个类中定义类多个同名方法 但是这些方法参数不同 

            参数不同: 参数数据类型不同 参数个数不同

_ 什么是引用_

引用就是某一变量(目标)的一个别名,对引用的操作与对变量 直接操作 完全一样。

引用的声明方法:类型标识符 &引用名=目标变量名;

【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名

_ 对象的内存地址_

_ this关键字的使用_

this指的是当前类的当前对象 保存当前对象的引用 

            1、调用当前对象的成员变量和成员方法 如  this.成员变量名 或者 this.成员方法 

            2、在构造方法调用同一个类的另外一个构造方法 如 this([参数])

3、继承
Java中类和类之间是单继承 接口和接口是多继承

所有的类默认会继承Object

主要目的:

重用,扩展性提升

子类会继承父类中非私有的成员(成员变量 成员方法 成员内部类)

4、重写把从父类继承来的方法在子类中重新实现

注意:

和重载的区别

方法的签名要和父类一致(

访问修饰符要大于或者等于父类中方法

抛出异常个数要少于或者等于父类中异常个数

抛出异常的类型要和父类相同 或者 是父类中抛出异常类型的子类型

)

_ super_
当前对象的父对象

1、调用父类对象的成员变量和成员方法

2、在子类构造方法调用父类的构造方法

_ static _
修饰符 注意 不能和abstract一起使用

成员变量

类变量 是当前类所有对象共享的 建议使用类名调用

成员方法

类方法 建议使用类名调用

static{

}

_ final_
修饰符

变量 成员方法 类 注意 final不能和abstract一起使用

final 、finally 、finalize三者之间的区别

5、封装
把一类事物进行抽象 取出它属性和行为封装到Java类中

属性的封装 将属性私有 提供get和set方法

private 修饰 成员变量 成员方法 构造方法

程序23种设计模式 其中有一种模式 :单例模式 保证某一个类在程序运行期间只有一个对象 而且获取多次是同一个对象

抽象类 和 抽象方法

abstract class 类名{ 

         }

抽象类中可能会定义抽象方法

[修饰符(public|protected)] abstract 返回值类型|void 方法名([参数类型 参数名]);
6、接口

[public] interface 接口名 [extends 接口1,接口2]{ 

                //常量 public static final 

                //抽象方法 public abstract 

            }

类实现接口

[implements 接口名1,接口名2]
7、向上转型
把子类对象 赋值 给父类型的引用变量 就是向上转型:

WindowListener wl = new WindowAdepater(){}; 向上转型之后 只能调用父类型中定义成员变量和成员方法,但是如果这个方法子类中写了 调用子类重写后的方法

8、多态
相同类型的引用变量 调用同一个方法表现出不同的行为

Animal a = new Cat(); 

            a.shout();//喵喵 

            a = new Dog(); 

            a.shout()://汪汪 

访问修饰符

public > protected > 默认的 > private
常用类:

Object 

                equals toString hashCode finalize wait notify notifyAll clone 

            String 

最常用的

String s0 = new String("hello"); 

                String s1 = "hello"; 

                String s2 = "hello"; 

            StringBuffer 

            StringBuilder  

包装类

八种基本数据类型 每一个基本数据类型对应一个包装类

将字符串转换为基本数据类型值的方法 xxx parseXxx

自动装箱 和 自动拆箱

java.util.Date ****表示日期时间的对象 

                Date() 

                Date(long mills) 

                long getTime() 

            java.util.Calendar **** 通过这个类可以实现 设置具体某一个日期时间 

            java.text.SimpleDateFormat **** 

集合

Collection 

                    List 

                        ArrayList 

                        LinkedList 

                    Set 

                        HashSet 

                Map **** 

                    HashMap 

                Map.Entry 表示Map集合中一个键值对对象 

                    getKey() 

                    getValue() 

Collections 排序

public void changeSort(int type){

Comparator comparator;

Toast.makeText(this, “type==”+type, 5).show();

switch(type){

case 1:{

// 价格从低到高排序

comparator = new PriceLowToHighComparator();

Collections.sort(list, comparator);

}

break;

case 2:{

// 价格从高到低排序

comparator = new PriceHighToLowComparator();

Collections.sort(list, comparator);

}

break;

}

adapter.setItemBeanList(list);

adapter.notifyDataSetChanged();

}

File 和 io流
io流和文件是Android常用技术

根据处理数据类型的不同分为:字符流和字节流

根据数据流向不同分为:输入流和输出流

线程
Java中线程的创建方式 以及保证类是线程安全

1、继承 java.lang.Thread

2、实现 java.lang.Runnable

重写他们的run方法 创建线程对象 调用start方法启动线程

掌握线程状态

异常
1、分类

运行时 :NullPointerException 空指针异常  

                                   ArrayIndexOutOfBoundsException  数组越界异常(数组下标越界) 

                                    StringIndexOutOfBoundsException    字符串越界异常(字符串索引越界) 

                                    ClassCastException     数字格式化异常 

                                    NumberFormatException    类转换异常 

                    编译期异常: IOException 以及它的子类(FileNotFoundException(文件未找到异常),SocketException(套接字异常)) 

                            PaserException 

2、异常处理的方式:

a、抛出 定义方式 指定 当前方法的方法体内可以能会产生异常类型

b、捕捉 try{ }catch(异常类型 对象名){}finally{总是要执行的代码}

网络编程

TCP

UDP

内部类
⒈ 静态内部类

⒉ 成员内部类

⒊局部内部类

⒋匿名内部类

枚举类型 和 类 以及 接口类似 是Jdk1.5之后提供的一种新的Java类型 类似于定义的常量

[public] enum 类型名{
            //枚举常量

            //成员方法
        }

之前学习java时候做的总结笔记,希望对一些初学者能有所帮助。

学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:492139965 我们一起学Java!

评论