12 - Java基初 变量 常量 运算符

一. 变量

  • 变量是什么:就是可以变化的量!通过变量操作内存中数据
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量类型,变量名和作用域.

变量作用域

  1. 类变量
    写在类里面的变量,要加关键字static
  2. 实例变量
    写在类中间,和类变量差不多,没有static关键字
  3. 局部变量
    写在方法里面,必须声明和初始化值

注意

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型.
  2. 变量名必须是合法的标识符.
  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束.
public class 变量 {
    //类变量 static
    static double salary = 2500;

    //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
    //布尔值:默认是false
    //除了基本类型,其余的默认值都是null.
    String name;
    int age;

    //main方法
    public static void main(String[] args) {

        //局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(i);

        //变量类型  变量名 =   赋值
        变量 demoname = new 变量();
        System.out.println(demoname);
        System.out.println(demoname.name);
        System.out.println(demoname.age);

        //类变量 static
        System.out.println(salary);
    }

    public void add() {
    }
}

二. 常量

  • 常量(constant) : 初始化(initialize)后不能再改变值!不会变动的值.
  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变.
  • 关键字 final
  • 常量名一般使用大写字符
public class 常量 {

    //修饰符,不存在先后顺序
    static final double PI = 3.14;

    public static void main(String[] args) {
        System.out.println(PI);//3.14
    }
}

变量的命名规范

  1. 所有变量,方法,类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词首字母小写意外,后面的单词首字母大写.
  3. 局部变量:首字母小写和驼峰原则.和类成员变量一致
  4. 常量:大写字母和下划线. MAX_VALUE
  5. 类名:首字母大写和驼峰原则. Man,GoodMan
  6. 方法名: 首字母小写和驼峰原则. run(),runRun();

三. 运算符

  1. 算数运算符: +, -, *, /, %(取余,模运算), ++, –
  2. 赋值运算符: =
  3. 关系运算符: >, <, >=, <=, ==, !=, instanceof?
  4. 逻辑运算符: &&, ||, ! (与或非)
  5. 条件运算符: ? :
  6. 扩展赋值运算符: +=, -=, *=, /=
  7. 位运算符: &, |, ^, ~, >> ,<<, >>>(了解就行!!!)

重点掌握前四条

算数运算符

类型转换

package 运算符;

public class Operator {
    public static void main(String[] args) {
        //二元运算符
        int a = 10;
        int b = 20;

        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / (double) b);//0.5

        long l = 1358641315L;
        int i = 654;
        short s = 54;
        byte by = 4;
        System.out.println(l + i + s + by);//Long
        System.out.println(i + s + by);//Int
        System.out.println(s + by);//Int
    }
}

关系运算符

package 运算符;

public class Demo关系运算符 {
    public static void main(String[] args) {
        //关系运算符返回的结果:   正确, 错误  布尔值
        //if

        int a = 10;
        int b = 20;
        //取余,模运算
        int c = 21;
        System.out.println(c % a);//1

        System.out.println(a > b);//false
        System.out.println(a < b);//true
        System.out.println(a == b);//false
        System.out.println(a != b);//true
    }
}

自增自减运算 幂运算

幂运算 Math工具类

package 运算符;

public class Demo自增自减 {
    public static void main(String[] args) {
        //++ -- 自增,自减 一元运算符
        int a = 3;
        int b = a++;//执行完这行代码后,先给b赋值,再自增
        //a=a+1
        System.out.println(a);
        //a=a+1
        int c = ++a;//执行完这行代码后,先自增,再给b赋值
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算 2^3=2*2*2=8
        //很多运算,我们会使用一些工具类来操作!
        double pow = Math.pow(2, 3);
        double pow1 = Math.pow(3, 3);
        System.out.println(pow);
        System.out.println(pow1);
    }
}

逻辑运算符

或与非

package 运算符;

//逻辑运算符
public class Demo {
    public static void main(String[] args) {
        //与(and)或(or)非(取反)
        boolean a = true;
        boolean b = false;

        //逻辑与运算:两个变量都为真,结果才为true
        System.out.println("a && b=" + (a && b));
        //逻辑或运算:两个变量有一个为真,则结果才为true
        System.out.println("a || b=" + (a || b));
        //如果是真,则变为假,如果是假则变为真
        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);//5
        boolean e = (c++ < 4) && (c < 4);
        System.out.println(e);//false
        System.out.println(c);//6
    }
}

位运算 面试题

<< >> 左移 右移 (学习计算机组合成原理)

package 运算符;

//位运算
public class Demo位运算 {
    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
         */
        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
        (可以深入扩展,了解计算机组成原理)
         */
    }
}

扩展赋值运算符 面试题

面试题:字符串连接
字符串在最前和不在最前的区别.

package 运算符;

//扩展赋值运算符
public class Demo扩展赋值运算 {
    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);//10

        //面试题
        
        System.out.println(a + b);//30
        //字符串连接符  +  ,String
        System.out.println("" + a + b);//1020
        System.out.println(a+b+"");//30
    }
}

三元运算符

package 运算符;

//三元运算符
public class Demo三元运算符 {
    public static void main(String[] args) {
        //x ? y : z
        //如果x==true,则结果为 y,否则结果为 z  score(分数)
        int score = 80;
        int score2 = 50;
        String type = score < 60 ? "不及格" : "及格";
        String type2 = score2 < 60 ? "不及格" : "及格";
        System.out.println(type);//及格
        System.out.println(type2);//不及格
    }
}

运算优先级

括号()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠哉悠哉'游仙儿

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值