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

 <<     

二进制左移操作
左操作数的二进制向左移动指定位数,移除部分抛弃,移入部分补充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 {

posted @ 2019-04-05 19:58  虎啸千峰  阅读(361)  评论(0编辑  收藏  举报