卡码网Java基础课 | 1. A+B问题I

卡码网Java基础课|1. A+B问题I

  • 类和面向对象
  • new关键字
  • 程序基本结构
  • 方法的组成
    • 返回类型ReturnType
    • 函数名methodType
    • 形参列表
    • 方法体
  • 输入输出
    • Scanner类的使用
  • 变量
  • 完整代码
  • 输入:Scanner类的使用
  • private和public

类和面向对象

一个类具有一些“属性”和“方法”:

  • “属性”表示类所具有的特征,我们可以描述为基本状态;
  • “方法”表示类的行为和功能,我们可以描述为动态行为。
Person {
    // 姓名、性别、年龄等属性
    name;
    gender;
    age;
      // 吃饭的方法
      eat() {
    }
    // 行走的方法
    walk() {
    }
}

new关键字

创建Person实例需要使用new关键字。

  • new Person()创建一个实例
  • 将这个实例起名为xiaoming
  • Person xiaoming表示这是一个Person的实例,xiaoming属于Person这种类型
Person xiaoming = new Person();

程序基本结构

创建一个Main.java,必须包括下面的基本结构:

public class Main {
  public static void main(String[] args) {
    
  }
}
  1. 使用class关键字定义一个public(公开)类,类的名称是Main
public class Main {
}

在Main.java文件中,必须存在一个与该文件同名的类,类要使用class这个关键字里定义,Main是类的名称,类的名称通常以大写字母开头, public表示这个类是公开的,这意味着你可以在任何其他类中访问。

  1. 类中还必须包括一个方法main,Java程序总是从main方法开始执行,表示这是Java程序的入口, 下面的代码是main方法的固定写法。
public static void main(String[] args) {

}
  • public是一个访问修饰符, 除了可以修饰class外,也可以修饰方法,表示该方法是公开的,对于main来说,它必须是public的
  • 关键字static是另一个修饰符,它表示静态方法,后面我们会讲解方法的类型,目前,我们只需要知道,Java入口程序规定的方法必须是静态方法
  • void 表示该方法不返回任何值
  • main是方法的名称,作为程序的入口点,而且入口的名称方法名必须为main
  • String[] args:这是 main 方法的参数

方法的组成

一个方法主要包含四个部分:返回类型,方法名,形参列表,方法体

ReturnType methodName(/* 参数列表 */) {
  // 方法体
}

返回类型ReturnType

方法名之前放置一个关键字表示该方法的返回类型,这个关键字代表的含义是方法执行完毕会返回什么类型的值。
main 方法通常不返回结果,所以用void来修饰,因为它的主要目的是启动程序,而不是返回值。

函数名methodType

一个类可以有很多个方法,每个方法有不同的作用,为了区分这些方法,我们要给不同的方法起不同的方法名称,而且方法命名是有规范的。

形参列表

方法名之后的括号内填充的就是形参列表,它定义了方法在被调用时传递给方法的信息,参数可以有多个,不同参数之间用逗号分隔。
String[] args是 main 方法的参数,它表示的含义是一个字符串数组。

方法体

从左花括号{ }结束,这一部分就是方法体,方法体中可以有很多行代码,方法体中代码的执行产生不同的结果。

输入输出

在Java中,你可以使用标准输入(System.in)进行输入操作,使用标准输出(System.out)来进行输出操作,此外还需要使用到 Scanner 类(Java标准库中的一个类)。

  • System.in 是一个标准的输入流,它允许你从控制台(键盘)获取用户输入的数据。
  • Scanner 是 Java 中的一个类,它位于 java.util 包中,它提供了一种简便的方式来处理输入数据。

Scanner类的使用

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        sc.close(); // 关闭Scanner对象
    }
}

变量

所以我们首先需要定义两个变量a,b代码这么写:

int a; 
int b;

或者

int a, b; 

在定义变量的时候,也可以给他一个初始值,如果不写初始化值的话,系统会帮助我们设置一个默认值0。

int a = 1; 

现在可以使用一个变量来保存使用Scanner读取的数字了,Scanner使用nextInt()方法读取并返回下一个整数,我们使用该方法读取两个整数,并存放在变量a和变量b中。

int a = sc.nextInt(); 
int b = sc.nextInt(); 

完整代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a+b);
        sc.close(); 
    }
}

但这样只会运行一次,如果要持续运行得要一个循环。

while(sc.hasNextInt()) {
  int a = sc.nextInt();
  int b = sc.nextInt();
  System.out.println(a+b);
}
// 引入Scanner
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
      // 创造一个Scanner对象
        Scanner sc = new Scanner(System.in);
      // 判断是否还有下一个数据
          while(sc.hasNextInt()) {
          // 读取两个整数并将它们存储在变量 a和 b中
            int a = sc.nextInt();
            int b = sc.nextInt();
          // 输出a和b的值
            System.out.println(a+b);
          }
        sc.close(); // 关闭Scanner对象
    }
}

输入:Scanner类的使用

  • next():读取下一个字符串。
  • nextInt():读取下一个整数。
  • nextDouble():读取下一个双精度浮点数。
  • nextLine():读取下一行文本。
  • hasNext():判断是否还有下一个输入项。如果有,返回 true;否则返回 false。
  • hasNextInt():判断是否还有下一个整数输入项。
  • hasNextDouble():检查是否还有下一个双精度浮点数输入项。

private和public

在程序基本结构中,我们介绍了用public来修饰类, 这里的public是一个访问修饰符,可以用来修饰类、属性或者方法,表示被修饰的成员对于其他所有类都是可见的

除了public外,还有private修饰符和一些其他的修饰符,private表示被修饰的成员只能在包含它的类中被访问, 其他类无法访问类中的 private 成员。这通常用于隐藏类的内部细节。

public class A {
  private int age;
}
public class B {
  // 无法在 B 类中直接使用age
}

你可能感兴趣的:(Java学习,java,开发语言)