Java基础整理(二)

变量及常量问题

1. 变量

变量主要分为局部变量实例变量类变量

  • 局部变量

    在方法内部定义,必须声明和初始化值,且作用域只在这个方法中才有效。

  • 实例变量

    从属于对象,如果不自行初始化,这个类型的默认值为0或者0.0,布尔值默认为false,char类型默认为空。除了基本类型,其余默认值均为null。

    public class Demo {
        
        //实例变量
        char c;
        String name;
        
        public static void main(String[] args) {
           Demo hw=new Demo();
            System.out.println(hw.c);
            System.out.println(hw.name);  //null
        }
    }
    
  • 类变量

    类变量的基本标志位static,与实例对象可以对比,它不需要先声明一个对象即可直接使用

    public class Demo {
    
        //类变量
        static int c=1;
    
        public static void main(String[] args) {
            System.out.println(c);
        }
    }
    

2. 常量

初始化后不能再改变值

final 常量名=;
final double PI = 3.14;

其中final为修饰符,不存在先后顺序,即static final和final static性质是一样的,并且常量名一般使用大写字符。

3. 变量的命名规范

  1. 所有变量、方法、类名做到见名知意

  2. 类成员变量:首字母小写和驼峰原则:monthSalary

  3. 局部变量:首字母小写和驼峰原则

  4. 常量:大写字母和下划线:MAX_VALUE

  5. 类名:首字母大写和驼峰原则:Man、GoodMan

  6. 方法名:首字母小写和驼峰原则:run()、runRun()


运算符

  • 位运算

    常用的位运算符有:&,|,^,~,<<,>>

    eg : A=0011 1100

    ​ B=0000 1101 计算下列式子:

    A&B=0000 1100

    A|B=0011 1101

    A^B=0011 0001 (异或)

    ~B=1111 0010

    对于左移<<、右移>>符号常见的面试问题是:

    如何加快对2*8计算的速度?

    public class Demo {
        public static void main(String[] args) {
            System.out.println(2<<3);
        }
    }
    

    2<<3:相当于对0000 0010向左移动三位变为0001 0000

    即<<代表*2,>>代表/2

  • 字符串连接符 ”+“

    对于字符串连接符也是面试中常会考察的基本问题,在输出时会有不小的坑存在!

    示例:

    public class Demo {
        public static void main(String[] args) {
            int a=10;
            int b=20;
            System.out.println(a+b+"");  //30
            System.out.println(""+a+b);  //1020
            System.out.println(a+b+""+a+b);  //301020
        }
    }
    

总结:字符串前的会计算后输出,字符串后的不会计算,直接按序输出。如果想让字符串后的也计算后输出,可以添加括号


Scanner类

创建一个扫描器对象,用于接收键盘数据

Scanner scanner = new Scanner(System.in);

scanner.close();

注:凡是IO流的类使用后一定要关闭,否则会持续占用资源!

类中需要区分的方法:

  • next()

    1. 一定要读取到有效字符后才可以结束输入
    2. 对输入有效字符之前遇到的空白,next()方法会自动过滤
    3. 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
    4. next()不能得到带有空格的字符串
  • nextLine()

    1. 以Enter为结束符,nextLine()方法返回的时输入回车之前的所有字符
    2. 可以获得带有空格的字符串
  • hasNextDouble()

    此方法可用于检查下一个输入是否为数字,整数和小数均符合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值