Java笔记整理(基础)

软件:一系列按照特定顺序组织的计算及数据和指令的集合
系统软件   应用软件
应用程序=算法+数据结构
机器语言  汇编语言  高级语言
1996  SUN发布JDK1.0   
C/S (c客户端)  B/S
类 对象    继承 封装 多态
计算机底层都以补码来存储数据
第一章:初识java  oop(面向对象 )
1.java语言特点
健壮性:去除了C语言中的指针 自动的垃圾回收机制(仍会出现内存溢出内存泄漏)
跨平台性:一次编译到处运行
半编译半解释性:实时编译
标识符:数字字母下划线美元符号
           数字不能开头,不能包含空格,区分大小写
           遇关键字可用下划线串联
包名:小写
类,接口:大驼峰法
变量名,方法名:小驼峰
常亮名:XXX_YYY_ZZZ
关键字:已经定义过的单词
保留字:还没定义,系统预留出来的单词
第二章:变量
    1.基本数据类型:
        1.1整数类型
            byte-----(1字节=8bit    -128~127)
            short----(2字节)
            int-------(4字节,默认类型)
            long-----(8字节.声明以L/l结尾不加默认int)
        1.2小数类型
            float-----(4字节,精确到7位,尾部加f/F单精度)
            double--(8字节,双精度,默认类型)
        1.3字符类型
            char-----(一个字符2字节)
            char a = 97  A = 65
        1.4布尔类型
            boolean-(true,false)
        注:char byte short 在运算时会默认转换成int
  
将double类型转化精度减小
    2.引用数据类型:
            String
    3.进制
        二进制:0~1
        八进制:0~7
        十进制:0~9
        十六进制:0~9  10~a 11~b 12~c 13~d 14~e 15~f
    4.类型转换:
    自动转换: 小转大
    强制类型转换: 大转小 ,易出现数据精度缺失
        int x = 100;
        byte y= (byte)x;
5.运算符:
取余 : % 取余结果看%前的正负号
自增 : ++    ,++x前自增     x++后自增
自减 :  --     , -- x前自减     x -- 后自减
r1 中 : x1=3        (x1++ +)=4            
*拼接 : (1+2+"1+2"+1+2)  = "31+212"
6.赋值运算符 :
x+=10   等同于  x=x+10
-=  *=  /=  %=                !=  ==  
7.与(且) 或(或者 ) 非(不是) :
真&&真 == 真  真||假 == 真  非真 == 假  (!)
短路现象:
&& : 第一个表达式为假   结果为假   第二个被短路
  ||   : 第一个表达式为真   结果为真   ~
按位%  按位|  不会短路
8.三目运算符 : A>B?a:b
9.优先级 :
    
第三章 :流程控制语句
1.条件语句
    1.1 : if语句
        1. if
        2. if.....else
        3. if.....else if.....  如果满足第一个if条件则停止
         
    1.2 : switch语句
2.循环语句:
    2.1 : while         先判断再循环    死循环while(true)
    2.2:do...while     先循环再判断
    2.3:for             死循环:删除条件   
    2.4:for...each
语法:for(1 2 : 3){代码块}
1是遍历后得到的数据的类型
2是遍历起的数据名 、
3是要遍历的数据
for(Integer i : a) {
System.out.print(i); 
}
注:可以使用debug模式进入循环中
3、循环中断
    break:终止语句块执行,并退出循环
    continu:只跳出被循环,继续执行下一次循环
    return :结束整个方法
4、数据类型:
    1、基本数据类型
        存储的是数据
    2、引用数据类型
        存储的是内存地址
        2.1、数组
        2.2、类
        2.3、接口
第四章、数组
    1、数组:可以看成是多个相同数据类型的组合,实现            对这些数据的统一管理
         注:数组长度确后就不能更改
            引用数据类型
数组的异常:存储超出(数组越界异常)
java.lang.ArrayIndexOutOfBoundsException
运行时异常:
编译时异常:在java文件---编译---class文件时报错
空指针异常:
冒泡排序:
工具类:
    Arrays:    sort排序
                   copyof复制
