JAVAday15

复习{
  1.两个数组合并
  2.二分法 查找数组中元素
    数组必须是有序的;
    
  int[] arr= {1,2,3,4,5,6};

  int low = 0; //数组的起始下标
  int high = arr.length - 1;
  
  int key = 1;
   
  int middle = 0; 中间元素的下标
  
  while(low<=high){
       middle = (low + high)/2;
       if(arr[middle] < key){
           low = middle + 1;
       }else if(arr[middle] > key){
           high = middle - 1;
       }else{
           break;
       }
  }
    
    if(low <= high){
        System.out.println(middle);
    } else{
        System.out.println(-1);
    }
--------------------------------------------------
Oop: Object-Oriented Program 面向对象编程 
       对象     以---的方式

在生活中是如何解决问题的?
 以面向过程的思维方式解决问题:
  例如:...

面向对象的思想? 什么是面向对象?
  我们在程序中要以面向对象的思维方式解决问题,
  例如:当我们遇到一个问题的时候,先不考虑如何解决问题,
  现将问题域中的 对象 找到 (定义类),在设计类的 功能或属性
  最终归 进行 调用 并执行
 
类和对象的关系?
  类是 对象的 概念  、 抽象 、 模板
  对象 是类的 一 个 具体实例
  
是先有 类 , 然后 根据类 来 构建 对象;

1.类的定义:
      语法结构:     public class Person{  类名 首字母大写
          
              } 
2.对象的创建:
      语法结构:  类名 变量名 = new 类名();      new这个单词在java中 是在堆内存开辟空间
           Hero hero = new Hero();     引用
           System.out.println(hero);      
           com.oracle.test.Person@12db2342         
3.类的组成部分:
     1.属性 : 成员属性 ,
          public 数据类型 变量名;
          
          Hero hero = new Hero();
        //当这个类 通过 javac 编译成 class ,java class ---> 将这个类的
        结构加载到 jvm 中, 他会自动初始化成员变量
        public class Hero{
             public String name = "张三";
             int age;
             
        }          
          System.out.println(hero.name);
          System.out.println(hero.age);
     
     2.行为 , 功能, (函数  , 方法)        
        1)无返回值 无参数
            public void eat(){
                 //方法体
            }
        2)无返回值 有参数
            public void eat(String food){
                 
            }
           3)有返回值 无参数
            public String eat(){
                 return "面包";
            }
        4)有返回值 有参数
               public String eat(int money){
                    return "花了"+money+"元买了面包";
               }
======================================================
类的组成部分: 5
 1.成员属性
 2.方法 , 函数
 3.构造器: 
 
构造器: 
  构造函数, 构造方法
  
语法结构:
   pubilc 类名(参数列表){
     //方法体
   }
 
构造方法是不是方法?
  是方法, 但是 是 特殊方法, 没有返回值  
  
构造方法的作用是什么?
  1、规范对象的创建
  2、 给成员属性赋值 
   
 我们在创建类时,没有手动 创建构造方法, jvm虚拟机 会默认
 给我们一个无参数的构造方法 ,供你使用
  
方法的重载: 
    在同一个类中,方法名相同,参数列表不同, 与返回值无关
       这种现象 被称为 方法的重载 (构造方法, 普通方法)

  不同: 参数顺序, 类型, 个数 的不同
      

java中 给 属性赋值: 
  1. =  等号赋值 
  2.构造方法赋值

类中有两种方法:
  1.普通方法:  这个类的功能;
  2.构造方法:  给这个类创建对象, 给属性赋值  
  
方法的相互调用:
 1.普通法的相互调用:
    在代码的任何地方 调用对方的 方法名(); 即可
    
 2.构造方法的相互调用:
     必须在方法体 的第一行, 用this(); 表示  
     
---------------------------------------------------
类的 组成部分: 
  1.成员属性
  2.普通方法
  3.构造方法
  
  4.构造块儿, 游离块儿

  5.静态块儿 : static
 
 游离块儿: 
   语法结构: {     }
      游离块 永远都比 构造方法  优先执行,
      一个类中可以有多个 游离块儿 , 他们会根据 类中的顺序 依次执行
  
 静态块儿:  作用大
    语法结构:
     static{
         
     }
     
   静态块儿 永远比游离块儿 优先执行  

  static: 可以修饰 属性, 可以修饰普通方法, 不能修饰 构造方法
              还可以修饰类 (内部类 一个类 包含了一类 )
              例如 : 
       public class Cat{       
                //内部类
        static class SmallCat{
            作用: 为了 更好的封装
        }      
    }
  
作用:
 1)static可以修饰属性, 通过static修饰的属性,被修饰的属性
      是静态属性, 可以通过类名.属性名   调用,而且 只被加载一次;

 2)static可以修饰普通方法, 被static修饰的方法是 ,静态方法
       可以通过类名.方法名(); 调用执行
  
 3)static 还可以修饰类 (内部类  : 就是一个类 包含了一类 )
              例如 : 
       public class Cat{       
                //内部类
        static class SmallCat{
            作用: 为了 更好的封装
        }      
     }
     
***静态方法中 必须加载 静态资源(静态属性和 静态方法)     
      非静态方法 可以加载 静态资源     
======================================================
封装: 面向对象的 4大特性之一:   一种思想
  封装 , 继承  ,多态  , 抽象

  封装 : 目的 就是为了 隐藏 程序的细节, 提高 程序的 安全性 , 提高
       程序的复用性;     

 1.冒泡排序
 
   int[] array = {4,3,1,2,3,3,5,6};

    for

定义一个工具:
  可以帮助我们 完成一些 特定的功能


 把 n 个方法 放到类中 ,类封装了 多个方法
 
 你把代码的细节 放到方法中, 方法将功能封装了
 
什么情况下会用到 属性的访问器: 类的成员属性 被私有化了
属性的访问器:  setter , getter方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值