zoukankan      html  css  js  c++  java
  • Java学习笔记之---基础语法

    Java学习笔记之---基础语法

    一. Java中的命名规范

    (一)包名

         由多个单词组成时,所有字母小写(例如:onetwo)

    (二)类名和接口

         由多个单词组成时,所有单词首字母大写(例如:OneTwo)

    (三)变量名和函数名

         由多个单词组成时,第一个单词首字母小写,其他单词首字母大写(例如:oneTwo)

    (四)常量名

         由多个单词组成时,所有字母均大写,并且单词间用_连接(例如:ONE_TWO)

    二. 标识符
    1. 可以由26个英文字母,数字,_和$组成
    2. 标识符大小写敏感
    3. 不能以数字开头
    4. 可以为任意长度  
    三. 修饰符

    (一)访问修饰符

    • default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
    • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
    • public : 对所有类可见。使用对象:类、接口、变量、方法
    • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

    我们可以通过以下表来说明访问权限:

     

    访问控制

    修饰符

    当前类

    同一包内

    子孙类(同一包)

    子孙类(不同包)

    其他包

    public

    Y

    Y

    Y

    Y

    Y

    protected

    Y

    Y

    Y

    Y/N(说明

    N

    default

    Y

    Y

    Y

    N

    N

    private

    Y

    N

    N

    N

    N

    (二)非访问修饰符

    static 修饰符,用来修饰类方法和类变量。

    final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。

       1.final修饰class:该类没有子类  public final class/final public class

       2.final修饰方法:该方法允许被子类正常继承,但不允许被子类重写

       3.final修饰方法内局部变量:只要在具体使用之前赋值即可,一旦赋值,不允许被修改

       4.final修饰类中成员属性:赋值过程:a.定义直接初始化   b.构造方法   c.构造代码块

       5.final修饰基本数据类型:赋值后不能被改变

       6.final修饰引用数据类型:初始化后不能再指向另一个对象,但内容可以改变

    abstract 修饰符,用来创建抽象类和抽象方法。

    synchronized 和 volatile 修饰符,主要用于线程的编程。

    四.基本数据类型

    (一)内置数据类型

    (1)整数型

    1. byte
    2. int
    3. short
    4. long

    (2)浮点型

    1. double
    2. 2.float

    (3)字符型

    1. char

    (4)布尔型

    1. Boolean

    (二)引用数据类型

    1. 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
    2. 对象、数组都是引用数据类型。
    3. 所有引用类型的默认值都是null。
    4. 一个引用变量可以用来引用任何与之兼容的类型。
    五.变量类型

    (一)局部变量

    1. 声明在构造方法、静态方法、实例方法、代码块中的变量,都是局部变量;
    2. 不能使用static和访问修饰符修饰;
    3. 可以使用final修饰,即为常量,不必在声明语句中赋值;
    4. 当执行局部变量所在的方法或代码块时,才有机会被创建,在方法或代码块执行结束后被自动销毁;
    5. 局部变量在内存的栈区分配;
    6. 局部变量在使用之前必须要先赋值;

    (二)实例变量

    1. 声明在所有方法体和代码块之外,并且没有使用static修饰的变量,叫做实例变量;
    2. 可以使用访问修饰符和final修饰;
    3. 使用final修饰时,一定要赋值;
    4. 实例变量是在对象被创建时创建,对象被销毁时销毁;
    5. 作用域范围在整个类中;

    (三)类的变量

    1. 声明在所有方法体和代码块之外,并且使用static修饰的变量;
    2. 可以使用访问修饰符修饰;
    3. 一般配合final使用,即public  static  fianl,标识符使用大写;
    4. 类变量被分配在静态存储区,是被所有该类的对象共享数据;
    5. 类变量是在程序开始时被创建,程序结束时销毁;
    六.运算符

    (一)算数运算符

     

    操作符

    描述

    例子

    +

    加法 - 相加运算符两侧的值

    A + B 等于 30

    -

    减法 - 左操作数减去右操作数

    A – B 等于 -10

    *

    乘法 - 相乘操作符两侧的值

    A * B等于200

    /

    除法 - 左操作数除以右操作数

    B / A等于2

    取余 - 左操作数除以右操作数的余数

    B%A等于0

    ++

    自增: 操作数的值增加1

    B++ 或 ++B 等于 21(区别详见下文)

    --

    自减: 操作数的值减少1

    B-- 或 --B 等于 19(区别详见下文)

    (二)关系运算符

     

    运算符

    描述

    例子

    ==

    检查如果两个操作数的值是否相等,如果相等则条件为真。

    (A == B)为假。

    !=

    检查如果两个操作数的值是否相等,如果值不相等则条件为真。

    (A != B) 为真。

    检查左操作数的值是否大于右操作数的值,如果是那么条件为真。

    (A> B)为假。

    检查左操作数的值是否小于右操作数的值,如果是那么条件为真。

    (A <B)为真。

    >=

    检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。

    (A> = B)为假。

    <=

    检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。

    (A <= B)为真。

    (三)位运算符

     

    操作符

    描述

    例子

    如果相对应位都是1,则结果为1,否则为0

    (A&B),得到12,即0000 1100

    |

    如果相对应位都是0,则结果为0,否则为1

    (A | B)得到61,即 0011 1101

    ^

    如果相对应位值相同,则结果为0,否则为1

    (A ^ B)得到49,即 0011 0001

    按位取反运算符翻转操作数的每一位,即0变成1,1变成0。

    (〜A)得到-61,即1100 0011

    << 

    按位左移运算符。左操作数按位左移右操作数指定的位数。

    A << 2得到240,即 1111 0000

    >> 

    按位右移运算符。左操作数按位右移右操作数指定的位数。

    A >> 2得到15即 1111

    >>> 

    按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。

    A>>>2得到15即0000 1111

    (四)逻辑运算符

     

    操作符

    描述

    例子

    &&

    称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。

    (A && B)为假。

    | |

    称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。

    (A | | B)为真。

    称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。

    !(A && B)为真。

    (五)赋值运算符

     

    操作符

    描述

    例子

    =

    简单的赋值运算符,将右操作数的值赋给左侧操作数

    C = A + B将把A + B得到的值赋给C

    + =

    加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数

    C + = A等价于C = C + A

    - =

    减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数

    C - = A等价于C = C -
     A

    * =

    乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数

    C * = A等价于C = C * A

    / =

    除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数

    C / = A等价于C = C / A

    (%)=

    取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数

    C%= A等价于C = C%A

    << =

    左移位赋值运算符

    C << = 2等价于C = C << 2

    >> =

    右移位赋值运算符

    C >> = 2等价于C = C >> 2

    &=

    按位与赋值运算符

    C&= 2等价于C = C&2

    ^ =

    按位异或赋值操作符

    C ^ = 2等价于C = C ^ 2

    | =

    按位或赋值操作符

    C | = 2等价于C = C | 2

  • 相关阅读:
    linux 网络性能优化
    select/poll/epoll原理探究及总结
    linux socket读数据错误解释
    linux 单机跨进程通信
    map与hash_map使用与对比
    python web自动化测试框架搭建(功能&接口)——环境搭建
    Jenkins构建触发器的区别
    python改变导入模块中的变量的问题
    Jmeter断言中判断请求失败的响应代码问题
    Jmeter中动态获取jsessionid来登录
  • 原文地址:https://www.cnblogs.com/dyddzhp/p/11152774.html
Copyright © 2011-2022 走看看