Java学习笔记(三)--Java的常亮、变量与运算符

1、标识符

  • Java语言的标识符由任意顺序的字母、下划线(_)、美元符号$和数字组成。
  • 第一个字符不能是数字。
  • 标识符不能是Java的保留关键字。
  • Java的标识符严格区分大小写。
  • Java语言使用unicode标准字符集,最多可以标识65535个字符。

2、关键字

Java中的关键字包括:

int public this finally boolean abstract
continue float long short throw throws
return break for static new interface
if goto default byte do case
strictfp package super void try switch
else catch implements private final class
extends volatile while synchronized instanceof char
protecte imported transient implements defaule double

3、声明常量

在程序运行过程中一直不会改变的量称为常量(constant),通常称为“final 变量”,在整个程序运行中只能被赋值一次,常被用于为所有的对象共享值的时候。
声明常量需要指定常量的类型并用final关键字进行限定。语法如下:
final 数据类型 常量名称[=值]
为了方便程序阅读,常量名通常用大写。如:
final boolean BOOL=true;
inal double PI=3.1415;
Tips:
1、当声明的常量为成员变量时,必须在定义时就设定他的初值,否则会报错;
2、当声明的常量为局部变量时,不需要赋初值。

4、声明变量

声明变量的目的是告诉编译器这个变量的数据类型,从而方便编译器知道给这个变量分配多少空间,以及它能存储什么类型的数据。声明变量时可以直接赋值,也可以不赋值。如:
int age;
char char1='y';
Tips

  • 变量名必须是一个有效的标识符
  • 变量名不能用关键字
  • 变量名不能重复
  • 选择有意义的单词作为变量名
  • java的变量名允许使用汉字,如 int 年龄=21;,不会报错,但不建议这样写。

4.1、变量的有效范围

变量被定义之后只是暂时存在内存中,等程序执行到一定的点,变量就会被释放。变量的有效范围指的是程序代码能够访问该变量的区域,超出该区域,编译会出错。

(1)成员变量

  1. 成员变量在整个类中有效。
  2. 类的成员变量可分为静态变量和实例变量。
  3. 在变量前加static关键词,变成静态变量。
  4. 静态变量的有效范围可以跨类,甚至达到整个程序之内,可以通过类型.静态变量的方式在其他类中使用。

(2)局部变量

  1. 在类的方法体中声明的变量(包括方法的参数)称为局部变量,只在当前代码块有效,不能用于其他的方法;
  2. 局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为其分配内存,方法的调用结束后,内存被释放。
  3. 局部变量的名称可以和成员变量相同,此时成员变量被隐藏。

5、运算符

Java的运算符主要用于数学运算、赋值语句和逻辑比较。包括以下几种:

