漫漫Java学习路,第五天

package cn.tedu.array;
import java.util.Arrays;
//本类用于练习数组的创建
public class TestArray {
	public static void main(String[] ages) {
		char[] c1 = {'h','e','l','l','o'};//静态创建
		char[] c2 = new char[] {'w','o','r','l','d'};//静态创建
		char[] c3 = new char[5];//动态创建
		//我们通过数组的下标来操作数组中的每一个元素,注意数组下标从0开始
		c3[0] = 'h';
		c3[1] = 'e';
		c3[2] = 'l';
		c3[3] = 'l';
		c3[4] = 'o';
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);
		System.out.println("---------------");
		String[] s1 = {"a","b","c"};
		String[] s2 = new String[] {"a","b","c"};
		String[] s3 = new String[3];
		s3[0] = "a";
		s3[1] = "b";
		s3[2] = "c";
		/*char类型的数组,在底层代码中做了处理,可以直接打印数组名查看数组中具体元素
		 * 除了char类型以外的数组如果想查看数组中的具体元素
		 * 则需要使用数组的工具类:Arrays
		 * 具体方法:Arrays.toString(数组名),注意Arrays使用时需要导包*/
		System.out.println(Arrays.toString(s1));
		System.out.println(Arrays.toString(s2));
		System.out.println(Arrays.toString(s3));
	}
}
package cn.tedu.array;
import java.util.Arrays;
//本类用于回顾数组的创建方式
public class TestArray2 {
	public static void main(String[] ages) {
		int[] a = {1,2,3,4,5,6};
		int[] b = new int[] {1,2,3,4,5,6};
		int[] c = new int[6];
		c[0] = 1;
		c[1] = 2;
		c[2] = 3;
		c[3] = 4;
		c[4] = 5;
		c[5] = 6;
		System.out.println(Arrays.toString(a));
		System.out.println(Arrays.toString(b));
		System.out.println(Arrays.toString(c));
		/*int是基本类型,int[]代表的是int数组,是引用类型
		 * 而数组类型的变量比如a,保存的就是数组的地址值,而不是数组中的多个具体元素*/
		System.out.println(a);
		
		/*数组一旦创建,长度不可改变,如果想要增加/删除数组中的元素
		 * 只能先创建一个新长度的数组,再将原来的数据复制过去*/
		System.out.println(a.length);//查看数组的长度
		
 	}
}
package cn.tedu.array;
import java.util.Arrays;
import java.util.Random;
//本类用于数组练习
public class TestArrayExec {
	public static void main(String[] ages) {
		dayOfMonth();
		addNumToArray();
		createArray();
 	}
	private static void createArray() {
		int[] a = new int[6];
		for(int i=0;i<a.length;i++) {
			a[i] = new Random().nextInt(100);
		}
		System.out.println(Arrays.toString(a));
	}
	private static void addNumToArray() {
		int[] a = new int[10];
		for(int i=0;i<a.length;i++) {
			a[i] = (i+1);
		}
	System.out.println(Arrays.toString(a));	
	}
	private static void dayOfMonth() {
		int[] a = {31,28,31,30,31,30,31,31,30,31,30,31};
		for(int i=0;i<a.length;i++) {
			int b = a[i];
			System.out.println((i+1)+"月有"+b+"天");
		}
	}
}
package cn.tedu.array;
import java.util.Arrays;
//本类用于练习数组的扩容与缩容
public class TestArraysCopOf {
	public static void main(String[] ages) {
		int[] from = {1,2,3,4,5};//数组一旦创建,长度不可改变
		
		/*1.copyOf()用于完成数组的复制,两个参数:
		 * 参数1:要复制哪个数组
		 * 参数2:新数组的长度*/
		int[] to = Arrays.copyOf(from, 5 );
		System.out.println(Arrays.toString(from));
		System.out.println(Arrays.toString(to));
		
		/*2.1扩容:给数组扩大容量,新数组长度>原数组长度
		 * 扩容思路:先创建对应新长度的新数组,每个位置初始化默认值为0
		 * 然后从原数组中将数据复制到新数组,没有被覆盖的位置还是默认值0*/
		int[] to2 = Arrays.copyOf(from, 10);
		System.out.println(Arrays.toString(to2));
		
		/*2.2.缩容:缩小数组的容量,新数组长度<原数组的长度
		 * 缩容思路:先创建对应新长度的新数组,每个位置初始化默认值为0
		 * 然后从原数组中复制指定个数的数据到新数组中,类似于"截取"一部分*/
		int[] to3 = Arrays.copyOf(from, 3);
		System.out.println(Arrays.toString(to3));
		
		/*2.3.指定首尾截取原数组中的元素
		 * copyOfRange()用于完成数组的截取
		 * 参数1:要截取哪个数组[原数组]
		 * 参数2:从那个下标开始[包含此下标对应的元素]
		 * 参数3:到哪个下标结束[不包含此下标对应的元素]
		 * 参数3如果超过原本数组的下标,会在截取的同时给新数组扩容*/
		int[] to4 = Arrays.copyOfRange(from, 2, 4);
		System.out.println(Arrays.toString(to4));
		
		int[] to5 = Arrays.copyOfRange(from, 1, 7);
		System.out.println(Arrays.toString(to5));
	}
}
package cn.tedu.basic;
import java.util.Arrays;
//本类用于实现冒泡排序
public class BubbleSort {
	public static void main(String[] ages) {
		int[] a = {27,96,73,25,21};
		//method(a);
		//我们使用数组工具类Arrays的sort()对数组元素进行排序
		Arrays.sort(a);
		System.out.println(Arrays.toString(a));
	}
	/*private static void method(int[] a) {
		for(int i=1;i<a.length;i++) {
			for(int j=0;j<a.length-i;j++) {
				if(a[j] > a[j+1]) {
					int k = a[j];
					a[j] = a[j+1];
					a[j+1] = k;
				}
			}
			System.out.println("第"+i+"轮比较后的结果"+Arrays.toString(a));
		}
		System.out.println(Arrays.toString(a));
	}*/
}
package cn.tedu.basic;

