7、变量、常量、作用域

变量

java 变量域 闭包 java中变量的作用域_java 变量域 闭包

变量作用域

java 变量域 闭包 java中变量的作用域_java 变量域 闭包_02

  1. 局部变量是在方法中的,必须声明和初始化值
方法和函数的区别

面向对象的语言叫方法

面向过程的语言叫函数

在java中没有函数这么一说,只有方法一说。实际上方法就是函数,函数就是方法,只是在不同的语言不同的称呼而已。

  1. 实例变量,从属于对象,若不赋值,则基本类型的默认值为 0 或0.0,布尔类型的默认值为false,除了基本类型其余类型的默认值都为null; 使用的时候需要new一下对象才能用“.”使用。
  2. 类变量:有static关键词,不用new就能直接调用;(static可以放在前边或者中间)

常量

java 变量域 闭包 java中变量的作用域_默认值_03

注意:怎么理解常量是特殊的变量,即声明时加上static,就可以直接调用,不加static的实例常量,则还需要new一下;

命名规范

java 变量域 闭包 java中变量的作用域_java 变量域 闭包_04

注意:即变量和方法名都是首字母小写和驼峰,类名是首字母大写和驼峰;**

8、运算符

java 变量域 闭包 java中变量的作用域_java 变量域 闭包_05

注意:

  1. 除运算符需要考虑有没有小数,所以强制转换一下成double;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sw5VINfO-1647864385771)(C:\Users\11422\Desktop\javastudy\文档图片\image-20220226145154743.png)]
  2. 类型的自动转换:很神奇

当有long类型是,自动变为long;当没有long时,无论有没有int,都自动变为int型!

  1. a++:先用a,再把a+1; ++a:先a+1,再用加过的a;
  2. 有一些运算(比如幂运算)没有运算符,则可以用math工具类。

java 变量域 闭包 java中变量的作用域_java 变量域 闭包_06

  1. **“+”运算符,当先运算的一方为string类型的,则全部都按照字符串进行拼接,**★
    eg:int a=10,b=20;
    println(""+a+b)
    println(a+b+“”)
    结果为:1020
    30(特别注意)

短路运算

java 变量域 闭包 java中变量的作用域_java_07

此时c的结果为5,因为在运行到c<4时,就已经停止运算短路了。

位运算

  • &,|,^(异或) , ~ (取反)

java 变量域 闭包 java中变量的作用域_java 变量域 闭包_08

  • << 表示左移,不分正负数,低位补0(意义为*2)
  • >> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1(意义为/2)
  • >>> 表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0

三元运算符

a+=b:a=a+b

x ? y : z 如果x==true,则结果为y,否则为z