2020-09-27

简述一下Java的跨平台原理:

由源文件(.java)--->字节码文件(.class)(二进制文件)-----> 解释---->Unix,Win,Linux等机器。
1.一次编译,到处运行
2.编译器的作用:将源文件编译成class文件
3.虚拟机的作用:将字节码文件解释成对应平台机器码并执行。
4.java可以实现跨所有的平台?只有提供并且安装了相对应的虚拟机就可以跨该平台。
5.虚拟机和解释器的关系:解释器是虚拟机的一个重要的组成部分。
6.Java语言的执行要经过编译和解释两个阶段。

while 与 do-while的区别

       while语句是先判断循环条件,如果条件为真怎执行循环体;而do-while语句则先执行一次循环体,然后才判断循环条件,如果循环条件为真,则执行下一次循环,否则终止循环。

int[ ]是一种数据类型吗?

      int[ ] 是一种数据类型,是引用类型。与 int 类型,double 类型相似,一样可以使用该类型定义变量。

 

java中数据扩容的三种方式

        int[] arr2 = new int[arr1.length*2]; //新数组长度
		for(int i = 0 ; i < arr1.length ; i++) {
			arr2[i] = arr1[i];
		}
		
		int[] arr2=java.util.Arrays.copyOf(原数组名,新数组长度);
		
		int[] arr2=new int[arr1.length*2]
		System.arraycopy(原数组名,起始下标,新数组名,起始下标,复制长度);

 

写一个冒泡排序方法:

	public static int[] Bubblesort(int[] nums) {
		int temp;
		//外层 i < nums.length-1
		for(int i = 0 ; i < nums.length-1 ; i++) {
			//内层 j < nums.length-i-1
			for(int j = 0 ; j < nums.length-i-1 ; j++) {
				if(nums[j] > nums[j+1]) {
					temp = nums[j];
					nums[j] = nums[j+1];
					nums[j+1] = temp;
				}
			}
		}
		return nums;
	}

 

处理一个以字符串形式输入的整串数组,并在不影响其他排序的情况下将数组中的 ‘0’ 移动到最后位置:

	public static void main(String[] args) {
		System.out.println("请输入需要处理的数组:");
		Scanner input1 = new Scanner(System.in);
		String str = input1.next().toString();
		String str1 = (String) str.subSequence(1, str.length()-1);
		
		String[] str2 = str1.split(",");
		String temp;
		
		for(int i = 0 ; i < str2.length-1 ; i++) {
			for(int j = 0 ; j < str2.length-i-1 ; j++) {
				if(str2[j].equals("0")) {
					temp = str2[j];
					str2[j] = str2[j+1];
					str2[j+1] = temp;
				}
			}
		}
		
		System.out.print("处理后的数组为:\n[");
		for(int i = 0 ; i < str2.length-1 ; i++) {
			System.out.print(str2[i]+",");
		}
		System.out.println(str2[str2.length-1]+"]");
		
	}

运行结果:

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页