惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 叶小钗
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
MyScale Blog
MyScale Blog
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 聂微东
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks

博客园 - 文刀无尽

在Django 中更新mongodb的ListField字段 图片加到json中,提交到服务器端处理异常问题。 在django中使用时django-nonrel,'django.contrib.auth'不能用的问题 在mac 上安装 mpkg 在bluehost上安装mongodb Celery使用数据库代替rabbitmq 为什么要使用Rabbitmq 在bluehost上安装pytoh 2.7.2 为android 启动的时候添加splash 折腾了半天,ajax 在模拟器下正常,在一台2.1机器上正常,在我的小米2.3下不工作 去掉默认标题栏且将应用设置为全屏 在jquery mobile中页面跳转的时候,实现登录检查 去掉jquery mobile 的阴影效果 Eclipse 的 javascript 插件 iphone phonegap中跨域的问题 使用jquery mobile 经验 另类随机读大表数据 (原创)自已实现服务器控件之 TextBox 控件 (原创)自已实现服务器控件系列 之 设计时可用鼠标拖动大小的Label控件
java 基本语法
文刀无尽 · 2012-02-07 · via 博客园 - 文刀无尽

Identifier:
    IDENTIFIER

QualifiedIdentifier:
    Identifier { . Identifier }

Literal:
    IntegerLiteral     
    FloatingPointLiteral     
    CharacterLiteral     
    StringLiteral     
    BooleanLiteral
    NullLiteral

Expression: 
    Expression1 [AssignmentOperator Expression1]]

AssignmentOperator: 
    = 
    += 
    -= 
    *= 
    /= 
    &= 
    |= 
    ^= 
    %= 
    <<= 
    
>>= 
    >>>= 

Type: 
    Identifier {   .   Identifier } BracketsOpt
    BasicType

StatementExpression: 
    Expression

ConstantExpression: 
    Expression

Expression1: 
    Expression2 [Expression1Rest]

Expression1Rest: 
    [  ?   Expression   :   Expression1]

Expression2 : 
    Expression3 [Expression2Rest]

Expression2Rest: 
    {Infixop Expression3}
    Expression3 instanceof Type

Infixop:
    || 
    && 
    | 
    ^ 
    & 
    == 
    != 
    < 
    
> 
    <
    
>
    <
    
>
    >>> 
    + 
    - 
    * 
    / 
    % 

Expression3: 
    PrefixOp Expression3
    (   Expr | Type   )   Expression3
    Primary {Selector} {PostfixOp}

Primary: 
    ( Expression )
    this [Arguments]
    super SuperSuffix
    Literal
    new Creator
    Identifier { . Identifier }[ IdentifierSuffix]
    BasicType BracketsOpt .class
    void.class

IdentifierSuffix:
    [ ( ] BracketsOpt   .   class | Expression ])
    Arguments
    .   ( class | this | super Arguments | new InnerCreator )

PrefixOp:
    ++ 
    -- 
    ! 
    ~ 
    + 
    - 

PostfixOp: 
    ++ 
    -- 

Selector: 
    . Identifier [Arguments]
    . this
    . super SuperSuffix
    . new InnerCreator
    [ Expression ]

SuperSuffix: 
    Arguments 
    . Identifier [Arguments]

BasicType: 
    byte 
    short 
    char 
    int 
    long 
    float 
    double 
    boolean

ArgumentsOpt: 
    [ Arguments ]

Arguments: 
    ( [Expression { , Expression }] )

BracketsOpt: 
    {[]}

Creator: 
    QualifiedIdentifier ( ArrayCreatorRest  | ClassCreatorRest )

InnerCreator: 
    Identifier ClassCreatorRest

ArrayCreatorRest: 
    [ ( ] BracketsOpt ArrayInitializer | Expression ] {[ Expression ]} 
BracketsOpt )

ClassCreatorRest: 
    Arguments [ClassBody]

ArrayInitializer: 
    { [VariableInitializer {, VariableInitializer} [,]] }

VariableInitializer: 
    ArrayInitializer
    Expression

ParExpression: 
    ( Expression )

Block: 
    { BlockStatements }

BlockStatements: 
    { BlockStatement }

BlockStatement : 
    LocalVariableDeclarationStatement
    ClassOrInterfaceDeclaration
    [Identifier :] Statement

LocalVariableDeclarationStatement:
    [final] Type VariableDeclarators   ;  

