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<short<int<long<float<double如:
    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. 在关键的方法处要添加合适的注释。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容