Java补习笔记
来源:互联网 发布:光谷有什么好吃的 知乎 编辑:程序博客网 时间:2024/04/27 22:36
2016年最新Java学习资源路线图(附完整视频资源),Java学习路线,Java培训,Java视频,Java自学 | 黑马程序员官网
Java学习路线图
Java 基础:
面向对象(Static的内存图解)
静态Static
关键字的特点以及注意事项:
静态成员对比成员变量
集合类的使用建议:
流转换为字符类型的工具类:
import java.io.ByteArrayOutputStream;import java.io.InputStream;public class StreamTools { //把一个inputStream 转换成一个String public static String readStream(InputStream in) throws Exception{ //定义一个内存输出流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); int len = -1; byte[] buffer = new byte[1024]; //1kb while((len=in.read(buffer))!=-1){ baos.write(buffer, 0, len); } in.close(); String content = new String(baos.toByteArray()); return content; }}
截取字符-substring
//获取文件名字pick.exe: String path = "http://192.168.1.139:8080/pick.exe"; private static String getFilename(String path){ //不加1的话,截取的字符串是从"/"开始的 int start = path.lastIndexOf("/")+1; String filename=path.substring(start); return filename; // return path.substring(path.lastIndexOf("/")+1); }
final类型的用法:
内部类成员访问外部类成员,需要把该成员变成final类型
map类取出数据:
例子:
Map<String, String> map = new HashMap<String, String>();// Map map = new LinkedHashMap();// 向map中添加键值map.put("1", "aaa");map.put("2", "bbb");map.put("3", "ccc");// 传统方式1Set set = map.keySet(); // 获得map的所有键Iterator iterator = set.iterator(); // 所有的键使用迭代器来装while (iterator.hasNext()) {String key = (String) iterator.next();String value = (String) map.get(key);System.out.println("key:" + key + "value" + value);}//传统方式2Iterator iterator = set.iterator();while (iterator.hasNext()) {Map.Entry entry = (Entry) iterator.next();String key = (String) entry.getKey();String value = (String) entry.getValue();System.out.println(key + "===========" + value);}
传统方式1:
传统方式2:
Java语法增强:
静态导入:
用于简化程序对类静态属性和方法的调用,但实际开发中应用不多
JDK5自动拆箱/装箱:
自动装箱:指开发人员可以把一个基本数据类型直接赋给对应的包装类
自动拆箱:指的是开发人员可以把一个包装类对象直接赋给对应基本数据类型
例子:
List<Integer> list = new ArrayList<Integer>();//创建一个array数组list.add(188); //向数组添加一个数字188int j=list.get(0); //向数组取出下标为0的数字
增强for循环:
只能用在数组或实现了Iteratable接口的集合类上
可变参数:
可变参数可以把它看成一个数组
PS: 可以使用数组来定义的,原理上是一样的
int[] arr={1,2,3,4,5,6};sum(arr);//==sum(1,2,3,4,5,6);
注意事项:
【1】
import org.junit.Test;public class ahha {@Testpublic void TestSum() { sum(1, 2, 3, 4, 5, 6);}// public void sum(int... nums,int x) { 不可以这样写,无法识别public void sum(int x, int... nums) { // x=1,之后由sum分配}}
【2】asList要的是对象,int是基本类型,Integer是对象
int []nums={1,3,4,5}; //基本类型数组Integer []num={1,3,4,5}; //对象数组
所以改为对象数组就可以了
PS:
1.子类在覆盖父类的方法,不能抛出比父类更多的异常
2.字节流可以写任何数据,字符流只可以写字符数据
0 0
- Java补习笔记
- java补习第二天
- java补习第三天
- java补习第四天
- JAVA基础知识补习
- Java基础补习Day1
- Java基础补习Day2
- Java基础补习Day3
- Java基础补习Day4
- Java基础补习Day5
- Java基础补习Day6
- 【补习时间】二分图相关学习笔记
- C语言补习知识点~华清远见上课笔记
- 补习Google
- JDBC补习
- 预处理补习
- ThreadLocal 补习
- C++补习
- IOS 之 UIWindow 详解
- 【USACO5.3】校园网Network of Schools tarjan
- 6 缩 写
- 预定义标识符
- Android 调用系统播放器,调用系统Camera
- Java补习笔记
- caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void … on a null object
- iOS编译过程的原理和应用
- C++ VisualStudio中自动添加inline关键字无法通过编译问题
- ORACLE 主键自增方法
- 7 七个百分比编码
- 【C#】哈希表学习入门
- HDU1686
- 比较两个数组值相同和值不同返回另一个数组