随机数:1~10
Random rd = new Random();
int x = rd.nextInt(10)+1;
【10,99】随机两位数
公式:(b-a+1)+a
(int)(Math.random( )*(99 - 10 +1) + 10
第五章、方法
main:程序的入口,主方法
方法不能嵌套
static  静态的   可直接调用
void   方法返回值  无返回值
方法的整体结构:
        [访问控制符][修饰符] 返回值类型 方法名(形参){
                    方法体
        }
分类:有参方法:say(String  name)
          无参方法:say(  )
          有返回值:int  say(  ){ return  10}
          无返回值:void say(  )
方法的重载:在一个类中允许同时存在一个以上同名的方法的现象叫做重载
条件:形参列表不同就行,返回值可不同
          1、方法的参数的个数不同就可以
            say(int x)say  (int x,int y)
          2、个数相同,类型不同也可以
            say  (int x)   say (Sring name)
注、say (String name1,int name2)
       say (int name1, Strng name2)     也可以
方法在被调用时才会执行
return:只能返回一次,但return可以写多个,结束方法
             必须与方发声明中的返回值类型匹配
             
普通方法被对象调用
静态方法被类调用也被对象调用
第六章:面向对象
    面向对象:注重结果
        1.将所有事情/业务交给不同的对象去完成
        2.万物皆对象
    面向过程:注重过程/步骤
        2.注重过程每一步都按部就班的去操作
主要:类的定义和对象的使用是java语言程序设计的核心
对象是通过类去创造的
概念:把相似的对象 划归一个类定义了通用的属性与方法
总结:类是对象的模板
成员变量:定义在类中(全局变量)
局部变量:定义在方法中
对象:实际存在的某类事物的个体,也称实际例
总结:对象的创建也被称为实例化类
构造方法:为属性赋值用,没有返回值,名与类名一致
创建对象用
注:1.如没写,类class中系统默认追加空参构造器
       2. 如果定义了构造器那么系统不会追加
       3.构造器在类的实例化是就被调用了  
       4.一般会默认追加一个空构造
       5.类中可创建多个构造器
特点: 1.没有返回值类型
         2.名与类名一致
         3.不能在方法中用return返回一个值
         4.一般访问权限为public
普通方法和构造方法:
    1.普通方法:完成业务    构造方法:类的实例化
    2.有无返回类型,值
匿名对象:一次性对象,使用完后就变为垃圾
垃圾回收机制:
    范围:仅适用于堆内存           栈不需要清理  先进后出
什么时候会变成垃圾?
    1.匿名对象使用完后
    2.Student s1 = new Student(1001,张三,男,沈阳科技         学院);
       s1 = null;
Student s1 = new Student(1001,张三,男,沈阳科技学院);
s1 = new Student(1001,李四,男,沈阳科技 学院);
张三变成垃圾
3.超出生命周期   前99次变为 
for(int i = 0;i<100;i++){
    person p = new person( );
}

this关键字:当前    代表本类对象
    1、引用实例(本类)变量:
         当方法中的参数与当前类的成员变量有相同名字时局部变量优先,成员变量被隐藏。
应用情况:
    1、方法中变量与属性重名时
    2、在一个构造方法中调用重载的其他构造方法
            this( )只能在构造器中使用且必须放在第一行
    3、也可在普通方法中使用:返回当前对象的引用

第七章:面向对象高级特性
    1、封装
    2、继承
    3、多态
封装:封装就是信息的隐藏,隐藏对象的实现细节,不让用户看到,是将东西包装在一起,然后以新的完整形式呈现出来。
1、私有化属性 
2、提供公有的方法存取属性
3、通过toString方法将类存储的地址里的数据转成               String   类型
优点:
1、让使用者只能通过事先定制好的方法来访问数据,可          以方便地加入控制逻辑,限制对属性的不合理操作
2、便于修改,增强代码的可维护性
3、可进行数据检查

继承:(类的扩展)
定义:继承是从父类(已有类)中派生出新的子类,新的子类能拥有父类的属性和方法,并能扩展自己新的属性和方法
person人类(父类)
Student学生类(子类) worker 工人类(子类) Dog(狗类)无法继承
发生继承的条件:
什么情况下两个类可以发生继承关系?
    子类可以在任何时候去代替父类进行操作
子类继承关键字extends  单词扩展
java 中类的继承其实就是类的扩展
特点:
1.子类继承父类的所有属性和方法,同时也可以增加自己的属性和方法。
2.Java中只能单继承,也就是说每个类只能有一个直接父类
3.一个父类可以有多个子类
子类实例化过程:
1、 子类实例化时先实例化其父类,然后实例化子类。
2、要先调用父类的构造方法,父类构造方法运行完毕,         才调用子类的构造方法。
3、如果因父类没有空构造产生报错的情况
    3.1可以为父类添加一个空构造
    3.2使用super
方法的重写:@override
一定存在继承或者实现的关系
方法的重写与重载的区别:
    1、重写存在继承或者实现的关系,重载不需
    2、重写改变方法体,重载改变形参列表
相同点:但是方法名都不变
使编码更高效
易维护
代码的重用
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值