目录

Java基础语法


Java 基础语法

1 、标识符

1.1 凡是在程序中需要自己命名的地方都是标识符,例如:变量名、包名、类名等

1.2 标识符的命名规则

  • 1、Java 的标识符只能使用 26 英文字母大小写,0-9 的数字,下划线(_)和美元符号($)

  • 2、标识符中不能包含空格

  • 3、数字不能开头

  • 4、不能使用关键字和保留字和特殊值

    • 50 个

      • class

      • 基本数据类型

        • byte,short,int,long,float,double,char,boolean
      • public

      • static

      • void

    • 3 个

      • true
      • false
      • null
  • 5、Java 严格区分大小写

  • 6、Java 标识符没有长度限制,但是不宜太长

1.3 标识符的命名规范

  • 总原则

    • 见名知意,有意义
  • 1、类名,接口名

    • 所有单词的首字母大写

      • XxxYyyZzz
      • 例如:String,System,HelloWorld
  • 2、变量名

    • 第一个单词首字母小写,其余单词首字母大写

      • xxxYyyZzz
      • 例如:age,maxValue
  • 3、包名

    • 所有字母都小写,单词之间使用.分割

      • xxx.yyy.zzz
      • 例如:java.lang
  • 4、常量名

    • 所有字母都大写,单词之间使用下划线_

      • XXX_YYY_ZZZ
      • 例如:MAX_VALUE

2 、变量

2.1 变量是代表内存的一块存储区域

2.2 变量三要素

  • 变量名

    • 给这块存储区域命名,就不用内存地址访问
  • 变量值

    • 这块内存中存的数据
  • 数据类型

    • 决定这块内存的大小

2.3 使用要求

  • 1、先声明后使用

    • 声明格式

      • 数据类型 变量名;
  • 2、在使用之前必须赋值

    • 赋值格式

      • 变量名 = 值;

        • 这个值可以是常量值,表达式
  • 3、变量的作用域

    • 从声明处开始,到它所属的}结束
    • 同一个作用域不能同名

3 、数据类型

3.1 基本数据类型

  • 整型

    • byte

      • 占 1 个字节
      • 存储范围是 -128~127
    • short

      • 占 2 个字节
    • int

      • 占 4 个字节
      • 默认类型
    • long

      • 占 8 个字节
      • 需要在数字后面加 L 或小写 l
  • 浮点型

    • float

      • 占 4 个字节
      • 需要在数字后面加 F 或 f
    • double

      • 占 8 个字节
      • 默认类型
  • 字符型

    • char

      • 占 2 个字节

      • 存储的是字符的 Unicode 编码值

      • 三种方式

        • ‘一个字符’

        • ‘转义字符’

          • 退格

            • \b
          • 回车

            • \r
          • 换行

            • \n
          • \

          • '

          • "

          • Tab 键

            • \t
        • ‘\u 字符的 Unicode 编码值的十六进制形式’

  • 布尔型

    • boolean

      • 只能赋值为 true 或 false
  • 基本数据类型的转换

    • 1、自动类型转换

      • byte,short,char –>int ->long –>float –>double

        • (1)byte,short,char 只要算术运算都要升级为 int 或以上

          • 例如:byte + byte 升级为 int
          • 例如:byte + double 升级为 double
          • 例如:byte + short 升级 int
        • (2)boolean 不参与

        • (3)和字符串拼接的结果都是 String 字符串

    • 2、强制类型转换

      • double–>float–>long–>int–>byte,short,char

        • (1)例如: char c = (char)97;

          • 相当于把’a’字符赋值给 c
      • 需要强制类型转换符(类型)

      • 有可能溢出或损失精度,需谨慎

3.2 引用数据类型

    • 例如:String,System
  • 接口

  • 数组

4 、运算符

