Java基础知识点学习笔记

Java基本语法:

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

命名规范(见名知意):
1、类名 :所有单词首字母大写的 其他字母要小写 一般使用名词命名 如 PersonTestPerson
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
常用类:

       Objecte quals 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<E>
                    List<E>
                        ArrayList<E>
                        LinkedList<E>
                    Set<E>
                        HashSet<E>
                Map<K,V> ****
                    HashMap<K,V>
                Map.Entry<K,V> 表示Map集合中一个键值对对象
                    getKey()
                    getValue()

Collections 排序

public void changeSort(int type){ 
    Comparator<ItemBean> 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{总是要执行的代码}

网络编程

1、TCP
TCP属于即时通信,点对点连接进行通信,常用于开发聊天室。
学习的时候写过一个demo,放在了github上,需要的可以下载看看,地址https://github.com/wapchief/chat-room-JFrame
2、UDP
UDP是通过数据包来进行通信,UDP当中会涉及到数据的解析和传送。常用于音频、视频等数据的传输。

内部类
静态内部类
成员内部类
⒊局部内部类
⒋匿名内部类
枚举类型 和 类 以及 接口类似 是Jdk1.5之后提供的一种新的Java类型 类似于定义的常量

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

                //成员方法
            }

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容