软件园学生在线

  • {{ item.name }}
  • 2023试用期

登录与注册

后端零 黄瑞择

  • koishi
  • 2023-10-15
  • 0

Java基础语法の笔记


一、类的概念与定义

  • 类的概念

Java是一个「面向对象」的编程语言,所谓对象,便是“类”的一个“实例”。

在计算机里,程序员便是赛博上帝,拥有造物的能力。在java中,我们通过定义「类」来创造一个物种。

  • 类的定义

我们通过如下代码定义类。

class 类名 {

}

创造一个物种,需要给它一个合适的名称。定义类也是如此。

一个合适的类名,通常符合以下要求:

  • 以字母开头
  • 首字母大写
  • 驼峰式
  • 名字符合该类的特征
  • 不与关键字或作用域内别的类名重复

接下来,我们便可以在这个类里定义属性与方法,以规定该类的特征与行为。

  • 类的调用

在使用类时,需要将类实例化。一个实例是一个类中的个体,可以理解为一个人与人类的关系——人类是一个类,而人是人类中的个体。

我们通过new语句来创造新的实例。

创建新实例的基本语句: 类名 实例名 = new 类名(参数)

接下来,我们就可以使用这个实例来操作这个类里的属性和方法了。

调用属性的基本语句: 实例名.属性名
调用方法的基本语句: 实例名.方法名(参数)

  • 类的继承

可以将继承关系理解为 界门纲目科属种 的关系。门继承了界,便称界为父类,门为子类。

在类的继承中,子类会继承父类的属性与方法。同时我们可以在子类中修改父类属性方法或者扩充自身的属性方法。通过继承,我们可以避免代码的重复,以实现简化。

继承类的基本语句:

class 子类名 extends 父类名{
}

二、变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。

  • 变量的定义

定义一个变量需要事先声明它的数据类型,并给该变量起一个合适的名称。

Java中,数据类型有以下几种:

  • char(字符)
  • byte(8位)
  • short(16位)
  • int(整型:32位,由-2^31到2^31-1)
  • long(64位)
  • float(单精度浮点数)
  • double(双精度浮点数)
  • boolean(布尔型,只包含true和false)

合适变量名和类名有相似的规则,区别在于变量名通常无需大写首字母。

定义一个变量的基本格式为 数据类型 变量名,例如:int deskmateAge

通过这个语句,我们定义了一个名为deskmateAge的字符串变量。显然,这个变量用于描述同桌的年龄。

  • 变量数据类型的转换

一些变量的数据类型可以由底向高位转换。例如:

char a = 'A';
int b = a;
System.out.println(b);

运行结果为:

65

通过上述过程,我们将字符 A 转换成了 A 的ASCII码 65 。

由低位到高位的顺序为:byte—>short,char—> int —> long—> float —> double

值得注意的是,当强制将数据类型由高位转向低位时,便有可能导致溢出或精度损失。例如:

double a = -1.1;
int b = (int)a;
System.out.println(b);

运行结果为:

-1

三、函数

函数如同一台机器,启动它并向它输入材料(输入值),它便能输出一个产品(输出值)。

例如:

public f(int x){
    int y = x * x;
    return y;
}

其中,x是一个输入值,y是一个输出值,f则是该函数的名称。

起一个合适的函数名与起变量名的规则类似。

四、输入输出语句

注意:使用Scanner前要先用import java.util.Scanner导入

Scanner input = new Scanner(System.in); //Scanner是一个类,要先用其创建一个实例
int a = input.nextInt();                //获取输入的整型类数据
String b = input.next();                //获取输入的数据,遇见空格停止读取输入
String c = input.nextLine();            //获取整行的字符串
System.out.println(b + c + a);          //输出语句,其中整型变量a会被自动转换为字符串

五、运算符

运算符表示一定的运算过程。

  • 算数运算符: + - * / % ++ -- 。算术运算符用于数学运算。

其中 + 除了用于数学相加外,还可以用于拼接字符串; % 表示取余; ++ 和 -- 分别表示自增和自减。

++ 或 -- 可以写在变量之前或者之后,区别在于作为前缀的运算优先级高于整个表达式,作为后缀的优先级则低于整个
表达式,即先增减再执行语句和先执行语句再增减的区别。

通常,我们的表达式和数学的表达式相似。例如:

int a = 1 ;
int b = 2;
int sum = a + b;

上述程序运行后,sum的值便为3。

但有时为了方便,我们还可以用赋值的方式运算。例如:

int a = 1;
int b = 2;
b -= a;

上述程序运行后,b的值便为1,表达式的含义为: b = b - a 。

 

  • 关系运算符: == != = 。关系运算符用于表达式真假运算。

其中 != 的意思为“不等于”; = 分别表示“小于或等于”和“大于或等于”。

关系运算符的运算结果只有 true 或者 false 。

 

  • 逻辑运算符: && || ! 。逻辑运算符用于逻辑运算。

其中 && 表示“与”; || 表示“或”; ! 表示“非”。

与关系运算符一样,逻辑运算符的结果也只有 true 或者 false 。

六、分支结构

Java中有两种主要的分支结构: 分别是if语句和switch case语句。其中switch case 语句判断一个变量与一系列值中某
个值是否相等,每个值称为一个分支。

  • if 语句结构:
    if (/*布尔表达式1*/){
    //布尔表达式1值为true时将执行的语句
    }else if (/*布尔表达式2*/){
    //布尔表达式1值为false且布尔表达式2值为true时将执行的语句
    }//可以写任意数量的else if
    else{
    //上述布尔表达式值都为false时将执行的语句
    }

 

  • switch 语句结构:
    switch(/*值*/){
    case value1 :
       //输入的值 = value1 时执行的语句
       break; //可选
    case value2 :
       //输入的值 = value2 时执行的语句
       break; //可选
    //可以写任意数量的case语句
    default : //可选
       //没有一个value与值相等时执行的语句
    }

    注意:若不写break,则在成功执行完一个case语句后,程序将继续执行接下来的case语句,直到遇见break。

七、循环结构

Java中有三种主要的循环结构: while循环、do...while、for循环循环。其中while循环若条件不符合则不会执行,
而do...while则至少执行一次。

  • while循环:
    while(/*布尔表达式*/) {
    //循环内容,布尔表达式成立的条件下重复执行
    }

 

  • do...while循环:
    do{
    //循环内容,布尔表达式成立的条件下重复执行,若一开始就不成立,则执行一次后跳出循环
    }while(/*布尔表达式*/)

 

  • for循环:
    for(/*初始化值; 布尔表达式; 初始值更新方式*/) {
    //代码语句
    }

    例如:

    for(int i = 1 ; i <= 10 ; i += 2){
    System.out.println(i);
    }

    输出结果为:

    1
    3
    5
    7
    9
koishi
koishi
© 2025 软件园学生在线
Theme by Wing