软件园学生在线

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

登录与注册

[零] 龚佳轩

  • 龚佳轩
  • 2022-10-04
  • 0

Java基础语法

类、对象、方法和实例变量的概念

类

  • 类是一个模板,赋予属性与动作给其中的对象
    • 比如说将盖子作为一个类,那它的属性就是大小,形状和材料,动作就是打开和关闭
    • 盖子类的所有对象都具有上述属性和方法

      对象

  • 对象就是类的一个实例
    • 如井盖是盖子类的一个实例,瓶盖,洗衣机盖都是

      动作

  • 动作也叫方法,逻辑运算和数据修改都是在动作中进行的
    • 如在盖子类中,所有对象都具有'开'和'关'的方法(动作),相当于修改控制"是否通过"的数据

      属性

  • 属性也称变量,实例的属性就是实例变量
    • 如井盖的"大小"为"0.8米","形状"为"圆形","材料"为"铸铁"
    • 而瓶盖的"大小"为"0.05米","形状"为"圆形","材料"为"塑料"
  • 实例变量是某一实例所特有的属性,与其它实例不同
  • 若两个类实例属性与动作相同,那它们是相同的实例

    基本语法

    命名

  • 类名 : 类名的首字母应该大写.如果类名由若干单词组成,那么每个单词的首字母应该大写
    • 例如 StudentOnlineClassZero
    • 小写也不会报错,但会导致代码不规范的问题
  • 方法名 : 方法名的首字母小写.果方法名含有若干单词,则后面的每个单词首字母大写
    • 例如 openTheLid
  • 源文件名:源文件名必须和类名相同 当保存文件的时候,使用类名作为文件名保存,文件名的后缀为.java
    • 如果文件名和类名不相同会导致编译错误

      大小写

  • Java对大小写敏感,注意名称大小写的区分

    主方法入口

  • 所有的Java程序由<code class="prettyprint" >public static void main(String[] args)方法开始执行

    Java符号

    标识符

  • Java 所有的组成部分都需要名字.类名,变量名和方法名都被称为标识符
  • 关于 Java 标识符,有以下几点需要注意:
    • 所有的标识符都应该以 字母(A-Z或a-z) , 美元符($) , 下划线(_)开始
    • 首字符之后可以是 字母(A-Z或a-z) , 美元符($) , 下划线(_) 或 数字 的任何字符组合
    • 关键字不能用作标识符
    • 标识符大小写敏感
    • 合法标识符举例:age,$salary,_value, _1_value
    • 非法标识符举例:123abc、-salary

      修饰符

  • Java可以使用修饰符来修饰类中方法和属性
    • 主要有两类修饰符:
    • 访问控制修饰符 : default(系统默认的), public(公共的), protected(受保护的), private(私有的)
    • 非访问控制修饰符 : final(最终的), abstract(抽象的), static(静态的), synchronized(锁定的)

      Java数据类型

      byte:

    • byte 数据类型是8位、有符号的,以二进制补码表示的整数;
    • 最小值是 -128(-2^7);
    • 最大值是 127(2^7-1);
    • 默认值是 0;
    • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
    • 例子:<code class="prettyprint" >byte a = 100,byte b = -50

      short:

    • short 数据类型是 16 位、有符号的以二进制补码表示的整数
    • 最小值是 -32768(-2^15);
    • 最大值是 32767(2^15 - 1);
    • 默认值是 0;
    • Short 数据类型也可以像 byte 那样节省空间 一个short变量是int型变量所占空间的二分之一;
    • 例子:<code class="prettyprint" >short s = 1000,short r = -20000

      int:

    • int 数据类型是32位、有符号的以二进制补码表示的整数;
    • 最小值是 -2,147,483,648(-2^31);
    • 最大值是 2,147,483,647(2^31 - 1);
    • 默认值是 0 ;
    • 一般地整型变量默认为 int 类型;
    • 例子:<code class="prettyprint" >int a = 100000, int b = -200000

      long:

    • long 数据类型是 64 位、有符号的以二进制补码表示的整数;
    • 最小值是 -9,223,372,036,854,775,808(-2^63);
    • 最大值是 9,223,372,036,854,775,807(2^63 -1);
    • 默认值是 0L;
    • 这种类型主要使用在需要比较大整数的系统上;
    • 例子: <code class="prettyprint" >long a = 100000L,long b = -200000L
    • "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩 所以最好大写

      float:

    • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
    • float 在储存大型浮点数组的时候可节省内存空间;
    • 默认值是 0.0f;
    • 浮点数不能用来表示精确的值,如货币;
    • 例子:float f1 = 234.5f

      double:

    • double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;
    • 浮点数的默认类型为 double 类型;
    • double类型同样不能表示精确的值,如货币;
    • 默认值是 0.0d;
    • 例子:
      double   d1  = 7D ;
      double   d2  = 7.; 
      double   d3  =  8.0; 
      double   d4  =  8.D; 
      double   d5  =  12.9867; 
    • 7 是一个 int 字面量,而 7D,7. 和 8.0 是 double 字面量

      boolean:

    • boolean数据类型表示一位的信息;
    • 只有两个取值:true 和 false;
    • 这种类型只作为一种标志来记录 true/false 情况;
    • 默认值是 false;
    • 例子:<code class="prettyprint" >boolean one = true

      char:

    • char 类型是一个单一的 16 位 Unicode 字符;
    • 最小值是 \u0000(十进制等效值为 0);
    • 最大值是 \uffff(即为 65535);
    • char 数据类型可以储存任何字符;
    • 例子:<code class="prettyprint" >char letter = 'A';

      Java注释

  • 注释中的字符将被 Java 编译器忽略

    单行注释

    //这是单行注释 

    多行注释

    /*这
    *是
    *多
    *行
    *注
    *释
    */

    Java变量

  • Java 中主要有如下几种类型的变量
    • 局部变量
    • 类变量(静态变量)
    • 成员变量(非静态变量)

