描述

变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。——百度百科

标识符的命名规则

  1. 标识符只能由数字、字母、下划线、$这四种字符组成。
  2. 标识符的首字符不能是数字。
  3. 标识符区分大小写的。如:变量a或变量A代表两个不同的变量。
  4. 标识符不能是系统的保留字,如:public void int …都不能作为变量名。

例:
test、$abc01、_name5等

标识符的命名规范

  1. 一般对变量、方法都是用驼峰式命名法(首单词的首字母小写,以后每个单词首字母大写)如:studentId、studentName
  2. 对类名、接口名一般使用pascal(帕斯卡命名法),每个单词的首字母均大写。
  3. 标识符一般尽量做到望文生义。**如:name、age、addr、sex、id等。
    ####变量的声明及赋值
    1
    2
    3
    4
    5
    public static void main(String[] args) {
    int a; //声明一个变量
    a = 8; //给一个变量赋值
    int A = 11; //声明一个变量并同时赋值
    }

基本数据类型

整数类型(byte short int long)

byte:字节类型,占一个字节,8位 ,范围:-128 到 127
short:短整型,占两个字节,范围:-32768 到 32767
int:整型,占四个字节,范围:-2147483648 到 2147483647?
long:长整型,占8个字节,范围:-9223372036854775808 到 9223372036854775807

浮点类型(float double)

float:单精度度浮点型,占4个字节,保留小数点后7位
double:双精度浮点型,占8个字节,保留小数点后15位
注意:声明float类型时候需要写成float f = 2.3456f,因为java中小数默认是double类型。

字符类型(char)

一个字符型对应ASCII码的值,因此字符类型可以进行计算和比较大小。
①小写字母’a’到’z’对应于97-122
②大写字母’A’到’Z’对应于65-90
③字符’0’到’9’对应于48-57

1
2
3
4
char ch = 'a';
System.out.println("ch = " + ch);
char ch1 = (char)(ch - 32); /将字符'a'转化为'A'
System.out.println("ch1 = " + ch1);

布尔类型(boolean)

布尔类型只能是true或者false

运算符

算术运算符(单目运算符与双目运算符)

  • 双目运算符:就是需要有两个运算数参与的运算符,如:+ - * / %
  • 单目运算符:就是只需要有一个运算数就可进行运算的运算符,如:++ - -
    ①在单独使用时,无论是前加还是后加,前减还是后减,最后结果都是其自加1或者自减1。
    ②与表达式一起使用时候,前++表示先自加1再进行表达式运算,后++表示参与运算后再进行自加1,前后”- -“用法与++相同。

例如:

1
2
3
4
int a = 10;
int c ;
c = a++; //a的值先赋给c,然后进行自加1,所以此时 c = 10,a = 11
c = ++a; //a先自加1,然后再赋值给c,此时 c = 12 ,a = 12

关系运算符(> >= < <= == !=)

关系运算符主要用于比较,两边可以是具体数据,也可以是表达式,其最终运算结果返回一个布尔类型,即true或者false。

逻辑运算符(&& || !)

作用:用于连接关系表达式
逻辑与(&&):所有表达式都为true时,整个逻辑运算结果才为true。短路:参与运算的多个表达式只要有一个为false,其后的表达式就不再执行了。
逻辑或(||):参与运算的多个表达式只要有一个为true,整个表达式就返回true。短路:如果参与运算的多个表达式有一个为true,其后的表达式就不会再执行了
逻辑非(!):可以将一个表达式的布尔结果取反。

赋值运算符

  • 简单赋值运算符:=

    int a = 10 //将一个值赋给一个变量

  • 复合赋值运算符:+= -= *= /=
    1
    2
    3
    4
    5
    6
    7
    int a = 6;     //简单赋值运算符
    a += 4; //相当于:a = a + 5;
    a += 1; //相当于:a = a + 1;即a++;
    a -= 4; //相当于:a = a - 4;
    a *= 7; //相当于:a = a * 3;
    a /= 7; //相当于:a = a / 3;
    a %= 3; //相当于:a = a % 3;

注意:复合赋值运算符不会改变变量的数据类型,当计算结果大于其数据类型时,会自动强制转换为当前数据类型
如下:

1
2
3
4
>byte a =10   //当使用a = a * 250时程序会报错,因为计算结果2500超出了byte类型的范围,而使用a *= 250
>a *= 250 //时程序就不会报错,其实赋值运算的会有一个默认的强制转换。
> //本程序中 a *= 250 等价于 a = (byte)(a * 250)
>

总结

  • 数据类型:byte<short=char<int<long<float<double 表示了数据类型的强弱,弱数据类型向强数据类型转换时,可以自动完成数据类型的转换,强类型向弱类型转换时,需要加上强制转换符,并且可能丢失精度。
  • 运算符的优先级:算术运算符>关系运算符>逻辑运算符>赋值运算符

    ()
    ++ - - !
    */ %
    + -
    \ > >= < <= == !=
    &&
    ||
    = += -= *= /= %=

最后更新: 2019年09月07日 00:06

原始链接: lemonman.top/2019/08/28/Java中的变量、基本数据类型及运算符/

× 请我吃糖~
打赏二维码