5.1、赋值运算符 =

  1. 二元运算符
  2. 左侧必须是一个变量
  3. 右侧可以是任意表达式,如变量、常量、有效表达式(34\*12, a+b
  4. 当一个表达式中包含多个=时,先从最右边一个赋值开始

5.2、算数运算

  1. 包括+加, -减, *乘, \除, %求余,都是二元运算符。
  2. +。-同时可以用于表示数字的正负,+2, -6

5.3、自增自减运算符

  1. ++ --单目运算符;
  2. 放在变量前,++a, --a表示在使用变量前,先使变量加1或者减1,再参与运算。
  3. 放在变量后,a++, a--表示先参与运算,在使变量加1或者减1;
    如:
    int a=1;
    b=++a;
    此时a=2,b=2;
    a=1;
    b=a++
    此时a=2,b=1;

5.4、比较运算符

  1. 属于二元运算符
  2. 运算结果为boolean型
    包括如下运算符
运算符 操作数据 备注
> 整形、浮点型、字符型
< 整形、浮点型、字符型
== 基本数据类型、引用型
>= 整形、浮点型、字符型
<= 整形、浮点型、字符型
!= 基本数据类型、引用型

5.5、逻辑运算符

  1. 逻辑运算符的操作单元必须是boolean型的数据
  2. 返回值为boolean型

包括如下几种:

运算符 含义 使用方法 结合方向
&&, & 逻辑与 a&&b 左到右
|| 逻辑或 a||b 左到右
逻辑非 !a 右到左

tips

  • &会分别判断两边的表达式,从而做出判断。非短路运算符。
  • &&如果判断左侧的表达式为false那么就不会再判断右侧的表达式,直接输出结果。称为短路运算符。

5.6、位运算

操作符 含义 说明 备注
& 按位与 对应位都是1,输出1,否则0 双目
| 按位或 对应位都是0,输出0,否则1; 双目
~ 按位取反 1改为0,0改为1 单目
^ 按位异或 相同为0,否则为1 双目
<< 左移 左侧操作数向左移动右侧操作数指示的位数,左侧空出的位数补0 双目
>> 右移 左侧操作数向右移动右侧操作数指示的位数,如果最高位为1,右侧空出的位补1,否则补0 双目
>>> 无符号右移 无论最高位为1或者0,右移空出的位置都补0 双目

tips

  • 移位运算符适用的数据类型有byte、short、char、int、long。

5.7、三元运算符

三元运算符的格式如下:
条件式?值 1:值 2
如果条件式的值为true,则取值 1, 否则取值 2;效果相当于if else

5.8、运算符的优先级

通常的优先级次序为

  1. 增量和减量运算
  2. 算术运算
  3. 比较运算
  4. 逻辑运算
  5. 赋值运算

具体如下:

优先级 描述 运算符
1 括号 ()
2 正负号 +、-
3 一元运算符 ++、--、!
4 乘除 *、/、%
5 加减 +、-
6 移位运算 >>、<<、>>>
7 比较大小 <、>、>=、<=
8 是否相等 ==、!=
9 按位与 &
10 按位异或 ^
11 按位或 |
12 逻辑与 &&
13 逻辑或 ||
14 三元运算 ? :
15 赋值运算 =

tips

  • 写代码时尽量使用括号来限定运算顺序,避免出错。

6、数据类型转换

类型转换是将一个值从一种类型更改成另外一种类型。一般可以将任意类型的数据转换成String类型。如果从低精度的类型转换成高精度的类型,则永远不会溢出,而且总是成功的。反之则必然有信息丢失。

6.1、隐式转换

  • 低等级向高等级转化时会自动进行,用户无需操作。转换顺序为:byte如:
    int x=50;
    float y=x;
    y=50.0;
  • char和int转换为int。

6.2、显示转换

当把高精度的变量赋值给低精度的变量时,必须要用显示转换,又称强制类型转换。格式如下:
(类型名)要转换的值如:
int a=(int)45.5;
long b=(long)456.6F;
a=45;b=456;

  • 当把整数赋值给一个byte、short、int、long型变量时,不可以超出这些变量的取值范围,否则必须进行强制类型转换。

7、注释方法

  • 单行注释,如
    // 注释内容
  • 多行注释,如
    /*
    注释内容1
    注释内容2
    ....
    */
  • 文档注释
    /**
    注释内容
    */
    Tips
  1. 多行注释中可以嵌套单行注释
  2. 多行注释中不能嵌套多行注释
  3. 当文档注释出现在声明(如类的声明、类的成员变量的声明、类的成员方法的声明等)之前时,会被Javadoc文档工具读取作为Javadoc文档内容。
  4. 注释可提高可读性和可维护性,程序中必须要添加适当的注释,一般占程序总量的20%-50%

此外写代码的规范:

  1. 每条语句单独占一行,句尾用;结束;
  2. 在声明变量时,尽管两个变量的类型相同,也尽量分两行声明,这样方面添加注释;
  3. 局部变量应在声明的同时进行初始化;
  4. Java代码中,关键字与关键字之间如果有多个空格都会被视为一个,因此控制空格数量。
  5. 添加适量的是、注释使程序可读性强,
  6. 在关键的方法处要添加合适的注释。

你可能感兴趣的:(Java学习笔记(三)--Java的常亮、变量与运算符)