数据类型面试

整数拓展 二进制0b 十进制 八进制0 十六进制0x

int i=10;

int i2=010; //八进制

int i3=0x10;//十六进制


避免使用浮点类型进行比较

BigDecimal 数学工具类

//转义字符
        // \t 制表符 TAB
        // \n 换行
        char c3='\u0061';
        System.out.println("Hello\tWorld");
        System.out.println(c3);
        System.out.println('\u0061');
        System.out.println("==============================");
        String sa = new String("Hello world");
        String sb = new String("Hello world");
        System.out.println(sa==sb);
        String sc = "Hello world";
        String sd = "Hello world";
        System.out.println(sc==sd);

类型转换

jdk7新特性,数字之间可以用下划线_分隔,不影响输出。

程序可读性!

变量

作用域:类变量、局部变量、实例变量

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

实例变量:从属于对象;(已学过面向对象java!)不进行初始化,默认0 或者 0.0

布尔值:默认false

除了基本类型:都默认Null;

类变量:加了个 static。从属于类。

修饰符,不存在先后顺序

常量使用大写字母,例如

static final double PI=3.14;

变量命名原则

驼峰原则,例如 lastName;

常量:全大写加下划线 MAX_VALUE

类名:Man,GoodMan

运算符(复习)

% 取余运算叫做模运算。

operator 运算符

Ctrl+D 复制当前行到下一行。

++、-- 自加 自减 一元运算符

a++ 先复制后再操作

++a 先操作后赋值。

幂运算

幂运算,使用一些工具类。

double pow = Math.pow(3,2);

逻辑运算符 && || !

短路运算!

int c=5;
boolean d=(c<4)&&(c++<4);//前面为false,后面就不执行了。

位运算符 & | ^ ~(二进制运算)已学过

~B :取反。

^:异或运算。

面试题

<< 左移,例如

System.out.println(2<<3);

0000 0010 2

0000 0100 4

0000 1000 8

0001 0000 16

<<左移相当*2 ,>>右移相当/2

效率极高。(计算机组成原理)

字符串连接符 +

例如

int a=10;
int b=20;
System.out.println(""+a+b);

三元运算符 ?

x ? y : z //更加精简,必须掌握。

偷懒的写法,正常是用 if 来判断。

posted on 2021-03-07 23:21  猫客侠  阅读(67)  评论(0)    收藏  举报