Java基础语法02:变量&常量、运算符、包机制

4、变量、常量

1变量:

  1. 定义:可以变化的量(数据),一般由程序员取名,载体是一片内存空间。

  2. 描述:Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域

  3. 分类:以作用域划分

    1. 类变量:在实例变量前加关键字static。
    2. 实例变量:写在所有方法外面,从属于对象
    3. 局部变量:只在该方法(语句块)中能使用
  4. 注意事项:

    • 每个变量都有类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每一个声明必须以分号结尾
    • 实例变量如果不自行初始化,会赋默认值
      • char型:(空字符)
      • 整数/浮点型:0
      • 布尔型:false
      • 引用类型:null

2常量:

常量关键字:final

性质:修饰符,放在常量名前面即可,与其他关键字的相对位置不影响其功能。

eg。 final int num = 10;等效于int final num = 10;

3变量命名规范:

*驼峰原则:多个单词相连除了第一个单词外,后面的单词首字母大写

  • 所有变量、方法、类名:见名知意,尽量用英文单词表示
  • 类成员变量:遵循首字母大写和驼峰原则(eg. monthSalary)
  • 局部变量:首字母小写和驼峰原则(eg。maxNum)
  • 常量:全部大写字母加下划线分割单词(MAX_VALUE)
  • 类名:首字母大写和驼峰原则(eg。MyShop)
  • 方法名:首字母小写和驼峰原则:(eg。run(),runRun())

5、运算符

1Java语言支持以下运算符:

  • 算术运算符:+,-,*,/,%(取余),++,--
  • 赋值运算符: =
  • 关系运算符:>,<,>=,<=,==,!=, instanceof
  • 逻辑运算符:&&,||,!(与或非)
  • 位运算符:&,|,^,~,>>,<<,>>>(对1个二进制数的操作)
  • 条件运算符:? :
  • 扩展赋值运算符:+=,-=,*=,/=

2自增自减算术运算符(一元运算符):

分类:

  • 前缀运算符:先执行自增自减操作,再执行赋值操作
int a= 1,b=0,c=0,d=2;
b=++a;//等效:a=a+1;b=a;此时:a==2;b==2;
c=--d;//等效:d=d-1;c=d;此时:c==1;d==1;
  • 后缀运算:先执行赋值操作,再执行自增自减操作
int a= 1,b=0,c=0,d=2;
b=a++;//等效:b=a;a=a+1;此时:b==1;a==2;
c=d--;//等效:c=d;d=d-1;此时:c==2;d==1;

3使用Math类进行特殊数学运算:

  1. 范例:进行幂运算
double pow = Math.pow(3,2);//计算3^2
System.out.println(pow);

4逻辑运算符:与或非

  1. 规则:
    1. &&与:全真为真
    2. ||或:有真为真
    3. !非:变真为假
  2. 短路现象:二元运算符中,若前半运算式就能进行条件判断,则第二个运算式不会执行。

5位运算

  1. 符号:
    1. &与
    2. |或
    3. ~非
    4. ^异或
    5. "<<"左移: 相当于数据乘2,效率极高
    6. ">>"右移:相当于数据除2,效率极高
  2. 面试题:

计算机算2*8怎么最快:变成2×2×2×2,进行位运算

6扩展运算符

  1. 四则运算相关:
+= : a+=b 等效于 a = a+b
-= : a-=b 等效于 a = a-b
*= :a*=b等效于 a= a*b
/= :a/=b等效于a= a/b
  1. 字符串连接符:

“ 字符串(""空字符也可) +其他类型”输出字符串

7三元运算符(常见,必须掌握)

范例:x?y:z

如果x==ture,则返回结果为y,否则返回结果为z

6、 包机制、JavaDoc

1包机制

  1. 语法格式:package pkg1[.pkg2[.pkg3...]];

  2. 作用:用于区分类名的命名空间

  3. 注意事项:

  • 一般用公司域名倒置作为包名
    • eg.域名www.baidu.com→包名com.baidu.www
  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用import语句完成该功能。
import package1[.package2...].(classname|*);//选择"*"(通配符)可以导入子目录下所有包
posted @ 2021-02-21 10:07  程序员不能懒  阅读(93)  评论(0)    收藏  举报