import java.util.Random;

//本类用于练习do-while循环
public class TestDoWhile {
	public static void main(String[] ages) {
		int n;
		do {
			System.out.println("我是循环体");
			n = new Random().nextInt(300);
			System.out.println(n);
		}while(n>100);
	}
}
package cn.tedu.basic;
//本类用于测试方法的重载
public class TestMethod {
	public static void main(String[] args) {
		/*1.我们通过方法名+参数列表确定具体调用哪个方法
		 * 2.方法的重载:
		 * 在同一个类中,存在方法名相同,但是参数列表不同的方法
		 * 如果在同类中,同名方法的参数个数不同,一定构成重载
		 * 如果在同类中,同名方法的参数个数相同,可能构成重载
		 * 需要查看对应位置上参数的类型,而不是参数名,与参数名无关
		 * (int a,String b) 和 (int b,String a)---不构成重载
		 * (int a,String b) 和 (String a,int b)---构成重载*/
		method();
		method(666);
		method(999,"感冒灵");
		method("屠龙宝刀",999);
	}
	private static void method() {
		System.out.println("哈哈哈哈我没有参数~");
	}
	private static void method(int a) {
		System.out.println("哈哈哈哈我真的"+a);
	}
	private static void method(int a,String b) {
		System.out.println(a+b+",治感冒真好使");
	}
	private static void method(String a,int b) {
		System.out.println(a+"点击就送,一刀"+b+",是兄弟就来砍我呀!!!");
	}
}
package cn.tedu.basic;
import java.util.Random;
import java.util.Scanner;
//本类用于练习while循环
public class TestWhile {
	public static void main(String[] ages) {
		int r = createNum();
		System.out.println("生成的随机数:"+r);
		System.out.println("请输入您猜的数字(0~100)");
		guessNum(r);
	}
	private static int createNum() {
		//这个100的值是我们自定义的,此时生成的数值范围是[0~100)以内的随机整数
		return new Random().nextInt(100);
	}
	@SuppressWarnings("resource")
	private static void guessNum(int r) {
		//while常用作死循环,循环条件直接写true
		//但注意死循环必须在合适的时候设置出口
		while(true) {
			int b = new Scanner(System.in).nextInt(); 
			System.out.println("猜猜看");
			if(b == r) {
				System.out.println("恭喜你猜中了");
				break;//出口
			}else if(b>r) {
				System.out.println("猜大了,悠着点");
			}else {
				System.out.println("猜小了,格局打开" );
			}
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值