天天看点

Java 之 Java 中的变量、运算符Java 中的变量、运算符

Java 中的变量、运算符

常量和变量

常量:常量是程序中不可改变的量
变量:变量是程序运行中可以修改的量

注意:
    变量名必须以字母下划线或者美元符号"$"开头
    黄色---警告(提示你可能不安全)
    红色---编译错误(语法错误)

    变量名字不能重复定义

    在main函数外面能不能访问(获取)main函数内的变量
    变量生命周期
    在函数中定义变量 局部变量
    局部变量的生命周期 出了函数 就访问不到(被销毁了)

定义变量:(公式)
    数据类型 变量名 = 初值;
           

数据类型分类

基本数据类型
字节类型:
byte     字节类型   在内存当中占一个字节    一个字节使用个二进制位表示( )
例如:
    //定义一个byte类型的变量
    byte b = ;

附:不同数据类型取值范围不同
byte 的取值范围:-~
         可以表示^个数        ----表示个数
 ---    个数 ---  ^ -         ----    
(-) --- (-) 个数
            --- -^            ----   -
二进制的最高位叫符号位(符号位是代表个负数)除了符号位都叫操作位

整型:
short    短整型     占个字节
int      整型       占个字节   取值范围: -^~^ - 
long     长整型     占个字节
例如:
    short s = ;
    int i = ;
    long l = ;

小数类型:
float    单精度浮点型   个字节
double   双精度浮点型   个字节
例如:
    //定义一个double类型的变量
    //如果定义一个小数 系统会默认为是double类型的
    double d = ;
    //定义一个float类型的变量
    //在定义float类型的时候 需要加一个标识(加个f)
    float f = f;

字符类型:
char     注意:赋值字符类型需要用单引号''
例如:
    char a = 'c';

布尔类型:用于判断
boolean
特点:只有两个值 
true/false   真/假
例如:
    //定义一个boolean类型
    boolean bl = false;
    System.out.println(bl);


引用数据类型:类、接口、数组
           

类型转换

隐式转换:
赋值 int 类型的时候,如果用 double 类型接收这个数
系统会把 int 类型转换成 double 类型
注意:隐式转换只能把小类型向大类型去转
例如:
    double d1 = ;
    System.out.println(d1);

强制类型转换:
将一个数据类型强制转换成其他数据类型
例如:
    //定义一个字符类型
    //字符类型和整型之间可以相互转换
    char c = 'a';
    System.out.println((double)c);
           

运算符

算术运算符

+ - * /
%(取余运算/取模运算)
++ --(一般在循环当中使用、循环增量、计数器、递归)

例如:
    //对比自己小的数取余等于这个数本身
    //零对任何数取余都是零
    System.out.println(%);
    //自增(减)运算符
    //a++表示 a = a + 1;
    //a--表示 a = a - 1;
    //如果++在后(a++),先参与运算,再进行自增
    //如果++在前(++a),先进行自增,再参与运算
    int a = ;
    a++;
    System.out.println(a);

    int a1 = ;
    int b1 = a1 + a1++;// 10 + 10
    System.out.println(a1);// 11
    System.out.println(b1);// 20

    int a2 = ;
    int b2 = a2 + ++a2;// 10 + 11
    System.out.println(a2);// 11
    System.out.println(b2);// 21

    int a3 = ;
    int b3 = a3++ + a3;// 10 + 11
    System.out.println(a3);// 11
    System.out.println(b3);// 21

    int a4 = ;
    int b4 = ++a4 + a4;// 11 + 11
    System.out.println(a4);// 11
    System.out.println(b4);// 22
           

逻辑运算符

&& 逻辑与
书写方式:
(判断条件) && (判断条件)
规则:一假则假
如果条件和条件同时为真,这时整个表达式返回一个真
如果条件和条件有一个为假,这时整个表达式返回一个假
例如:
    boolean bl1 = true && false;
    System.out.println(bl1);

|| 逻辑或
书写方式:
(判断条件) || (判断条件)
规则:一真则真
如果条件和条件同时为假,这时整个表达式返回一个假
如果条件和条件有一个为真,这时整个表达式返回一个真
例如:
    boolean bl2 = false || true;
    System.out.println(bl2);

!  逻辑非 : 非真既假 非假既真
例如:
    boolean bl3 = !true;
    System.out.println(bl3);

注意: 逻辑与 和 逻辑或 短路现象
例如:
    /*
     * 逻辑与短路
     * 当条件1为假时,整个表达式均为假,这时条件2根本不会被执行
     */

    int num1 = ;
    int num2 = ;
    boolean b1 = (num1 < num2) && (++num1 > num2);
    System.out.println(num1);
    System.out.println(b1);

    /*
     * 逻辑或短路
     * 当条件1为真时,整个表达式均为真,这时条件2根本不会被执行
     */

    int num3 = ;
    int num4 = ;
    boolean b2 = (num3 > num4) || (++num3 > num4);
    System.out.println(num3);
    System.out.println(b2);
           

关系运算符

> < <= >= == !=
a > b 成立返回一个 true 反之返回 false
判断条件上使用
           

赋值运算符

三目运算符(三元运算符/条件表达式)

三目运算符:
(判断条件) ? 值 : 值;
成立 返回值
不成立 返回值
例:
    // 求两数之间的最大值
    int num1 = ;
    int num2 = ;
    int max = (num1 > num2) ? num1 : num2;
    如果判断条件成立则返回num1
    如果判断条件不成立则返回num2
    System.out.println(max);

例:
    //使用三木运算符求三个数的最大值
    int num1 = ;
    int num2 = ;
    int num3 = ;
    int max = (num1 > num2) ? num1 : num2;
    max = (max > num3) ? max : num3;
    System.out.println(max);
           

http://blog.csdn.net/huzongnan/article/list