您的位置:首页 > 编程语言 > Java开发

Java知识整理(一)之Basic

2015-09-19 09:46 239 查看
补码:反码+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 包名+类名;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息