Java编程基础

Java程序的构成

一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。

  • 对象(Object):对象是类的一个实例,有状态mjmj和行为。例如:一条狗是一个对象,它的状态有颜色、名字、品种;行为有:摇尾巴、叫、吃等。
  • 类(class):类是一个模板,它描述一类对象的行为和状态。
  • 方法(method):方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

先来看一下Hello World的代码:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

在这里的 Hello World只涉及了类,方法和语句。该Java程序定义了一个类 HelloWorld,该类的名字与 .java文件的名字相同,其中的main方法是程序的入口,而“打印”这个功能是由一个语句实现,即:System.out.println("Hello World!");
下面两点有关Java的书写方式:

  • Java中的语句要以;结尾
  • 用花括号{}来整合语句,形成程序块。通过程序块,我们可以知道程序的不同部分的范围,比如类从哪里开始,到哪里结束。

Java关键字

Java的关键字是被Java语言赋予了特定含义的单词,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。
Java关键字有如下表所列,目前共有50个Java关键字,其中“const”和“goto”这两个关键字在Java语言中并没有具体含义:


关键字1.png

关键字2.png

Java标识符

Java语言中,类、变量、常量、方法都需要名字,我们统统称之为Java标识符。
标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。
关于Java标识符,有几点需要注意的:

  • Java标识符由数字,大小写字母(Java中是区分大小写的)和下划线(_),美元符号($)组成
  • 所有的标识符都应该以字母、美元符、或者下划线开始,首位不能是数字
  • 关键字不能用作标识符

下面的标识符是合法的:

zhongGuo, Zhong_Guo, $money, _Java_learning, OK, _3th, _3_

下面的标识符是非法的:

#zhongguo, 100years, class, &boy, if

在Java中,还有一些约定成俗的命名规则,希望同学们在写代码的时候都能遵循这些规则:

  • 类和接口名。每个字的首个字母大写,含有大小写。例如:MyClass、HelloWorld、Time等
  • 方法名。首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如:myName、setTime等。这种命名方法叫做驼峰式命名。
  • 常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分割。对象常量可大小混写。例如:SIZE_NAME。
  • 变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知意

命名过程中尽量做到见名知意,方便后期查看和修改代码,也方便其他人员的阅读。

变量和常量

在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量。

变量

变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态。为了方便地引用变量的值,在程序中需要为变量设定一个名称,这就是变量名。
由于Java语言是一种强类型的语言,所以变量在使用之前必须首先声明。

语法格式

  • 数据类型 变量名称; 或者 数据类型 变量名称 = 变量值;
    例如:int x =3;
    在该语法格式中,数据类型可以是Java语言中任意的类型,如int,它可以用来不断的存放同一类型的数据,并可以反复使用,变量的类型是固定的,其值是可以被改变的。
  • 演示
public class TestDemo { 
    public static void main(String[] args) {
        //定义一个整数型变量i
        int i = 10;
        System.out.println(i);
        //更改变量i的值
        i = 15;
        System.out.println(i);
    }
}
  • 测试题
// 交换两个变量的值
public class day2 {
    
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c;
        System.out.println("交换前的值:a =" + a + ", b =" + b);
        c = a;
        a = b;
        b = c;
        System.out.println("交换后的值:a =" + a + ", b =" + b);
    }
}

变量(variable)占据一定的内存空间。不同类型的变量占据不同的大小。Java中的变量类型如下:
Java数据类型.jpg

定义变量的注意事项

1.作用域

  • 在Java中一对{}就是一个作用域
  • 同一作用域不能使用相同的变量名
  • 当前作用域内定义的变量,只能在当前作用域内使用
  • 演示
    public static void main(String[] args) {
        int a = 1;
        //出现错误,当下面有代码需要使用到变量a的时候, jvm不知道用哪一个
        int a = 2;  
        System.out.println(a);
    }
    

2.初始化值

  • 局部变量在使用之前必须要先赋值
  • 没有具体的值,使用起来没有意义
  • 演示
    public static void main(String[] args) {
        int a;
        //这里会报错, 如果没有值, 操作a是没有意义的
        System.out.println(a);
    }
    

3.一条语句可以定义多个相同类型的变量

  • 演示
    public static void main(String[] args) {
        //只定义变量不赋值
        int a,b,c;
        //定义变量并赋值
        int d =5,f=5;
    }
    

Java中主要有如下几种类型的变量:

  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量)

变量的概念实际上来自于面向过程的编程语言。在Java中,所谓的变量实际上是基本类型(premitive type)

常量

常量代表程序运行过程中不能改变的值。可以理解为特殊的变量,它的值设定后,在程序运行过程中是不可能被改变的。
常量的语法格式和变量类似,只需要在变量的语法格式前面添加关键字final即可。在Java编码规范中,要求常量名必须大写。
常量的语法格式如下:

  • final 数据类型 常量名称 = 值;
  • final 数据类型 常量名称1 = 值1, 常量名称2 = 值2, ...常量名称n = 值n;

例如:

final double PI = 3.14;
final char MALE = 'M', FEMALE = 'F';
final String LOVE = "imooc";

在Java语法中,常量也可以首先声明,然后在进行赋值,但是只能赋值一次,示例代码如下:

final int UP;
UP = 1;

final用于声明属性(常量),方法和类,分别表示属性一旦被分配内存空间就必须初始化,它的含义是“这是无法改变的”或者“终态的”。
程序中,使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。

注释

说到注释,在我们写代码的时候,为了方便理解和阅读,往往会在相关的代码附近添加说明文字,也就是我们说的注释。注释是为了防止编译器在编译的时候将我们的注释也一并编译了,导致程序出错,所以在编译的时候,编译器会自动跳过我们编写的注释。
Java的注释格式有三种:

  • 行注释\\:只在当前行起作用
  • 多行注释/*...*/:可以在多行都起作用
  • 文档注释/**...*/:可以标示文档结构,java提供了文档注释扫描工具,可以自动生成文档
    下面是演示:
  • java代码
public class HelloWorld {
    
    /**
     * 获取两个整数中最大的那个
     * @author 标明开发该类模块的作者,可以写多个,生成的文档中会以","号隔开
     * @version 标明该类模块的版本  只能写一次
     * @see 参考转向,也就是相关主题 
     * @param 对方法中某参数的说明 
     * @return 对方法返回值的说明 
     * @exception 对方法可能抛出的异常进行说明
     */
    public static int getMax(int a,int b){
        //比较两个数,将最大整数的赋值给c
        int c = a > b?a:b;
        /*
         * 在注释内容太多的时候, 使用多行注释
         */
        return c;
    }
}
  • dos命令
javadoc HelloWorld.java -d d:\\my

你可能感兴趣的:(Java编程基础)