Statement:
    Block
    if ParExpression Statement [else Statement]
    for ( ForInitOpt   ;   [Expression]   ;   ForUpdateOpt ) Statement
    while ParExpression Statement
    do Statement while ParExpression   ; 
    try Block ( Catches | [Catches] finally Block )
    switch ParExpression { SwitchBlockStatementGroups }
    synchronized ParExpression Block
    return [Expression] ; 
    throw Expression   ; 
    break [Identifier]
    continue [Identifier]
    ; 
    ExpressionStatement
    Identifier   :   Statement

Catches:
    CatchClause {CatchClause}

CatchClause: 
    catch ( FormalParameter ) Block

SwitchBlockStatementGroups: 
    { SwitchBlockStatementGroup }

SwitchBlockStatementGroup: 
    SwitchLabel BlockStatements

SwitchLabel: 
    case ConstantExpression   :
    default:  

MoreStatementExpressions: 
    { , StatementExpression }

ForInit: 
    StatementExpression MoreStatementExpressions
    [final] Type VariableDeclarators

ForUpdate: 
    StatementExpression MoreStatementExpressions

ModifiersOpt: 
    { Modifier }

Modifier: 
    public 
    protected 
    private 
    static 
    abstract 
    final 
    native 
    synchronized 
    transient 
    volatile
    strictfp

VariableDeclarators: 
    VariableDeclarator { ,   VariableDeclarator }

VariableDeclaratorsRest: 
    VariableDeclaratorRest { ,   VariableDeclarator }

ConstantDeclaratorsRest: 
    ConstantDeclaratorRest { ,   ConstantDeclarator }

VariableDeclarator: 
    Identifier VariableDeclaratorRest

ConstantDeclarator: 
    Identifier ConstantDeclaratorRest

VariableDeclaratorRest: 
    BracketsOpt [  =   VariableInitializer]

ConstantDeclaratorRest: 
    BracketsOpt   =   VariableInitializer

VariableDeclaratorId: 
    Identifier BracketsOpt

CompilationUnit: 
    [package QualifiedIdentifier   ;  ] {ImportDeclaration} 
{TypeDeclaration}

ImportDeclaration: 
    import Identifier {   .   Identifier } [   .     *   ] ;  

TypeDeclaration: 
    ClassOrInterfaceDeclaration
    ;

ClassOrInterfaceDeclaration: 
    ModifiersOpt (ClassDeclaration | InterfaceDeclaration)

ClassDeclaration: 
    class Identifier [extends Type] [implements TypeList] ClassBody

InterfaceDeclaration: 
    interface Identifier [extends TypeList] InterfaceBody

TypeList: 
    Type {  ,   Type}

ClassBody: 
    { {ClassBodyDeclaration} }

InterfaceBody: 
    { {InterfaceBodyDeclaration} }

ClassBodyDeclaration:
    ; 
    [static] Block
    ModifiersOpt MemberDecl

MemberDecl:
    MethodOrFieldDecl
    void Identifier MethodDeclaratorRest
    Identifier ConstructorDeclaratorRest
    ClassOrInterfaceDeclaration

MethodOrFieldDecl:
    Type Identifier MethodOrFieldRest

MethodOrFieldRest:
    VariableDeclaratorRest
    MethodDeclaratorRest

InterfaceBodyDeclaration:
    ; 
    ModifiersOpt InterfaceMemberDecl

InterfaceMemberDecl:
    InterfaceMethodOrFieldDecl
    void Identifier VoidInterfaceMethodDeclaratorRest
    ClassOrInterfaceDeclaration

InterfaceMethodOrFieldDecl:
    Type Identifier InterfaceMethodOrFieldRest

InterfaceMethodOrFieldRest:
    ConstantDeclaratorsRest ;
    InterfaceMethodDeclaratorRest

MethodDeclaratorRest:
        FormalParameters BracketsOpt [throws QualifiedIdentifierList] ( 
MethodBody |   ;  )

VoidMethodDeclaratorRest:
        FormalParameters [throws QualifiedIdentifierList] ( MethodBody |   ;  )

InterfaceMethodDeclaratorRest:
    FormalParameters BracketsOpt [throws QualifiedIdentifierList]   ;  

VoidInterfaceMethodDeclaratorRest:
    FormalParameters [throws QualifiedIdentifierList]   ;  

ConstructorDeclaratorRest:
    FormalParameters [throws QualifiedIdentifierList] MethodBody

QualifiedIdentifierList: 
    QualifiedIdentifier {  ,   QualifiedIdentifier}

FormalParameters: 
    ( [FormalParameter { , FormalParameter}] )

FormalParameter: 
    [final] Type VariableDeclaratorId

MethodBody:
    Block