首页 > 代码库 > 2、Java基本语法笔记

2、Java基本语法笔记

一、关键字&标识符

  1、关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词);

  2、保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名时要避免使用这些保留字;

  3、标识符:凡是自己可以起名字的地方都叫标识符;

  4、标识符命名规则(必须遵守):

    1、由26个英文字母大小写,0-9,_或$组成;

    2、数字不可以开头;

    3、不可以使用关键字以及保留字,但能包含关键字以及保留字;

    4、Java中严格区分大小写,长度无限制;

    5、标识符不能包含空格;

  5、Java中的名称命名规范(建议遵守):

    1、包名:多单词组成时所有字母都小写:例如:xxxyyyzzz;

    2、类名、接口名:多单词组成时,所有单词的首字母大写:例如:XxxYyyZzz;

    3、变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:例如:xxxYyyZzz;

    4、常量名:所有字母都大写,多单词时每个单词使用下划线连接:xxx_yyy_zzz;

二、变量:

  1、Java中的变量按照数据类型来分类:

    基本数据类型  vs  引用数据类型

    技术分享

  2、基本数据类型:

    技术分享

    技术分享

    整型:byte  short  int(默认类型)  long

    浮点型:float  double(默认类型)

    字符型:char(‘ ‘)

    布尔类型:boolean(只能取值为true或false,不能取null)

    补充:按照在类中存在的位置的不同可以分为:

      成员变量  vs  局部变量

  3、进制

    技术分享

    1、类型:二进制  十进制  八进制  十六进制

    2、二进制:计算机底层都是使用二进制进行存储以及运算;

      3、二进制与十进制之间的转换:

      1、二进制在底层存储的时候(正数、负数)都是以补码的形式存储的(原码、补码、反码)

      原码:直接将一个数值转换成二进制数;

      反码:为原码取反;

      补码:为反码+1;

      正数的(原码、反码、补码相同);

      第一位为符号位:1表示负数,0表示正数;

      技术分享

    4、四种进制之间的转换;

  4、变量的运算:

    1、自动类型转换:容量小的数据类型自动转换为容量大的数据类型;

    注意:byte short char之间做运算,结果为int。数据类型自动转换按从小到大排序为:

    技术分享

    2、强制类型转换:是自动数据类型转换的逆过程;使用"()"实现强转;但容易导致精度损失或溢出等问题。

三、运算符:

  运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  1、算术运算符:

    + - + - * / % ++ -- +

    技术分享

   注意:1、/ 左右两端的类型需要一致;

      2、%最后的符号和被模数相同;

        3、前++;先+1,后运算   后++;先运算,后+1;

        4、+:当String字符串与其他数据类型只能做连接运算;并且结果为String类型;

  2、赋值运算符:

    = += -= *= /= %=

  3、比较运算符(关系运算符)

    技术分享

    技术分享

    注意:

      1、比较运算符的两端都是boolean类型,也就是说要么是true,要么是false;

      2、比较运算符的"=="与"="的作用是不同的,使用的时候需要小心。

  4、逻辑运算符(符号的两端都是boolean类型):

    技术分享

    注意:

      1、& 与 &&以及|与||的区别:

        &:左边无论真假,右边都会进行运算;

        &&:如果左边为假,则右边不进行运算;

        | 与 || 的区别同上;在使用的时候建议使用&&和||;

      2、(^)与或(|)的不同之处是:当左右都为true时,结果为false。

  5、位运算符(两端都是数值型的数据):

     技术分享

     技术分享

  6、三元运算符

     技术分享

      注意:

        1、表达式1与表达式2的类型必须一致;

        2、使用三元运算符的地方一定可以使用if..else代替,反之不一定成立;

四、流程控制:

  1、顺序结构:程序从上往下顺序执行;

  2、分支结构:

    if..else

    第一种格式: 

if(条件表达式){
   执行的代码块;        
}

    第二种格式:

if(条件表达式){
   执行的代码块;  
}else{
   执行的代码块;  
}

    第三种格式:

if(条件表达式){
  执行的代码块;
}else if(条件表达式){
  执行的代码块;
}......(此处省略N个else if)
else{
  执行代码块;    
}

    注意:1、一旦满足某个条件表达式,则进入其执行语句块执行,执行完毕后不会执行其一下的条件语句。

       2、如果多个条件表达式之间为“互斥”关系,多个语句之间可以上下调换顺序,一旦是包含关系,要求条件表达式范围小的写到范围大的上边;

    swich...case        

swich(变量名){
      case 0:
                 system.out.println("HelloWorld!");  
                 break; 
      case 1:
                 system.out.println("HelloWorld!"); 
                 break; 
      case 2:
                 system.out.println("HelloWorld!");
                 break;  
      .........
      default:
                 system.out.println("HelloWorld!");     
                 break;   
}

      注意:

        1、swich(表达式)中表达式的返回值必须是以下几种类型之一:

          byte,short,char,int,枚举,String

        2、case子句中的值必须是常量,且所有case子句中的值应是不同的;

        3、default子句是可任选的,当没有匹配的case时,执行default;

        4、break语句用来在执行完一个case分支后使程序跳出swich语句块;如果没有break程序会顺序执行到swich结尾;

     if else 与 swich case的对比:

           if和swich语句很想,如果判断的具体数值不多,而且复合byte、short、int、char这四种类型。建议使用swich语句,因为效率稍高;

           其他情况:对区间进行判断,对结果为boolean类型进行判断,使用if,if的使用范围比较广泛。

2、Java基本语法笔记