华清远见-重庆中心-JAVA面向对象阶段技术总结/知识点梳理

方法

概念

一段独立的代码,能完成一件事情,可以被重复调用。

方法可以减少重复的代码。

如何调用方法

通常情况下,方法通过对象或类名使用".“操作符进行调用,也可能不用”."直接调用。

//sc就是Scanner类的一个对象
Scannser sc = new Scanner(System.in);
//通过对象sc调用Scanner类中的nextInt()方法
int inp = sc.nextInt();
//Arrays是一个类,这里通过类名调用
Arrays.sort(数组);

通过类名调用

Math类

Math类是Java提供的一个工具类,用于数学相关的运算。

其中的方法都是被static关键字修饰的静态方法,调用时,直接通过类名调用。

import java.util.Random;
  /*
  * 方法的概念
  *
  *
  * */
 public class FunctionTest {
   
  /*
  * 程序的入口,就是一个方法,称为主方法
  *
  * */
  	public static void main(String[] args) {
   
     //Math类的使用
     //Math类是一个数学工具类,包含了很多数学计算相关的方法
     //Math类中的方法都是被static修饰的静态方法,调用时直接通过Math类名访问

     //求绝对值
     int res = Math.abs(-5);
     System.out.println(res);
     //求最大值
     int max = Math.max(1, 5);
     System.out.println(max);
     //得到a的b次幂
     double num = Math.pow(2, 3);
     System.out.println(num);

     //开平方
     System.out.println(Math.sqrt(16));
     //开立方
     System.out.println(Math.cbrt(27));

     //四舍五入
     System.out.println(Math.round(2.4));
     //向上取整(小数部分是非零时,向前进一)  .1~.9都会进一
     System.out.println(Math.ceil(5.0));
     //向下取整(小数部分是非零时,去掉小数)  .1~.9都会去掉
     System.out.println(Math.floor(9.9));

     //round就是按数轴四舍五入向右取整
     System.out.println(Math.round(-1.5));//-1

     //得到[0,1)区间内的随机数
     System.out.println(Math.random());

     //得到[3,10)区间内的随机数
     //根据Math.random()生成[min,max)
     //Math.floor(Math.random()*(max-min)+min)

     //圆周率
     System.out.println(Math.PI);
     //自然常数
     System.out.println(Math.E);

 }
}

通过对象调用

创建对象:类名 对象名 = new 类名();

 //创建一个Random类的对象rd
  Random rd = new Random();
  //生成[0,10)范围内的随机数
  int num = rd.nextInt(10);

在同一个类中,方法A调用方法B

public class FunctionTest {
   
  public void a(){
   

   }

   public void b(){
   
       //调用本类中的另一个方法
       a();
   }
}

自定义方法

自定义方法要写在类中。

修饰符  返回值类型  方法名(参数类型 参数名,参数类型 参数名...){
   
       方法体
   }
  • 返回值类型、方法名和参数列表(小括号中的内容)是组成方法的三要素
  • 返回值类型可以是任意数据类型(原始类型/引用类型)
  • 小括号中的内容称为参数列表只需写参数类型和参数名,多个参数用逗号隔开。可以没有参数,但必须要有小括号
  • 访问修饰符可以不写,会有默认的修饰符
  • 不同的返回值类型,要在方法体中返回(return)对应类型的结果,如果没有返回值,用void

方法的分类

  • 无参数无返回值

    //打印100句hello world
      void printHello(){
          for(int i=0;i<100;i++){
              System.out.println("hello world");
          }
      }
    
  • 有参数无返回值

//打印参数
void sayHello(String name){
   
    System.out.println("hello"+name);
}
  • 无参数有返回值
//返回年份
int getYear(){
   
    return 2022; 
}
  • 有参数有返回值
//根据出生年份,计算年龄
int getAge(int birth){
   
    return 2022-birth;
}

总结

  • 无返回值的方法,返回值部分要写成void
  • 有返回值的方法,方法体中必须要写上return,且要在return后写上对应返回值类型的数据
  • 没有返回值的方法体中,也可以使用return关键字,但后面不能有值。只要出现return关键字,就不再执行后续代码
  • 有返回值的方法在调用时,需要接收返回的数据才能使用该数据
  • 方法定义时的参数称为形式参数,简称为形参,方便在方法体中使用。方法调用时传递的值称为实际参数,简称为实参,只需要保证满足形参的数据类型即可,与形参名无关

两种编程思想

面向过程编程

Procedure Oriented Programming 简称POP

是一种基本的编程思想,是将一件事按流程逐步实现。

这种思想强调事情完成的过程,分析步骤写出相应的代码。

