Java基础语法2-变量、常量、命名规范、运算符

变量

  • 变量是什么:就是可以变化的量!
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
    type varName [=value] [{,varName[=value]}];
    //数据类型  变量名 = 值:可以使用逗号隔开来声明多个同类型变量
    
  • 注意事项
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每一个声明都必须以分好结束
    public class Helloworld {
        public static void main(String[] args) {
            //int a,b,c;
            //int a=1,b=2,c=3;   //非建议写法,影响程序的可读性
            int a = 1;
            int b = 2;
            int c = 3;
            String name = "zhangsan";
            char x = 'X';
            double pi = 3.14;
        }
    }
    

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
    public class Helloworld {
        static int allClicks = 0;   //类变量
        String str = "hello world";  //实例变量
    
        //其他方法
        public void method(){
            int i = 0;   //局部变量
        }
    }
    
    public class Demo {
        //类变量 static,从属于demo、类,随着demo类一起产生一起消失
        static double salary = 2500;
    
        //属性:变量
        //实例变量:从属于对象:如果不自行初始化,就会自动变成这个类型的默认值,默认值基本都和0或者null相关
        //布尔值:默认是false
        //除了基本类型,其余默认值都是null
        String name;
        int age;
    
        //main方法
        public static void main(String[] args) {
            //局部变量:必须声明和初始化值
            int i = 10;
            System.out.println(i);
    
            //变量类型  变量名字 new Demo();
            Demo demo = new Demo();
            System.out.println(demo.age);
            System.out.println(demo.name);
    
            //类变量static
            System.out.println(salary);
        }
        //其他方法
        public void add(){
    
        }
    }
    

常量

  • 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值,可以理解为特殊的变量
  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
    final 常量名 = 值;
    final double PI = 3.14;
    
  • 常量一般使用大写字符

变量的命名规范

  • 所有变量、方法、类名:见名如意
  • 类成员变量:首字母小写和驼峰原则:monthSalary,除了第一个单词以外,后面的单词首字母大写
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

Java语言支持的运算符 优先级

  • 算数运算符:+,-,*,/,%,++,–
  • 赋值运算:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,>>,<<,>>>(了解!!!)
  • 条件运算符:?:
  • 扩展赋值运算符:+=,-=,*=,/=
    package operator;
    
    public class Demo01 {
        public static void main(String[] args) {
            //二元运算符
            int a = 10;
            int b = 20;
            int c = 25;
            int d = 35;
    
            System.out.println(a+b);
            System.out.println(a-b);
            System.out.println(a*b);
            System.out.println(a/(double)b);
        }
    }
    
    package operator;
    
    public class Demo02 {
        public static void main(String[] args) {
            long a = 12545646545665L;
            int b = 123;
            short c = 10;
            byte d = 8;
            double e = 0.2516456;
    
            System.out.println(a+b+c+d);  //long
            System.out.println(b+c+d);  //int
            System.out.println(c+d);   //int
            System.out.println(d+e);  //double
            //运算中如果有一个数值是long类型,那么结果也为long,如果是double类型,那结果也是double,如果没有比int高的,那么结果都为int类型
        }
    }
    
    package operator;
    
    
    public class Demo03 {
        public static void main(String[] args) {
            //关系运算符的返回结果:正确,错误   布尔值
    
            int a = 10;
            int b = 20;
            int c = 21;
    
            System.out.println(a>b);
            System.out.println(a<b);
            System.out.println(a==b);
            System.out.println(a!=b);
    
            System.out.println(c%a);   // c / a   21 / 10 = 2-----1
        }
    }
    
    package operator;
    
    public class Demo04 {
        public static void main(String[] args) {
            // ++ -- 自增,自减
            int a = 3;
            int b = a++;   //a++ a = a + 1,执行完这行代码后,先给b赋值,赋值完后再自增
            System.out.println(a);
            int c = ++a;   //++a a = a + 1,执行完这行代码前,先自增,再给c赋值
            System.out.println(a);
    
            System.out.println(b);
            System.out.println(c);
    
            //幂运算  2^3    2*2*2 = 8   很多运算,我们会使用一些工具类来操作
            double pow = Math.pow(2,3);
            System.out.println(pow);
        }
    }
    
    package operator;
    
    //逻辑运算符
    public class Demo04 {
        public static void main(String[] args) {
        //与(and) 或(or)  非(取反)
            boolean a = true;
            boolean b = false;
    
            System.out.println("a&&b:"+(a&&b));  //逻辑与运算,两个变量都为真,结果才为true
            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);
            System.out.println(c);
        }
    }
    
    package operator;
    
    
    public class Demo04 {
        public static void main(String[] args) {
                /*
        A = 0011 1100
        b = 0000 1101
        -----------------------
        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001
        ~B =  1111 0010
    
        2 * 8 = 16    2*2*2*2
        <<  >> 左移,右移  效率高
        << *2
        >> /2
        
        0000 0000    0
        0000 0001    1
        0000 0010    2
        0000 0011    3
        0000 0100    4
        0000 1000    8
        0001 0000    16
         */
            System.out.println(2<<3);
        }
    }
    
    package operator;
    
    
    public class Demo04 {
        public static void main(String[] args) {
            int a =10;
            int b =20;
            a+=b; // a=a+b
            a-=b; // a=a-b
            System.out.println(a);
    
            //字符串连接符   +  ,String
            System.out.println(a+b);
            //字符串型(字符串写在前面)和其他类型做加减,都会将其他类型默认转为字符串类型
            System.out.println(""+a+b);
            //字符串型写后面就会以前置的数值加减为默认计算
            System.out.println(a+b+"");
        }
    }
    
    package operator;
    
    //三元运算符
    public class Demo04 {
        public static void main(String[] args) {
            //x ? y : z
            //如果x==true,则为结果y,否则为结果z
            int score = 50;
            String type = score <60 ? "不及格" : "及格";  //必须掌握
            //类似if,可以提升代码的可读性
            System.out.println(type);
        }
    }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值