Java基础-语法(上)

前言:本节简单介绍一下java的基础语法,了解java的语法规范、注释、标识符及修饰符相关内容。

1、语法规范

1)大小写敏感:如标识符 Hello 与 hello 是不同的。

2)类名:首字母大写。若类名由若干单词组成,则每个单词的首字母要大写,如 FirstDemo 。

3)方法名:

  • 驼峰命名:所有的方法名都以小写字母开头,若方法名含有若干单词,则后面的每个单词首字母大写,如stringDemo。
  • 见名知意:根据所写程序的用途和含义起名。

4)源文件名:源文件名必须同类名 ,否则会编译错误。源文件名的后缀为 .java(注意区别源文件和字节码文件,字节码文件后缀为 .class,不了解的可以看我的上一篇文章-运行java

5)主方法(main方法)入口:public static void main(String[] args) 方法是所有的 Java 程序的入口,都是从main方法处开始执行。

2、注释

2.1 三种注释方式

yaml 复制代码
单行注释://
多行注释:/* */
文档注释:/** */ (一般用在类、方法和变量上面,用来描述其作用)

注:为了美观,一般多行和文本注释的首行和尾行不写注释信息。

2.2 文档注释拓展(了解)

可以通过 Javadoc 命令把文档注释中的内容生成帮助文档,并输出到 HTML 文件中,方便记录程序信息。Javadoc 工具可以识别文档注释中的一些特殊标签,这些标签一般以@开头,后跟一个指定的名字,有的也以{@开头,以}结束。如:

@author 标识一个类的作者,一般用于类注释
@exception 可能抛出异常的说明,一般用于方法注释
@param 说明一个方法的参数,一般用于方法注释
@return 说明返回值类型,一般用于方法注释,不能出现再构造方法中
@version 指定类的版本,一般用于类注释
{@link} 插入一个到另一个主题的链接

2.3 小练习:生成API帮助文档(了解)

有兴趣的可以尝试,体会一下javadoc生成帮助文档的过程。新建一个文本文件,输入下列代码:

java 复制代码
/**
* @author zhengyquan
* @version jdk1.8.0
*/
public class Test{
    /**
     * 求输入两个参数范围以内整数的和
     * @param n 接收的第一个参数,范围起点
     * @param m 接收的第二个参数,范围终点
     * @return 两个参数范围以内整数的和
     */
    public int add(int n, int m) {
        int sum = 0;
        for (int i = n; i <= m; i++) {
            sum = sum + i;
        }
        return sum;
    }
} 

ctrl+s保存后将文件重命名为 Test.java,win+R 打开 cmd 窗口,输入javadoc -author -version Test.java命令,若报'错误: 编码GBK的不可映射字符',这是因为没有考虑编码格式的问题,注释中有汉字可能会乱码,添加上格式即可。输入如下解决:

shell 复制代码
javadoc -encoding UTF-8 -charset UTF-8  -author -version Test.java

完成后找到同目录下生成的一个 Test.html 文档,打开即可看到自己创建的帮助文档的信息。

完整操作如下所示:

注:可在 cmd(命令提示符)中输入javadoc -help查看 Javadoc 的用法和选项。

3、标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

3.1 命名规则

  • 字母美元符($) 、或者下划线 _ 开始。
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线 _ 或数字的任何字符组合,不能是其他字符。
  • 关键字(保留字)不能用作标识符
  • 大小写敏感

eg: 合法:_age、$salary、abc

非法:123abc、-salary

4、修饰符

用来定义类、方法或变量,通常放在语句的最前端。

pass:该部分在刚开始学时不用过分深究,随着后面学习的深入会理解的更加清晰。

4.1 访问控制

default(默认访问):在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

public(公共访问权限):对所有类可见。

protected(子类访问权限):对同一包内的任何其它类和不同包中的子类可见,不能修饰接口中的成员变量和成员方法。

注意:在不同包中的子类只能通过该子类访问父类中 protected 成员,通过其它子类或父类都无法访问。

private(当前类访问权限):在同一类内可见,只能被所属类访问。

4.2 非访问控制

final:用来修饰类、方法和变量。

  • 修饰的类不能够被继承,表示最终的类。final 修饰的类有很多,如八大基本数据类型包装类和 String 类,也是不可变类(当创建它们的实例后,其实例的实例变量不可改变)
  • 修饰的方法不能被继承类重新定义。构造方法不能使用 final 修饰
  • 修饰的变量为常量,不可修改(只能被赋值一次)。

abstract : 用来创建抽象类、抽象方法。 static :用来创建类方法和类变量,类方法不能访问 的实例变量。 synchronized : 修饰的方法、代码块在同一时间只能被一个线程访问,不能修饰构造器、成员变量等。

一图以蔽之,如下:

相关推荐
都叫我大帅哥11 分钟前
Java OpenFeign:微服务通信的“魔法契约书”
java·spring boot·spring cloud
Full Stack Developme1 小时前
Java 日期时间处理:分类、用途与性能分析
java·开发语言·数据库
麦兜*4 小时前
Spring Boot 整合量子密钥分发(QKD)实验方案
java·jvm·spring boot·后端·spring·spring cloud·maven
码破苍穹ovo5 小时前
堆----1.数组中的第K个最大元素
java·数据结构·算法·排序算法
2301_793086875 小时前
JVM 01 运行区域
java·开发语言
崎岖Qiu5 小时前
【JVM篇13】:兼顾吞吐量和低停顿的G1垃圾回收器
java·jvm·后端·面试
久念祈6 小时前
C++ - 仿 RabbitMQ 实现消息队列--服务端核心模块实现(五)
java·rabbitmq·java-rabbitmq
超级晒盐人8 小时前
用落霞归雁的思维框架推导少林寺用什么数据库?
java·python·系统架构·学习方法·教育电商
岁忧8 小时前
(LeetCode 面试经典 150 题) 138. 随机链表的复制 (哈希表)
java·c++·leetcode·链表·面试·go
鹦鹉0078 小时前
IO流中的字节流
java·开发语言·后端