如猜数游戏,每一个步骤都是能按顺序用代码描述出来,逻辑清晰。

但如果逻辑复杂,如xxx管理系统,则无法使用POP的思想实现。

C语言就是一门标志性的面向过程编程语言。

Java基础部分写的所有代码,都是面向过程的,都是一步步按流程执行。

面向对象编程

Object Oriented Programming 简称OOP

是当主流的编程思想,是创建解决问题的对象,赋予对象对应的行为和特征,让这些对象互相配合(调用
对象的方法)完成。

这种思想致力于将计算机中的世界,描述的和现实中一致的思想。

不同思想处理同一个问题

面向过程编程和面向对象编程的区别

面向过程

优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。
缺点: 没有面向对象易维护、易复用、易扩展

面向对象

优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点: 性能比面向过程低

总结

面向过程:亲力亲为,侧重于分析完成事情的过程。
面向对象:所有事情交给相应的对象完成,侧重于如何创建解决问题的对象。

类和对象

类Class

具有相同属性和行为的对象的集合,称为"一类"。可以理解为模板。

属性:描述对象的特征,在程序中,通过定义变量的形式表现属性。

行为:描述对象的动作,在程序中,通过定义方法的形式表现行为。

在程序中,通过定义一个class来定义一个类。在类中定义变量描述属性,定义方法描述行为。

定义类

[修饰符] class 类名{

//属性(变量)

//行为(方法)

}

/*
 * 定义一个类(模板)--Car小轿车类
 * 属性:变量
 * 	品牌
 * 	颜色
 * 	。。。
 * 行为:方法
 * 	行驶
 * 	停止
 * 	娱乐
 * 	飞行
 * 	。。。
 *
 * */
 public class Car {
   
   //定义属性
   String brand;//品牌
   String color;//颜色
   int seat=5;//座位数
   
   //定义行为
   void go(){
   
       System.out.println("在行驶");
   }

   void stop(){
   
       System.out.println("停下来了");
   }

   void fly(){
   
       System.out.println("飞起来了");
   }
} 

对象Object

对象是类的一个实例,是类的具体表现。

创建对象

类名 对象名 = new 构造方法([参数]);

创建的对象,通过"."操作符访问类中的非私有属性和方法。

类和对象的关系

对象是类的具体表现,类是对象的集合(模板)。

先定义类,才能通过该类创建对象。

成员变量和局部变量

成员变量

定义在类中的变量,称为成员变量,拥有默认值

数据类型 默认值
整型 0
浮点型 0.0
布尔型 false
字符型 空字符
引用类型(数组、类、接口) null
public class Car{
   
      String name;//这就是一个成员变量,默认值为null
 void info(){
   
      //这里name虽然没有赋值,但是它是一个成员变量,属于引用类型,默认值为null
      System.out.println("车的名字:"+name);//如果不赋值,最终打印"车名:null"
  }
}

局部变量

定义在方法中的变量,称为局部变量。默认有默认值,赋值后才能使用

   public class Test{
   
       public static void main(String[] args){
   
           //这里的num和name就是一个局部变量,没有默认值
           int num;
           System.out.println(num);//这里无法通过编译,因为num没有赋值
           String name="小吴";
           System.out.println(name);//这样才能正常输出
       }
  }

成员变量和局部变量的区别

1、在类中的位置不同

成员变量:在类中方法外面

局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中)

2、在内存中的位置不同

成员变量:在堆中(方法区中的静态区)

局部变量:在栈中

3、生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法的调用或者代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失

4、初始值

成员变量:有默认初始值

局部变量:没有默认初始值,使用之前需要赋值

构造方法

概念

构造方法是一个特殊的方法,没有返回值,方法名和类名一致。

每个类在定义时,都有一个默认隐藏的无参数的构造方法,在创建对象时调用。

构造方法通常用于初始化成员变量。

public class Test{
   
     //这就是无参数的构造方法,默认就会存在,不过是隐藏的
     public Test(){
   
         
     }
 }

特点

  • 构造方法没有返回值(没有返回值这一部分,不是void),构造方法名必须和类名相同
  • 每个类默认有一个隐藏无参数的构造方法,方法体中没有内容,用于创建无参数的对象
  • 如果自己写了有参数的构造方法,默认无参数的构造方法就会失效。如果想要同时拥有带参数和不带参数的构造方法,就需要把它们都写出来
  • 构造方法可以限制创建对象时的参数
  • 构造方法不能通过“.”操作符访问,只能通过new关键字创建对象时自动调用,所以构造方法通常用于初始化成员变量

面向对象的三大特性–封装

封装

使用private关键字对属性进行修饰。再对外提供一组公开的get/set方法用于对该属性读取或赋值。

