JAVA程序中常用概念介绍
一、关键字、引用、直接量、变量、长量概念
1、关键字
java内部定义的java语言专用的单词,这些单词具有特殊含义,开发人员在定义自己声明的名称时,应该避开这些专用的单词。这些专用的单词也就称之为java关键字。
java共53个关键字,另外const,goto属于预留关键词,也不要使用。
2、标识符
用户自定义的名称就称之为标识符。
标识符的定义需要遵循的规则如下:
💔 标识符不可以是关键字;
💔 标识符不能以数字开头。
♦ 标识符可以由英文、数字、下划线(_)、美元符号($)组成。
♦ 标识符在定义时应当具有明确的意义,且见名知意。
java推荐使用驼峰命名规则定义标识符,这是java定义标识符的最佳实践。
3、驼峰命名规则
一个标识符可以由一个单词或者多个单词拼接而成。如果标识符用作类名/接口名,则每个单词首字母大写,其他字母小写。
例如:
UserService ProdService
如果标识符用作变量名称,则首单词全小写,之后的单词首字母大写;
例如:
String userName = “zs”;
int userIdNum = 3;
如果标识符用作常量名称,则所有单词全部大写,单词之间用下划线连接;
例如:
final PI_NUM = 3.14159;
专有名词通常全部大写:
例如:String NBA=“nba”;
4、引用、长量、变量、直接量
a、引用
在java中通过引用来执行具体的数据。通过【类型名 标识符】来定义一个引用。
比如:
int i = 30;
final char c = ‘a’;
b、常量
引用分为常量和变量;所谓的常量指的是在程序执行过程中,不可以改变的引用。
引用定义时用的final修饰的就是常量。
final int intValue = 10;
final char c =‘a’;
c、变量
所谓的变量指的是在程序执行过程中,可以改变的引用。引用定义时不用final修饰的就是变量。
int i = 10;
d、直接量
基本数据类型及字符串类型的数据可以直接写下来使用,这样的量就是直接量。
int i = 10;
String str = "afa";
二、运算符
1、概述
运算符:即对数据进行运算的符号。
通过java内置的运算符,可以对对应的数据进行相应操作;JAVA中有若干中类型的运算符:
算数运算符、赋值运算符、关系(比较)运算符、逻辑运算符、位运算符、三元运算符。
2、算数运算符
实现算数运算的运算符。
a、+ - * / %
1)数值类型进行算数运算时,所有参与算数运算的数都会自动转换为参与运算的最大类型,得到的值也是该类型。
int i = 2;
double d = 3.0;
double d2=d /i; //将会得到double类型的1.5
2)整形数字进行除法操作时,会直接将计算结果的小数舍去。
int i = 3/2; //得到的是1而不是1.5
3)进行除法运算时,0不能作为除数,如果0成了除数,在运行阶段会抛出异常
int i = 0;
int j = 3/i; //运行阶段抛出异常
b、 ++ --
++为自加运算,可以在变量之前或者之后拼接,实现变量自加。
如果拼接在变量之前,则变量先自加1,之后使用变量; 如果拼接在变量之后,则使用变量,之后变量先自加1;
int i = 5;
int j = i++ +3 ++i;//等价于j = 5+3+7;
--为自减运算,可以在变量之前或者之后拼接,实现变量自减。
int i = 5;
int j = i-- + 3 + --i;//等价于 int j = 5 + 3 + 3;
3.赋值运算符
实现赋值操作的运算符
a、赋值运算符
实例:
public class Demo03{ public static void main(String args[]){ //=赋值 int i1 = 2; //+=累加赋值 int i2 = 2; i2 += 3; //等价于i2 = i2 + 3; System.out.println(i2); //-=累减赋值 int i3 = 5; i3 -= 2; //等价于i3 = i3 - 2; System.out.println(i3); //*= 累乘赋值 int i4 = 2; i4 *= 3; System.out.println(i4); ///= 累除赋值 int i5 = 3; i5 /= 2; System.out.println(i5); //%= 累余赋值 int i6 = 3; i6 %= 2; System.out.println(i6); } }
5.逻辑运算符
进行布尔类型之间的逻辑运算的运算符。
逻辑运算得到的结果为一个新的布尔类型的值。
a、逻辑运算符
实例:
public class Demo05{ public static void main(String args[]){ // & | ! //System.out.println(true & true); //true //System.out.println(true & false); //false //System.out.println(false & false); //false //System.out.println(true | true); //true //System.out.println(true | false); //true //System.out.println(false | false); //false //System.out.println(!true); //false //System.out.println(!false); //true // && 短路与 左边表达式为false,则不再计算右边表达式,结果直接为false int i = 5; int j = 9; System.out.println(i<3 & (j+=2)>10); System.out.println(j); i = 5; j = 9; System.out.println(i<3 && (j+=2)>10); System.out.println(j); // || 短路或 左边表达式为true,则不再计算右边表达式,结果直接为true i = 5; j = 9; System.out.println(i>3 | (j+=2)>10); System.out.println(j); i = 5; j = 9; System.out.println(i>3 || (j+=2)>10); System.out.println(j); //^异或操作 System.out.println(true^true); System.out.println(true^false); System.out.println(false^false); } }
6、位运算
直接操作二进制的操作符。
& |
二进制与操作 只要有0就得0;都为1才的1 |
1&1 =1 1&0=0 0&0=0 |
| |
二进制或操作 只要有1就得0;都为0才的0 |
1|1 =1 1|0=1 0|0=0 |
~ |
二进制取反操作 1变0,0变1 |
~1=0 ~0=1 |
^ |
二进制异或操作 二者相同为0,不同为1 |
1^1=0 1^0=1 0^0=0 |
<< |
二进制左移操作 |
1100_1101<<2 =>0011_0100 |
> > |
二进制右移操作 左操作数的二进制向右移动指定位数,移除部分抛弃,移入部分补充原来的第一位的值。由于数字的二进制的第一位代表正负,这种 右移保证了正负号不变。 |
1100_1101>>2=>1111_0011 |
>>> |
二进制无符号右移操作 左操作数的二进制向右移动指定位数,移除部分抛弃,移入部分补充0。由于数字的二进制的第一位代表正负,这种右移会造成负数变为正数。 |
1100_1101>>>2=>0011_0011 |
7、三元运算符
a、基本结构
布尔类型的表达式?值1:值2;
先计算第一个表达式的值,如果返回的是true,则整个表达式的值为第二个表表达式的值;
如果返回false,则整个表达式的值为第三个表表达式的值;
3>2?"yes":"no";//表达式的值为yes
三、表达式、语句的概念
1、表达式
java中的一个计算式称之为一个表达式;表达式只是一个运算式,之后不可以跟分号。
比如:
2 + 3
true & false
3 < 5
3 > 2 ? "yes" :"no"
2、语句
一个表达式之后跟一分号,就形成了一个可执行的语句。
♣ 语句之后通常都要跟一个分号表示语句的结束。
♣ 一行内可以同时编写多个语句,但为了代码的简洁,一般一条语句独占一行;
♣ 也可以直接只打一个分号,这样的语句没有内容,也不会执行任何逻辑,称之为一个空语句;
♣ 如果某个语句是以{}表征作用范围,则大括号之后可以不用写分号。
例如:
2+3;
true & false;
class Person {
}