精华内容
下载资源
问答
  • Java语言,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。标识符组成Java标识符由数字,字母和下划线(_),美元符号($)组成...

    Java语言中,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.

    标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。

    标识符组成

    Java标识符由数字,字母和下划线(_),美元符号($)组成。此处的字母并不局限于26个英文字母,而且可以包含中文字符、日文字符等。Java语言支持Unicode6.2.0字符集,因此Java的标识符可以使用Unicode6.0.0所能表示的多种语言的字符。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。标识符不能包含空格;只能包含美元符号($),不能包含@、#等其他特殊字符。

    根据以上几点,自己写的Java标识符判断函数并不能AC  SDUT OJ的3328,郁闷呀(o´・ェ・`o)到现在还没想到哪里我还没考虑到(数字、字母、符号、关键字都考虑了呀,甚至都想到Unicode字符集了○| ̄|_)

    后来了解到有Java自带的函数来判断。

    AC代码(注释后来加上去的)如下:

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    public class Main{

    public static boolean valid(String str)

    {

    if(Character.isJavaIdentifierStart(str.charAt(0)))

    // 如果第一个字符是Java合法的标识符,进入if语句

    {

    for(int i=1; i

    // 从第二个标识符开始,逐个遍历

    {

    if(!Character.isJavaIdentifierPart(str.charAt(i)))

    // 如果第i个标识符不是Java的合法标识符,返回false

    {

    return false;

    }

    }

    // 如果标识符是合法的Java标识符,返回true

    return true;

    }

    // 如果第一个字符不是Java合法的标识符,返回false

    return false;

    }

    public static void main(String[] args) throws IOException {

    /*

    * BufferedReader对象只将回车看作输入结束

    * Scanner对象把回车,空格,tab键都看作输入结束

    */

    BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));

    String text = buffer.readLine();

    // 先读取一行字符串

    while(text != null){

    // 读取的字符串为空,则结束循环

    System.out.println(valid(text));

    text = buffer.readLine();

    }

    }

    }

    SDUT OJ的3328题目如下:

    JAVA判断合法标识符

    Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

    题目描述

    输入若干行字符串,判断每行字符串是否可以作为JAVA语法的合法标识符。

    输入

    输入有多行,每行一个字符串,字符串长度不超过10个字符,以EOF作为结束。

    输出

    若该行字符串可以作为JAVA标识符,则输出“true”;否则,输出“false”。

    示例输入

    abc

    _test

    $test

    a 1

    a+b+c

    a’b

    123

    变量

    示例输出

    true

    true

    true

    false

    false

    false

    false

    true

    展开全文
  • Java中,连接字符是Character.getType(int codePoint) / Character.getType(char ch)返回一个等于Character.CONNECTOR_PUNCTUATION的值的字符 。请注意,在Java中,字符信息基于Unicode标准,通过为它们分配一般...

    连接字符用于连接两个字符。

    在Java中,连接字符是Character.getType(int codePoint) / Character.getType(char ch)返回一个等于Character.CONNECTOR_PUNCTUATION的值的字符 。

    请注意,在Java中,字符信息基于Unicode标准,通过为它们分配一般类别Pc(它是Connector_Punctuation的别名)来标识连接字符。

    下面的代码片断,

    for (int i = Character.MIN_CODE_POINT; i <= Character.MAX_CODE_POINT; i++) { if (Character.getType(i) == Character.CONNECTOR_PUNCTUATION && Character.isJavaIdentifierStart(i)) { System.out.println("character: " + String.valueOf(Character.toChars(i)) + ", codepoint: " + i + ", hexcode: " + Integer.toHexString(i)); } }

    打印可用于在jdk1.6.0_45上启动标识符的连接字符

    character: _, codepoint: 95, hexcode: 5f character: ‿, codepoint: 8255, hexcode: 203f character: ⁀, codepoint: 8256, hexcode: 2040 character: ⁔, codepoint: 8276, hexcode: 2054 character: ・, codepoint: 12539, hexcode: 30fb character: ︳, codepoint: 65075, hexcode: fe33 character: ︴, codepoint: 65076, hexcode: fe34 character: ﹍, codepoint: 65101, hexcode: fe4d character: ﹎, codepoint: 65102, hexcode: fe4e character: ﹏, codepoint: 65103, hexcode: fe4f character: _, codepoint: 65343, hexcode: ff3f character: ・, codepoint: 65381, hexcode: ff65

    下面编译jdk1.6.0_45,

    int _, ‿, ⁀, ⁔, ・, ︳, ︴, ﹍, ﹎, ﹏, _, ・ = 0;

    显然,上面的声明无法在jdk1.7.0_80&jdk1.8.0_51上为以下两个连接字符(向后兼容… oops !!!)编译,

    character: ・, codepoint: 12539, hexcode: 30fb character: ・, codepoint: 65381, hexcode: ff65

    无论如何,除了细节外, 考试只关注基本拉丁字符集 。

    而且,对于Java中的合法标识, 这里提供了这个规范。 使用Character类API获取更多细节。

    展开全文
  • 合法标识符Java语言,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。组成:Java标识符由数字,字母和下划线(_),美元符号($...

    合法标识符

    Java语言中,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。

    组成:Java标识符由数字,字母和下划线(_),美元符号($)组成(此处的字母并不局限于26个英文字母,而且可以包含中文字符、日文字符等)。Java语言支持Unicode6.2.0字符集,因此Java的标识符可以使用Unicode6.0.0所能表示的多种语言的字符。

    标识符必须遵循以下规则

    1. 标识符由26个英文字符大小写(a~zA~Z)、数字(0~9)、下划线(_)和美元符号($)组成。

    2. 不能以数字开头,不能是关键字,也不能包含空格。

    3. 严格区分大小写

    4. 标识符的可以为任意长度

    Java中的标识符命名规范

    1. 包名:多个单词组成时所有字母小写(例:package  com.itcast)

    2. 类名和接口:多个单词组成时所有单词的首字母大写(例:HelloWorld)

    3. 变量名和函数名:多个单词组成时第一个单词首字母小写,其他单词首字母大写(例:lastAccessTime、getTime)。

    4. 常量名:多个单词组成时,字母全部大写,多个单词之间使用_分隔(例:INTEGER_CACHE)

    注意:只是为了增加规范性、可读性而做的一种约定,标识符在定义的时候最好见名知意,提高代码阅读性。

    可以使用java自带的函数判断每行字符串是否可以作为JAVA语法的合法标识符,例:

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    public class Main{

    public static boolean valid(String str)

    {

    if(Character.isJavaIdentifierStart(str.charAt(0)))

    // 如果第一个字符是Java合法的标识符,进入if语句

    {

    for(int i=1; i

    // 从第二个标识符开始,逐个遍历

    {

    if(!Character.isJavaIdentifierPart(str.charAt(i)))

    // 如果第i个标识符不是Java的合法标识符,返回false

    {

    return false;

    }

    }

    // 如果标识符是合法的Java标识符,返回true

    return true;

    }

    // 如果第一个字符不是Java合法的标识符,返回false

    return false;

    }

    public static void main(String[] args) throws IOException  {

    /*

    * BufferedReader对象只将回车看作输入结束

    * Scanner对象把回车,空格,tab键都看作输入结束

    */

    BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));

    String text = buffer.readLine();

    // 先读取一行字符串

    while(text != null){

    // 读取的字符串为空,则结束循环

    System.out.println(valid(text));

    text = buffer.readLine();

    }

    }

    }

    java修饰符

    java提供了很多修饰符,主要分为以下两类:

    访问修饰符

    非访问修饰符

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

    访问控制修饰符

    java中,可以使用访问控制符来保护对象类、变量、方法和构造方法的访问。

    default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

    private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

    public : 对所有类可见。使用对象:类、接口、变量、方法

    protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。

    修饰符

    当前类

    同一包内

    子孙类(同一包)

    子孙类(不同包)

    其他包

    public

    Y

    Y

    Y

    Y

    Y

    protected

    Y

    Y

    Y

    N/Y

    N

    default

    Y

    Y

    N

    N

    N

    private

    Y

    N

    N

    N

    N

    1、类修饰符

    访问修饰符:公共类修饰符public

    非访问修饰符:抽象类修饰符 abstract、最终类修饰符 final

    (1)公共类修饰符public:java语言中类的访问控制符只有public即公共的,每个java程序有且只有一个类是public,其他外部类没有访问控制修饰符,具有包访问性。

    (2)抽象类修饰符abstract :用abstract 修饰的类称为抽象类。

    (3)最终类修饰符final:当一个类不能被继承时可用修饰符final修饰为最终类。

    (4)类缺省访问控制符:如果一个类没有访问控制符,说明它具有缺省的访问控制符特性。此时,这个类只能被同一个包中的类访问或引用。这一访问特性又称为包访问性。

    2.方法修饰符

    访问控制修饰符:公共访问控制符public、保护访问控制符protected、缺省默认default、私有访问控制符private。

    非访问控制符:抽象方法控制符abstract 、静态方法控制符static 、最终方法控制符final 、本地方法控制符native 、同步方法控制符synchronized。

    (1)抽象方法控制符 abstract :用修饰符 abstract 修饰的方法称为抽象方法。抽象方法仅有方法头,没有方法体和操作实现。

    (2)静态方法控制符 static :用修饰符 static 修饰的方法称为静态方法。静态方法是属于整个类的类方法;而不使用static 修饰、限定的方法是属于某个具体类对象的方法。 由于 static方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而只能处理属于整个类的成员变量,即 static 方法只能处理 static的域。

    (3)最终方法控制符 final :用修饰符 final修饰的方法称为最终方法。最终方法是功能和内部语句不能更改的方法,即最终方法不能重写覆盖。final固定了方法所具有的功能和操作,防止当前类的子类对父类关键方法的错误定义,保证了程序的安全性和正确性。所有被private 修饰符限定为私有的方法,以及所有包含在 final 类 ( 最终类) 中的方法,都被认为是最终方法。

    (4)本地方法控制符 native :用修饰符 native 修饰的方法称为本地方法。为了提高程序的运行速度,需要用其它的高级语言书写程序的方法体,那么该方法可定义为本地方法用修饰符 native 来修饰。

    (5)同步方法控制符 synchronized :该修饰符主要用于多线程程序中的协调和同步。

    3.变量修饰符

    访问控制符:公共访问控制符public 、保护访问控制符protected 、缺省默认访问控制符default、私有访问控制符private

    非访问控制符:静态域修饰符static 、最终域修饰符 final 、易失 ( 共享 ) 域修饰符volatile 、暂时性域修饰符transient

    (1)公共访问控制符 public :用 public 修饰的域称为公共域。由于 public 修饰符会降低运行的安全性和数据的封装性,所以一般应减少 public 域的使用。

    (2)私有访问控制符 private : 用 private 修饰的成员变量 ( 域 ) 只能被该类自身所访问,而不能被任何其它类 ( 包括子类 ) 所引用。

    (3)保护访问控制符 protected :用 protected 修饰的成员变量可以被三种类所引用:①该类自身;②同一个包中的其它类;③其它包中的子类。使用修饰符 protected 的主要作用是允许其它包中的子类来访问父类的特定属性。

    (4) 缺省默认修饰符 :没有访问控制修饰符或用修饰符 default修饰的成员变量可以被该类本身或同一包中的其他类访问。

    (5)静态域修饰符 static :用 static修饰的成员变量仅属于类的变量,而不属于任何一个具体的对象。

    (6)最终域修饰符 final :最终域修饰符 final 是用来定义常量的。一个类的域 ( 成员变量 ) 如果被修饰符 final 说明,则它的取值在程序的整个执行过程中都是不变的。

    (7)易失 ( 共享 ) 域修饰符 volatile :易失 ( 共享 ) 域修饰符 volatile是用来说明这个成员变量可能被几个线程所控制和修改。也就是说在程序运行过程中,这个成员变量有可能被其它的程序影响或改变它的取值。通常 volatile 用来修饰接受外部输入的域。

    8)暂时性域修饰符 transient :暂时性域修饰符 transient 用来定义一个暂时性变量。其特点是:用修饰符transient 限定的暂时性变量,将指定 Java虚拟机认定该暂时性变量不属于永久状态,以实现不同对象的存档功能。否则,类中所有变量都是对象的永久状态的一部分,存储对象时必须同时保存这些变量。

    本部分参考于作者老鼠爱大米的文章,原文:https://blog.csdn.net/u012723673/article/details/80613557。

    java中的关键字

    关键字是编程语言里事先定义好并赋予了特殊含义的的单词,也称保留字。Java中一个有53个关键字。

    数据类型:

    Boolean    int    long    short    byte    float    double    char    class    interface(接口)

    Interface

    用来定义一系列方法和常量,它可以被类实现,通过implements关键字。

    流程控制:

    if     else    do    while    for    switch    case    default    break    continue    return    try (捕获异常)   catch(处理异常)    finally(有没有处理异常都执行)

    Throw

    运行用户抛出一个exception对象,或者任何实现throwable的对象。

    Throws

    用在方法的声明中用来说明哪些异常这个方法是不处理的,而是提交到程序的更高一层。

    Return

    用来结束一个方法的执行,,他后面可以跟一个方法声明中要求的值。

    Case

    用来定义一组分支选择,如果有某个值和switch中给出的值一样,就会从该分支开始实行。

    Try

    用来定义一个可能抛出异常的语句块。如果一个异常被抛出,一个可选的catch语句块会处理try语句中抛出的异常。同时一个finally语句会被执行,无论异常是否被抛出。

    Catch

    用来声明try语句中发生运行错误或非运行时异常时运行的一个块。

    修饰符:

    public    protected    private    final    void     static    strictfp (严格 精确)    abstract(抽象的)     transient(短暂)   synchronized(线程 同步)     volatile(易失)    native(本地)

    Abstract

    用在类的声明中来指明一个类是不能实例化的,但是可以被其他类继承。一个抽象类可以使用抽象的方法,抽象方法不需要被实现,但需要在子类中被实现。

    Synchronized

    线程同步。

    Volatile

    用在变量的声明中表示这个变量是被同时运行的几个线程异步修改的。

    动作:

    package    import(引入)     throw(抛出一个异常对象)    throws (声明一个异常对象  可能被抛出)    extends(继承)    implements(实现)    this(本类)    super(父类 超类)    instanceof(实例)    new

    Super

    父类。

    This

    用来代表它出现的类的一个实例。This可访问类变量或类方法。

    参考于作者:国家一级键盘手操作表演艺术家,原文:https://blog.csdn.net/zianY/article/details/78738852

    展开全文
  • Java语言,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。标识符组成Java标识符由数字,字母和下划线(_),美元符号($)组成...

    Java语言中,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.

    标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。

    标识符组成

    Java标识符由数字,字母和下划线(_),美元符号($)组成。此处的字母并不局限于26个英文字母,而且可以包含中文字符、日文字符等。Java语言支持Unicode6.2.0字符集,因此Java的标识符可以使用Unicode6.0.0所能表示的多种语言的字符。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。标识符不能包含空格;只能包含美元符号($),不能包含@、#等其他特殊字符。

    根据以上几点,自己写的Java标识符判断函数并不能AC  SDUT OJ的3328,郁闷呀(o´・ェ・`o)到现在还没想到哪里我还没考虑到(数字、字母、符号、关键字都考虑了呀,甚至都想到Unicode字符集了○| ̄|_)

    后来了解到有Java自带的函数来判断。

    AC代码(注释后来加上去的)如下:

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    public class Main{

    public static boolean valid(String str)

    {

    if(Character.isJavaIdentifierStart(str.charAt(0)))

    // 如果第一个字符是Java合法的标识符,进入if语句

    {

    for(int i=1; i

    // 从第二个标识符开始,逐个遍历

    {

    if(!Character.isJavaIdentifierPart(str.charAt(i)))

    // 如果第i个标识符不是Java的合法标识符,返回false

    {

    return false;

    }

    }

    // 如果标识符是合法的Java标识符,返回true

    return true;

    }

    // 如果第一个字符不是Java合法的标识符,返回false

    return false;

    }

    public static void main(String[] args) throws IOException {

    /*

    * BufferedReader对象只将回车看作输入结束

    * Scanner对象把回车,空格,tab键都看作输入结束

    */

    BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));

    String text = buffer.readLine();

    // 先读取一行字符串

    while(text != null){

    // 读取的字符串为空,则结束循环

    System.out.println(valid(text));

    text = buffer.readLine();

    }

    }

    }

    SDUT OJ的3328题目如下:

    JAVA判断合法标识符

    Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

    题目描述

    输入若干行字符串,判断每行字符串是否可以作为JAVA语法的合法标识符。

    输入

    输入有多行,每行一个字符串,字符串长度不超过10个字符,以EOF作为结束。

    输出

    若该行字符串可以作为JAVA标识符,则输出“true”;否则,输出“false”。

    示例输入

    abc

    _test

    $test

    a 1

    a+b+c

    a’b

    123

    变量

    示例输出

    true

    true

    true

    false

    false

    false

    false

    true

    展开全文
  • JAVA合法标识符

    2019-09-30 11:02:21
    Java语言,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符. 标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。 标识符组成 Java标识符由数字,字母和下划线(_),美元符号...
  • java中标识符

    2021-01-21 16:18:50
    Java中标识符 Java 所有的组成部分都需要名字。 类名、变量名以及方法名都被称为标识符。 关于 Java 标识符,有以下几点需要注意:标识符由数字、字母(A-Z 或者 a-z)、下划线(_)、美元符()组成,不能以数字...
  • JAVA合法标识符

    万次阅读 2018-10-17 20:24:54
    Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。 下面的标识符合法的: myName,My_name,Points,$points,_sys_ta,OK,_23b,_3_ 下面的标识符是非法的: #...
  • (2-1)以下()是Java语言合法自定义标识符更新时间:2021-01-30 07:06点击:(2-1)以下()是Java语言合法自定义标识符以下哪类设计不属于工业产品设计? (20.0分)30.在 Windows,当任务栏显示在桌面的底部时,其右端的...
  • Java 标识符

    2019-08-27 15:28:32
       Java 的包、类、方法、参数和变量名字,可由任意顺序的大小写字母、数字、下划线和美元字符($)组成,但标识符不能以数字和 Java 的保留关键字开头。 例子: jixiani、jixiani_lxh、$jixianit 是合法的...
  • 定义合法标识符规则:标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。不能以数字开头。标识符是严格区分大小写的。标识符的命名最好能反映出其作用,做到见名知意。Java...
  • Java中标识符

    2018-07-15 23:07:03
    标识符不能是Java关键字和保留字(Java预留的关键字,或者以后升级版本有可能作为关键字),但可以包含关键字和保留字~例如:不可以使用void 作为标识符,但是Myvoid 可以 3.标识符是严格区分大...
  • 标识符是用于给Java中的变量、类、方法等命名的符号。 标识符使用时,应遵守以下规则: 1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:...
  • } 当 m 的值为 ( ) 时,能输出“ Condition 3 ” 【单选题】如下哪个是Java中合法标识符( )。 【单选题】在Java中,不属于整数类型变量的是( )。 【单选题】以下关于变量的说法错误的是( )? 【单选题】下列说法中,...
  • 标识符和关键字 定义:Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 关键字 ...合法标识符举例子:age、$salary、_value、__1_value 非法标识符举例:123abc、-salary、#a
  • 二、Java标识符和保留字1. 标识符Java程序的类、属性、方法、对象、变量等元素都应有自己的名称,各元素的名称通称为标识符。...例如,从以下字符串挑出合法Java标识符。2towMary5elseHelloworldbo...
  • 合法标识符规则 1.由26个英文字母大小写,0-9 ,_或 $ 组成; 2.数字不可以开头; 3.不可以使用关键字和保留字,但能包含关键字和保留字; 4.Java中严格区分大小写,长度无限制; 5.标识符不能包含空格; 6.尽量做到...
  • 关于Java中标识符、关键字、字面值一、标识符二、关键字三、字面值 一、标识符 1.什么是标识符 java程序中用来表示类名,变量名,方法名,类型名,数组名,文件名的有效字符序列称为标识符。 2.标识符的命名规则 ...
  • 标识符可以由任意顺序的大小写字母、数字、下划线()和美元符号($)组成,但标识符不能以数字开头,不能是Java中的关键字。下面的这些标识符都是合法的。usernameusername123user_name_userName$ username注意,下面的...
  • Java变量一、变量的命名——标识符标识符由数字、字母、下划线_、美元符$组成,但不能以数字开头。标识符对字母大小写敏感。标识符无长度限制。不能以/*合法标识符:*/int amount = 17;int $apple = 8;int _index ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,197
精华内容 478
关键字:

java中合法标识符

java 订阅