关于OJ的解析

第一题

public class Helloworld {
//公共的 类: Helloworld
    public static void main(String[] args) {
    //公共的 静态的 不要求有输出的 main函数 可以接受一个字符串数组
        System.out.println("helloworld!");
        //系统 输出 换行输出 helloworld
    }
}

第二题

import java.util.Scanner;
//引入 Java库util文件中的Scanner
public class Main {
//公共的 类: Main
    public static void main(String[] args) {
    //公共的 静态的 不要求有输出的 main函数 可以接受一个字符串数组
        Scanner sc = new Scanner(System.in);
        //Scanner对象 sc 赋值为 使用Scanner方法的系统输入
        String ans = "";
        //字符串对象 ans 赋值为 空字符串
        while (sc.hasNext()){
        //当 sc 有下一行输入时
            String str = sc.next();
            //字符串对象 str 赋值为 sc 的下一输入
            str = str + " ";
            //str 后加空格
            ans = ans + str;
            //ans 后添加(字符串)str
        }
        System.out.println(ans);
        //系统 输出 换行输出 ans
    }
}

第三题

import java.util.Scanner;
//引入 Java库util文件中的Scanner
public class Answer {
//公共的 类: Answer
    public static void main(String[] args) {
    //公共的 静态的 不要求有输出的 main函数 可以接受一个字符串数组
        Scanner n = new Scanner(System.in);
        //Scanner对象 n 赋值为 使用Scanner方法的系统输入
        int n1 = n.nextInt();
        //整数对象 n1 赋值为 n的下一行输入的整数
        while(n1>0){
        //在 n1 大于 0 时
            int n2 = n.nextInt();
            //整数对象 n2 赋值为 n的下一行输入的整数
            if(90<=n2 && n2<=100){System.out.println('A');}
            //如果 90<=n2 且 n2<=100 则 系统 输出 换行输出 A
            else if(75<n2 && n2<90){System.out.println('B');}
            //另外如果 75<n2 且 n2<90 则 系统 输出 换行输出 B
            else if(60<=n2 && n2<=75){System.out.println('C');}
            //另外如果 60<=n2 且 n2<=75 则 系统 输出 换行输出 C
            else{System.out.println('F');}
            //其他情况 则 系统 输出 换行输出 F
            n1 = n1 - 1;
            //n1的值减去1
        }

        n.close();
        //关闭系统Scanner资源
    }
}
龚佳轩
龚佳轩
© 2025 软件园学生在线
Theme by Wing