JAVA注释,标识符和关键字

注释

为了方便程序的阅读,Java语言允许程序员在程序中写上一些说明性的文字,用来提高程序的可读性,这些文字性的说明就称为注释。 注释不会出现在字节码文件中,即Java编译器编译时会跳过注释语句。 在Java中根据注释的功能不同,主要分为单行注释、多行注释和文档注释。

单行注释: 使用“//”开头,“//”后面的单行内容均为注释。

多行注释: 以“/”开头以“/”结尾,在“/”和“/”之间的内容为注释,我们也可以使用多行注释作为行内注释。但是在使用时要注意,多行注释不能嵌套使用。

文档注释: 以“/**”开头以“*/”结尾,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API)

【示例】认识Java的三种注释类型

/**

  • Welcome类(我是文档注释)
  • @author 某某
  • @version 1.0
    */
    public class Welcome {
    //我是单行注释
    public static void main(String[] args/*我是行内注释 /) {
    System.out.println(“Hello World!”);
    }
    /

    我是多行注释!
    我是多行注释!
    */
    }

标识符

标识符是用来给变量、类、方法以及包进行命名的,如Welcome、main、System、age、name、gender等。标识符需要遵守一定的规则:

标识符必须以字母、下划线_、美元符号$开头。

标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。

Java 标识符大小写敏感,且长度无限制。

标识符不可以是Java的关键字。

标识符的使用规范

表示类名的标识符:每个单词的首字母大写,如Man, GoodMan

表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()

【注意】:Java不采用通常语言使用的ASCII字符集,而是采用Unicode这样标准的国际字符集。因此,这里字母的含义不仅仅是英文,还包括汉字等等。但是不建议大家使用汉字来定义标识符!

【示例】合法的标识符
int a = 3;
int _123 = 3;
int $12aa = 3;
int 变量1 = 55; //合法,但是不建议使用中文命名的标识符

【示例】不合法的标识符
int 1a = 3; //不能用数字开头
int a# = 3; //不能包含#这样的特殊字符
int int = 3; //不能使用关键字

测试代码:

/**

  • 测试标识符的用法
  • @author 某某

*/
public class TestIdentifer {

public static void main(String[] args) {
    int  a123 = 1;
    //int  123abc = 2;        //数字不能开头
    int  $a = 3;
    int  _abc = 4;
    //int  #abc = 5;
     
    int  年龄 = 18;        //可以使用汉字,但是一般不建议
     
    //int class = 2;        //关键字不能作为标识符
     
}

}

Java中的关键字/保留字

Java关键字是Java语言保留供内部使用的,如class用于定义类。 关键字也可以称为保留字,它们的意思是一样的,我们不能使用关键字作为变量名或方法名。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供Java代码来完成这个任务。代码如下: ```java import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.*; public class KeywordCounter { private static final String[] KEYWORDS = {"abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "default", "do", "double", "else", "enum", "extends", "final", "finally", "float", "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", "switch", "synchronized", "this", "throw", "throws", "transient", "try", "void", "volatile", "while"}; private static final Set<String> KEYWORDS_SET = new HashSet<>(Arrays.asList(KEYWORDS)); public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入Java源代码文件路径:"); String filePath = scanner.nextLine(); Map<String, Integer> keywordCountMap = new TreeMap<>(); try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { boolean inString = false; boolean inComment = false; String line; while ((line = reader.readLine()) != null) { line = line.trim(); if (line.startsWith("/*")) { inComment = true; } if (inComment) { if (line.endsWith("*/")) { inComment = false; } continue; } if (line.startsWith("//")) { continue; } if (line.endsWith("*/")) { continue; } for (int i = 0; i < line.length(); i++) { char c = line.charAt(i); if (c == '"') { inString = !inString; continue; } if (inString) { continue; } if (c == '/' && i + 1 < line.length() && line.charAt(i + 1) == '/') { break; } if (c == '/' && i + 1 < line.length() && line.charAt(i + 1) == '*') { inComment = true; i++; continue; } if (!Character.isJavaIdentifierPart(c)) { continue; } StringBuilder sb = new StringBuilder(); sb.append(c); int j = i + 1; while (j < line.length() && Character.isJavaIdentifierPart(line.charAt(j))) { sb.append(line.charAt(j)); j++; } String word = sb.toString(); if (KEYWORDS_SET.contains(word)) { int count = keywordCountMap.getOrDefault(word, 0); keywordCountMap.put(word, count + 1); } i = j - 1; } } } catch (IOException e) { System.out.println("读取文件失败:" + e.getMessage()); return; } if (keywordCountMap.isEmpty()) { System.out.println("未找到任何关键字!"); return; } System.out.println("关键字\t\t出现次数"); System.out.println("=========================="); for (Map.Entry<String, Integer> entry : keywordCountMap.entrySet()) { System.out.printf("%-15s%d\n", entry.getKey(), entry.getValue()); } } } ``` 当您运行此代码时,程序将提示您输入Java源代码文件的路径。程序将扫描文件并计算出现的关键字的数量,然后按关键字升序输出。 请注意,此代码仅计算源代码中的关键字,不包括字符常量和注释中的关键字。如果没有提供有效的源代码文件路径,则程序将退出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值