可以防止除自身类之外的地方对该属性就行访问。

这样做可以保护关键属性,隐藏类内部的实现细节,

步骤

  • 创建类,编写成员变量,给成员变量添加private修饰符

    public class Student{
             
        private int Id;    
        private String name;    
        private String major;
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 根据所提供的华清远见-c0rtexas9资料路径,在实验中涉及到了Linux系统标准IO的应用实验。Linux系统标准IO是指Linux操作系统提供的一套标准化的IO库,可以用于操作文件、输入输出等。以下是对该实验的简单描述: 这个实验主要是关于Linux系统标准IO的应用实验。在该实验中,我们可以找到程序的源代码,该源代码是用Linux应用程序的方式编写的。通过这个实验,我们可以了解和学习Linux系统标准IO的基本操作和使用方法。 Linux系统标准IO是一套非常强大和灵活的IO库,提供了一系列的函数和方法来操作文件和进行输入输出。在实验源码中,我们可以看到一些常见的标准IO函数,比如fopen、fclose、fprintf和fscanf等。 通过这些函数,我们可以打开和关闭文件,从文件读取数据或向文件写入数据。实验源码中包含了一些常见的操作,比如读取文件、写入文件、复制文件和查找文件等。通过实验,我们可以了解到如何使用这些函数来完成不同的操作。 此外,在实验源码中可能还会涉及到一些其他的Linux系统标准IO相关的知识点,比如文件指针、文件描述符和文件流等。这些知识点对于理解和使用Linux系统标准IO函数非常重要。 通过实验中提供的源代码,我们可以进行相应的实验操作,从而更好地理解和学习Linux系统标准IO的使用。同,我们也可以通过对实验源码的分析和调试,更深入地了解Linux系统标准IO的内部工作原理。 总之,通过这个实验,我们可以掌握Linux系统标准IO的基本操作和使用方法,从而提高我们在Linux系统中进行文件操作和输入输出的能力。 ### 回答2: 华清远见(英文名称为Far Infrared Technologies International Limited)是一家专注于红外光学技术研发及应用的企业。该公司的产品主要应用于安防监控、无人机、机器人、智能家居等领域。 关于"06. linux系统标准io实验"的实验资料包括了程序源码。在Linux操作系统中,标准I/O(Input/Output)库是用于进行文件读写和输入输出操作的一套API(Application Programming Interface)。标准I/O库提供了一系列函数,包括文件打开、读取、写入、关闭等操作,方便开发人员进行文件操作和输入输出。 这份实验资料中的源码,应该是用于展示和实践Linux系统标准I/O库的使用方法和技巧。通过编译和运行这些源码,可以了解如何使用标准I/O库来进行文件的读写和输入输出操作,包括打开文件、读取文件内容、写入文件等。 这些实验源码可以作为学习和实践Linux系统标准I/O库的参考资料。通过实际操作,可以加深对标准I/O库的理解和掌握,提高在Linux环境下进行文件操作和输入输出的能力。 总之,"06. linux系统标准io实验"的实验资料中的程序源码是用于学习和实践Linux系统标准I/O库的使用方法,通过编译和运行这些源码,可以加深对标准I/O库的理解和掌握,提高在Linux环境下进行文件操作和输入输出的能力。 ### 回答3: 华清远见-c0rtexa9资料中的程序源码目录为\linux应用实验源码\06. linux系统标准io实验\。这个实验中包含了一些关于Linux系统标准输入输出的代码示例。 在Linux中,标准输入输出是三个预先定义好的文件描述符,分别是0(stdin),1(stdout),2(stderr)。这些文件描述符与输入输出设备关联,比如键盘和屏幕。使用标准输入输出可以实现用户与程序之间的交互以及程序的输出显示。 在实验源码中,我们可以看到许多用于标准输入输出的函数,包括printf、scanf、getchar、putchar等。这些函数可以帮助我们进行输入输出操作。 在实验中,我们可以通过这些代码示例学习如何从标准输入读取用户输入,如何向标准输出显示结果。例如,可以使用scanf函数读取用户输入的数据,使用printf函数将处理结果输出显示。 通过实验中的代码示例,我们可以学习到如何处理标准输入输出的错误,如何进行格式化输入输出,如何使用缓冲区进行高效的输入输出等。 总之,华清远见-c0rtexa9资料中的\linux应用实验源码\06. linux系统标准io实验\中包含了一些关于Linux系统标准输入输出的代码示例,通过这些示例我们可以学习到如何进行标准输入输出操作,以及一些与之相关的技巧和注意事项。这对于学习Linux系统编程和开发应用程序非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值