Day04-变量、常量、运算符、包机制

变量、常量

变量

public class variable{
    //属性:变量
    
    //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
    //布尔值:false
    //除了基本类型,其余的默认值都是null;
    String name;
    int age;
    
    //类变量 static
    static double salary = 2500;
    
    //main方法
    public static void main(String[] args){
        
        //局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(i);
        
    }
}

常量

  • 常量:初始化后不能再改变值!不会变动的值

  • 常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变

  • final 常量名 = 值;
    final double PI = 3.14;
    
  • 常量名一般使用大写字符

public class constant{
    //修饰符,不存在先后顺序
    static final double PI = 3.14;
    final static double PI2 = 3.14;
    
    public static void main(String[] args){
        System.out.println(PI);
    }
}

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 方法名:首字母小写和驼峰原则
  • 常量:全部大写字符和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:GoodMan

变量作用域

public class Variable{
    static int allClicks = 0; // 类变量
    String str = "hello world"; // 实例变量
    
    public static void main(String[] args){
        int i = 0; // 局部变量
    }
}

运算符

Java支持的运算符

  • 算术运算符:+, -, *, /, %, ++, --
  • 赋值运算符:=, +=, -=, *=, /=
  • 关系运算符:>, <, >=, <=, ==, !=, instanceof
  • 逻辑运算符:&&, ||, !
  • 位运算符:&, |, ^, ~, >>, <<, >>>
  • 条件运算符:?, :

运算类型规则

byte,short,char混合运算,各自先转换成int再运算

多种数据类型混合运算,先转换成最大容量的再运算

自增自减运算符

public class Demo{
    public static void main(String[] args){
        // ++ -- 自增自减,一元运算符
        int a = 3;
        
        int b = a++;//运算符在后,先赋值再自增
        int c = ++a;//运算符在前,先自增再赋值
        
        System.out.println(a);//5
        System.out.println(b);//3
        System.out.println(c);//5
    }
}

逻辑运算符,位运算符

逻辑运算符

public class Demo{
    public static void main(String[] args){
        // 与(and) 或(or) 非(取反)
        boolean a = true;
        boolean b = false;
        
        System.out.println("a && b:" + (a && b);//false 逻辑与运算:两个变量都为真,结果才为真
        System.out.println("a || b:" + (a || b));//true 逻辑或运算:两个变量有一个为真,结果为真
        System.out.println("!(a && b):" + !(a && b));//如果是真,则变真为假;如果是假,则变假为真
         
        // 短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
     	System.out.println(d);//false
        System.out.println(c);//c依然是5,因为c<4 为false,直接判断出最终结果为false,后面的c++不执行                   
	}
}

位运算符

public class Demo{
    public static void main(String[] args){
        /*
        A =  0011 1100
        B =  0000 1101
        _____________________________________________
        A&B =0000 1100  A和B两个为1才为1,一个为1就为0
        A|B =0011 1101  A和B其中一个为1就为1
        A^B =0011 0001  A和B两个相同为0,否则为1
        ~B  =1111 0010	非,位数相反
        */
        //—————————————————————————————————————————————
        /*
        EX:
        <<左移 >>右移 
        效率极高!!!!
        System.out.println(2<<3);输出为16
        0000 0000	0
        0000 0001	1
        ------------------------------
        0000 0010	2
        0000 0011	3
        0000 0100	4
        0000 1000	8
        0001 0000	16
        将二进制左移3位即为16
    }
}

三元运算符

x ? y : z

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

包机制

包语句的语法格式为:

package pkg1[.pkg2[.pkg3...]];

一般利用公司域名倒置作为包名

  • 导入某一个包,使用“import”
import package1[package2...].(classname 或者 *);

posted on 2021-06-25 11:28  爱吃酸笋的笋  阅读(59)  评论(0)    收藏  举报