重学java「二」
来源:互联网 发布:游戏视频制作软件 编辑:程序博客网 时间:2024/06/04 18:17
1.Java StringBuffer 和 StringBuilder 类
- 当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
- StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
- StringBuilder 的方法不是线程安全的(不能同步访问)。由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类
- 在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer("菜鸟教程官网:"); sBuffer.append("www"); sBuffer.append(".runoob"); sBuffer.append(".com"); System.out.println(sBuffer); }}
结果:
菜鸟教程官网:www.runoob.com
2foreach循环与数组:
能在不使用下标的情况下遍历数组。
public class TestArray { public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素 for (double element: myList) { System.out.println(element); } }}
*Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:
- 给数组赋值:通过 fill 方法。
- 给数组赋值:通过 fill 方法。
- 对数组排序:通过 sort 方法,按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
2.finalize() 方法
Java 的内存回收可以由 JVM 来自动完成。如果你手动使用,则可以使用finalize() 方法。
3.Scanner 类
1)next方法:
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 从键盘接收数据 //next方式接收字符串 System.out.println("next方式接收:"); // 判断是否还有输入 if(scan.hasNext()){ String str1 = scan.next(); System.out.println("输入的数据为:"+str1); } } }
结果:
next方式接收:runoob com输入的数据为:runoob
2)nextLine方法:
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 从键盘接收数据 //nextLine方式接收字符串 System.out.println("nextLine方式接收:"); // 判断是否还有输入 if(scan.hasNextLine()){ String str2 = scan.nextLine(); System.out.println("输入的数据为:"+str2); } } }
结果:
nextLine方式接收:runoob com输入的数据为:runoob com
3)区别:
next():
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
nextLine():
- 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。
4.异常处理
4.1异常分类:
- 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
- 运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
- 错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
4.2异常捕获
1)使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。
try/catch代码块中的代码称为保护代码,使用 try/catch 的语法如下:
try{ // 程序代码}catch(ExceptionName e1){ //Catch 块}
例:
import java.io.*;public class ExcepTest{ public static void main(String args[]){ try{ int a[] = new int[2]; System.out.println("Access element three :" + a[3]); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("Exception thrown :" + e); } System.out.println("Out of the block"); }}
2)throws/throw 关键字:
3)finally关键字:finally 关键字用来创建在 try 代码块后面执行的代码块。
无论是否发生异常,finally 代码块中的代码总会被执行。
在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。
0 0
- 重学java「二」
- 重学java(二)
- 重学java笔记「一」
- 重学C++ (二)
- Fibonacci [java重学]
- 准备重学java,
- 重学微积分(二)
- 有必要重学java吗
- 重学java(一)
- Java 重学笔记 1
- 重学java,个人学习
- 重学C++ (二) 数组和指针
- 重学Spring(二)自动装配
- Java从头学(二)
- 重拾Java(二)
- Again to learn java重学java
- 【重学java之路】宠物商店实例
- 这几天来重学Java的感受
- SVN服务器搭建与使用二
- 线程池常用类学习笔记
- 函数调用栈理解
- pthread多线程同步大全
- scrapy 爬课程信息
- 重学java「二」
- React实战-未来是属于React的
- 字符串核函数的快速计算(一) 翻译
- mysql常用命令
- 远程连接Linux IP
- AUTOCAD二次开发-----删除一个图层里面的所有对象
- vmware centos 虚拟机与主机通信 并且能上网
- nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type
- 实体定位 autoCAD 二次开发