java 基础知识

实例变量、局部变量、类变量

package com.chen.base;
​
public class demo08 {
​
    //实例变量:从属于对象;如果不初始化,则会输出这个类型的默认值   基本数据类型的默认值为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);
​
        //实例变量这样用:
        //变量类型 变量名字 = new com.chen.base.demo08();
        demo08 demo08 = new demo08();
        //com.chen.base.demo08 com.chen.base.demo08 = new com.chen.base.demo08();
        System.out.println(demo08.age);
        System.out.println(demo08.name);
​
        //类变量: static
        System.out.println(salary);
    }
​
    //其他方法
    public void add(){
​
    }
}

常量

public class demo09 {
​
    //修饰符,不存在先后顺序
    //常量,定义后不能被改变,用final修饰
    static final double PI = 3.14;
    final static double PI1 = 3.22;
​
    public static void main(String[] args) {
        System.out.println(PI);
        System.out.println(PI1);
    }
}

二元运算符

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl + D:复制当前行到下一行
        int a = 10;
        int b = 15;
        int c = 20;
        int d = 25;
​
        System.out.println(a+b);//25
        System.out.println(a-b);//-5
        System.out.println(a*b);//150
        System.out.println(a/(double)b);//0.6666
    }
}

public class Demo02 {
    public static void main(String[] args) {
        long a = 12323445874455L;
        int b = 123;
        short c = 10;
        byte d = 8;
        byte e = 1;
        short f = 8;
​
        System.out.println(a+b+c+d);//long
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int
        System.out.println(e+f);//int
​
        //精度从 低->高
        // byte short char int long float double
        //运算结果的类型按照式子中最高精度来算,若最高精度低于int,则按int运算
    }
}

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确 错误  (布尔值)
​
        int a = 10;
        int b = 20;
        int c = 21;
​
        System.out.println(c%a);//1,取余,模运算
        System.out.println(a<b);//true
        System.out.println(a>b);//false
        System.out.println(a==b);//false
        System.out.println(a!=b);//true
    }
}

一元运算符

public class Demo04 {
    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;//执行完这行代码前,先自增,后给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);//2的3次方
        System.out.println(pow);
    }
}

逻辑运算符

//逻辑运算符   &&(与)   ||(或)   !(非)(取反)
public class Demo05 {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
​
        System.out.println("a&&b:"+(a&&b));//逻辑与运算:同真为真,其余为假
        System.out.println("a||b:"+(a||b));//逻辑或运算:同假为假,有真则真
        System.out.println("!(a&&b):"+!(a&&b));//逻辑非运算:如果真,则变假;如果假,则变真
​
        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);//c<4为假,&&运算就直接为假了,没有算后面半截,所以没有算c++
        System.out.println(d);//false
        System.out.println(c);//5
    }
}

位运算

public class Demo06 {
    public static void main(String[] args) {
        /*
        位运算:
        A = 0011 1100
        B = 0000 1101
        ----------------------------------------
        A&B = 0000 1100  (与)同1为1,其余为0
        A|B = 0011 1101  (或)同0为0,有1为1
        A^B = 0011 0001  (异或)相同为0,不同为1
        ~B = 1111 0010   (非)取反
         */
​
        /*
        2*8=16   2*2*2*2
        <<(左移)    *2
        >>(右移)    /2
​
        0000 0000  0
        0000 0001  1
        0000 0010  2
        0000 0100  4
        0000 1000  8
        0001 0000  16
​
        2中的1,往左移3位就是16
         */
        System.out.println(2<<3);//16
        System.out.println(16>>>3);//2  无符号右移
        System.out.println(16>>3);//2
    }
}

扩展赋值运算符

public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
​
        a+=b;//a = a+b
        System.out.println(a);//30
​
        a-=b;//a = a-b = 30 - 20 = 10
        System.out.println(a);//10
​
        a*=b;//a = a*b = 10*20 = 200
        System.out.println(a);//200
        
        a/=b;//a = a/b = 200/20 = 10
        System.out.println(a);//10
​
        //字符串连接符  +       在+两侧出现String类型时,会把其他操作数转换成String类型进行运算,连接
        System.out.println("我"+a+b);//我1020,+结合性为左到右,String在最左侧,则会转换后面的操作数
​
        System.out.println(a+b+"我");//30我,先进行a+b,再与String结合
    }
}

三元运算符(条件运算符)

//导入这个包下所有的类
import com.chen.base.*;
​
//三元运算符
public class Demo08 {
    public static void main(String[] args) {
        //x ? y : z
        //如果x==true,则结果为y,否则为z
​
        int score = 80;
        String type = score < 60 ? "不及格" : "及格";
        System.out.println(type);
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值