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 包名+类名;
-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 包名+类名;
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- 穿越到 1983 年学习 BASIC
- FREEBASIC 编译可被python调用的dll函数示例
- ColdFusionMX 编程指南 ColdFusionMX Basic Tag编程
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- Lua和C语言的交互详解
- PostgreSQL ERROR: invalid escape string 解决办法
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法