Java知识整理(一)之Basic

补码:反码+1;
-n = ~n + 1; ~n(n取反)
int num = Integer.parseInt(bin,2); //把一个字符串转换成一个数字,
第二个参数是进制,第二个参数不写默认是十进制。
^ 异或 相同为1,不同为0
a=a^b b=a^b a=a^b 互换
基本类型:byte short char int long float double boolean
除了8种基本类型,其他的都是引用类型
long now = System.currentTimeMillis();时间的计算,当前毫秒数,距离1970年到现在的毫秒数
在不超过float的情况下,字面量也是可以直接赋值的,超过的情况加F或f,最好大写;
默认的浮点直接量为double型,如果需要表示float类型的直接量,需要加F或f后缀
强制转换: int a = (int)b;
不满int 类型的,运算时自动转换成int类型进行计算
Random random = new Random(); //随机数,import java.util.Random;
c+random.nextInt(26); //0~25的随机数
int a = i++; //变量i使用完之后再自加1
int a = ++i; //使用变量i之前,i自加1
字符串相等表示: a.equals(b); //这里要注意空指针异常(NullPointerException),a不能为null
int [] arr = new int [3]; //定义完,不赋值,数组创建之后固定长度
int [][] arr = new int [4][]; //第一维的长度必须给[row][col]
int 及int以下类型的每个元素默认值是0,浮点型的默认值是0.0,boolean默认false,引用类型默认null;
System.arraycopy(arr1,0,arr2,0,arr1.length); //(被拷贝,起始位,拷贝后,起始位,拷贝长度)
String str= Arrays.toString(arr); //数组转为字符串
int [] arr = Arrays.copyOf(arr,arr.length+3); //数组扩容的简便方法
Arrays.sort(arr); //正序,快速排序
Arrays.toString(arr); 转换成字符串
右位移>> 无符号位移>>>
double d:保留小数:String.format("%.2f",d);
System.exit(0); //结束java进程
三目运算符后面的类型会有一个小统一;99.9:9----->99.9:9.0
递归:只要找到一层的规律,整个问题就解决了,代码简洁,容易产生栈溢出,能用递归做的事都能用循环,斐波那契
发散递归,效率极其慢(多个分支),使用递归要避免栈溢出,避免发散递归
好的算法的要求:正确可读健壮高效
栈:栈用于存放方法中的局部变量
堆:对象存储在堆中
方法区:方法区用于存放类的信息
import 包名+类名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值