Java专项练习知识点整理第二天

1.switch 语句中的变量类型
可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量
2.找出非法表达式

  • a!= 4||b==1
  • ’a’ % 3
  • ’a’ = 1/3(错误)
  • ’A’ + 32

‘a’可被视为ASCII码为97的常数,常数不能被赋值

3.数组复制


		int[] a1 = {1,3,5,7};
		int[] a2 = a1.clone();
		System.out.println("clone方法");
		System.out.println(Arrays.toString(a2));
		System.out.println("--------------");
		
		int[] a3 =new int[10];
		System.arraycopy(a1, 0, a3, 3, a1.length);
		System.out.println("System.arraycopy方法");
		System.out.println(Arrays.toString(a3));
		System.out.println("--------------");
		
		int[] a4 =Arrays.copyOf(a1, a1.length);
		System.out.println("Arrays.copyOf方法");
		System.out.println(Arrays.toString(a4));
		System.out.println("--------------");
		
		int[] a5 = Arrays.copyOfRange(a1,0, a1.length);
		System.out.println("Arrays.copyOfRange方法");
		System.out.println(Arrays.toString(a5));
		System.out.println("--------------");
		
		int[] a6 =new int[a1.length];
		for (int i=0;i<=a1.length-1;i++){
			a6[i]=a1[i];
		}
		System.out.println("for循环");
		System.out.println(Arrays.toString(a6));
	输出结果
		clone方法
		[1, 3, 5, 7]
		--------------
		System.arraycopy方法
		[0, 0, 0, 1, 3, 5, 7, 0, 0, 0]
		--------------
		Arrays.copyOf方法
		[1, 3, 5, 7]
		--------------
		Arrays.copyOfRange方法
		[1, 3, 5, 7]
		--------------
		for循环
		[1, 3, 5, 7]

4.try-catch-finally 规则( 异常处理语句的语法规则 )

  • 必须在 try 之后添加 catch 或 finally 块。try 块后可同时接 catch 和 finally 块,但至少有一个块。
  • 必须遵循块顺序:若代码同时使用 catch 和 finally 块,则必须将 catch 块放在 try 块之后。
  • catch 块与相应的异常类的类型相关。
  • 一个 try 块可能有多个 catch 块。若如此,则执行第一个匹配块。即Java虚拟机会把实际抛出的异常对象依次和各个catch代码块声明的异常类型匹配,如果异常对象为某个异常类型或 其子类的实例,就执行这个catch代码块,不会再执行其他的 catch代码块
  • 可嵌套 try-catch-finally 结构。
  • 在 try-catch-finally 结构中,可重新抛出异常。
  • 除了下列情况,总将执行 finally 做为结束:JVM 过早终止 (调用 System.exit(int)) ;在 finally 块中抛出一个未处理的异常;计算机断电、失火、或遭遇病毒攻击。

由此可以看出,catch只会匹配一个,因为只要匹配了一个,虚拟机就会使整个语句退出

5.Java语言性特点

  • Java致力于检查程序在编译和运行时的错误
  • Java能运行虚拟机实现跨平台
  • Java自己操纵内存减少了内存出错的可能性
  • Java还实现了真数组,避免了覆盖数据的可能

你可能感兴趣的:(Java错题集)