Java程序基础—— 注释、关键字和标识符

目录

一、注释

1、 定义

2、分类

3.注意

4、案例代码

二、关键字

1、定义

2、特点

3、Java中的关键字

4、注意事项

三、标识符

1、定义

2、组成规则

3、注意事项

4、标识符中常见的命名规则

5、案例代码


一、注释

1、 定义

用来解释和说明程序的文字,注释是不会被执行的

2、分类

  • 单行注释
// 注释内容
  • 多行注释 /*注释内容*/ 文档注释
/*注释内容*/
  • 文档注释
/**注释内容**/

3.注意

  • 对于单行和多行注释,被注释的文字,不会被JVM解释执行
  • 对于文档注释,可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式 体现的该程序的说明文档
  • 单行注释可以嵌套使用,多行注释不能嵌套使用 

4、案例代码

/*
实现了一个Java的HelloWorld程序
实现步骤:
1. 定义类
2. 定义主方法
3. 一条命令,控制台输出了HelloWorld
*/
public class HelloWorld{
//main主方法,固定格式,程序的入口点
public static void main(String[] args){
//系统 输出 打印 打印的内容
System.out.println("HelloWorld");
}
}

二、关键字

1、定义

是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,int, double均为Java已经预设好的

2、特点

组成关键字的字母全部小写,注意String不是关键字

3、Java中的关键字

4、注意事项

goto与const是Java中的保留字,即没有赋予特殊含义却仍被Java占用的单词 

三、标识符

1、定义

就是给类,接口,方法, 变量等起名字时使用的字符序列

2、组成规则

只能包含下面的内容,不能有其它内容

  • 英文大小写字母
  • 数字字符
  • $和_

3、注意事项

  • 数字不能开头
  • 不可以使用关键字
  • 严格区分大小写,不限制长度
  • 起名时,尽量达到见名知意

4、标识符中常见的命名规则

  • 包名:多单词组成时所有字母均小写,使用.连接 aaa.bbb.ccc
  • 类名&接口名:大驼峰式 AaaBbbCcc
  • 变量名&方法名:小驼峰式 aaaBbbCcc
  • 常量名:多单词组成是所有字母均大写,使用_连接AAA_BBB_CCC

5、案例代码

/*
标识符
Java中,自己定义的内容
自定义类的名字,上一个案例 HelloWorld
标识符的规则:
组成: 字母52个A-Z a-z 数字0-9 _ 下划线 $ 美元符
注意: 不能数字开头,不能是关键字
定义名字:
_abc 0a a0 a#a a$a void
YES NO YES NO YES NO
类的名字: 首字母大写,第二个单词首字母大写
BeiJingShiZhongGuoDeShouDu
MeiGuoJiaLiFuNiYa
方法的名字:首字母小写,每个单词首字母大写
addStudent
*/
public class Demo{
public static void main(String[] args) {
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的基于正则表达式的词法分析程序,可以分析关键字标识符、数字、界符和运算符: ```java import java.util.regex.Matcher; import java.util.regex.Pattern; public class LexicalAnalyzer { public static void main(String[] args) { String code = "int a = 1 + 2;\n" + "if (a > 0) {\n" + " System.out.println(\"Hello, world!\");\n" + "}"; String[] lines = code.split("\\r?\\n"); for (int i = 0; i < lines.length; i++) { String line = lines[i]; int pos = 0; while (pos < line.length()) { char ch = line.charAt(pos); // 匹配标识符 Pattern idPattern = Pattern.compile("[a-zA-Z][a-zA-Z0-9]*"); Matcher idMatcher = idPattern.matcher(line.substring(pos)); if (idMatcher.lookingAt()) { String id = idMatcher.group(); System.out.printf("Line %d: Identifier %s\n", i + 1, id); pos += id.length(); continue; } // 匹配数字 Pattern numPattern = Pattern.compile("\\d+"); Matcher numMatcher = numPattern.matcher(line.substring(pos)); if (numMatcher.lookingAt()) { String num = numMatcher.group(); System.out.printf("Line %d: Number %s\n", i + 1, num); pos += num.length(); continue; } // 匹配关键字和运算符 switch (ch) { case '(': System.out.printf("Line %d: Left Parenthesis\n", i + 1); pos++; break; case ')': System.out.printf("Line %d: Right Parenthesis\n", i + 1); pos++; break; case '{': System.out.printf("Line %d: Left Brace\n", i + 1); pos++; break; case '}': System.out.printf("Line %d: Right Brace\n", i + 1); pos++; break; case ';': System.out.printf("Line %d: Semicolon\n", i + 1); pos++; break; case '=': System.out.printf("Line %d: Assignment\n", i + 1); pos++; break; case '+': System.out.printf("Line %d: Plus\n", i + 1); pos++; break; case '-': System.out.printf("Line %d: Minus\n", i + 1); pos++; break; case '*': System.out.printf("Line %d: Multiply\n", i + 1); pos++; break; case '/': System.out.printf("Line %d: Divide\n", i + 1); pos++; break; default: pos++; } } } } } ``` 在这个程序中,我们先把代码按行分割,然后逐行进行词法分析。对于每一行,我们从左到右依次扫描字符,使用正则表达式匹配标识符和数字,使用 switch 语句匹配关键字、界符和运算符。 这个程序只是一个基本的示例,实际的词法分析程序要更复杂,需要考虑更多的语法规则,比如注释、字符串等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值