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 : 修饰的方法、代码块在同一时间只能被一个线程访问,不能修饰构造器、成员变量等。

一图以蔽之,如下:

相关推荐
jiay219 分钟前
【.net10】顶级程序语句
java·开发语言
2601_953824611 小时前
【计算机毕业设计】基于Spring Boot的画师接稿平台设计与实现
java·spring boot·后端
小宋10212 小时前
不用学算法也能玩转 AI?普通 Java 程序员转 AI 应用开发路线
java·人工智能·重构
我是唐青枫2 小时前
Java Jetty 实战详解:从嵌入式 HTTP 服务到 Spring Boot 容器替换
java
带刺的坐椅2 小时前
当所有人都在用 TS/Python 写 Agent,我们为什么坚持 Java
java·ai·solon·codex·opencode·soloncode
小王师傅662 小时前
英语学习记
java·学习
早点睡啊Y3 小时前
深入学LangChain官方文档:Observability 与 Studio——先看清 Agent 到底做了什么
java·数据库·langchain
雨落在了我的手上3 小时前
Java数据结构(六):链表的介绍
java·开发语言·数据结构
独隅3 小时前
DevEco Code Plan+Build 双 Agent 协同开发效率实测
java·开发语言
吃饱了得干活4 小时前
@Transactional 又失效了?把这 8 个坑全填了!
java·后端·spring