4.1 算术运算符

  • 正号

  • 负号

  • 加法

  • 减法

  • 乘法

  • 除法

    -   注意:
    
        -   当整数与整数相除,结果只保留整数部分
        -   当整数与整数相除,被除数/除数 ,除数不能为 0,报异常
        -   当浮点数相除,如果除数为 0,结果是无穷大,非数字
    
  • 取模,求余数

    • %

      • 特殊

        • 会忽略模数的负号
  • 自增

    • ++

      • 对于自增变量来说,一定会自增 1

      • 但是对于表达式的结果,看++在前或在后

        • i++

          • 这个表达式的结果是与 i 自增前的结果一样

            • 例如:int i = 0; int j = i++;

              • j=0,i=1
        • ++i

          • 这个表达式的结果是与 i 自增后的结果一样

            • 例如:int i=0;int j = ++i;

              • j=1,i=1
  • 自减

    • 同自增

4.2 赋值运算符

  • 基本赋值运算符

    • =

      • 把右边的结果赋值给左边的变量
  • 扩展赋值运算符

    • +=, -=,…..

      • 隐含强制类型转换

        • 例如: short s = 1; s += 1;

          • 等价于 s = (short)(s+1);

4.3 比较运算符

  • 大于

  • 小于

    • <
  • 大于等于

    • =

  • 小于等于

    • <=
  • 等于

    • ==
  • 不等于

    • !=
  • 结果一定是 boolean 值,所以比较表达式常常用于条件表达式

4.4 逻辑运算符

  • 逻辑与

    • &

      • 只有左右两边的值都为 true,结果才为 true

        • true & true = true
        • true & false = false
        • false & true = false
        • false & false = false
  • 逻辑或

    • |

      • 只要左右两边的值有一个为 true,结果就为 true

        • true | true = true
        • true | false = true
        • false | true = true
        • false | false = false
  • 逻辑异或

    • ^

      • 只有左右两边一个为 true,另一个为 false,结果才为 true

        • true ^ true = false
        • true ^ false = true
        • false ^ true = true
        • false ^ false = false
  • 逻辑非

    • !

      • !true 即为 false
      • !false 即为 true
  • 短路与

    • &&

      • 结果与&一样

        • 只有左右两边的值都为 true,结果才为 true

          • true & true = true
          • true & false = false
          • false & true = false
          • false & false = false
      • 不同的是

        • 如果左边的表达式为 false,右边的表达式就不计算了,出现短路现象
  • 短路或

    • ||

      • 结果与|一样

        • 只要左右两边的值有一个为 true,结果就为 true

          • true | true = true
          • true | false = true
          • false | true = true
          • false | false = false
      • 不同的是

        • 如果左边的表达式为 true,右边的表达式就不计算了,出现短路现象

4.5 条件运算符

  • 格式

    • 条件表达式 ? 表达式 1 : 表达式 2
    • 整个表达式的结果看条件表达式,如果条件表达式为 true,那么就取表达式 1 的结果,否则取表达式 2 的结果

4.6 位运算符

  • 左移

    • «

      • 相当于乘以 2 的几次

        • 例如:1 « 3

          • 相当于 1 * 2 的 3 次方
      • 右边补 0

  • 右移

      • 相当于除以 2 的几次

        • 例如:16 » 3

          • 相当于 16 / 2 的 3 次方
      • 左边补什么,看最高位,最高位是 1,就补 1,是 0 就补 0

  • 无符号右移

      • 不管最高位是什么,左边都补 0
      • 结果一定是正数
  • 按位与

    • &

      • 运算规则,对应位

        • 1 & 1 = 1
        • 1&0 = 0
        • 0&1 = 0
        • 0&0=0
  • 按位或

    • |

      • 运算规则,对应位

        • 1 | 1 = 1
        • 1|0 = 1
        • 0|1 = 1
        • 0|0=0
  • 按位异或

    • ^

      • 运算规则,对应位

        • 1^ 1 = 0
        • 1^0 = 1
        • 0^1 = 1
        • 0^|0=0
  • 按位取反

    • ~

      • 运算规则,对应位,原来是 1,变成 0,原来是 0,变成 1
  • 所有都是直接用二进制计算(补码)