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

posted @ 2019-07-08 17:52  豆丁zzz  阅读(270)  评论(0编辑  收藏  举报