Java基础学习(一)2019.6.25

1.学习了解java内容与特点,安装调试java集成开发环境。
2.学习java的基本程序设计结构,包括数据类型,变量,字符串,输入输出等。
   

//检测字符串是否相等
      String greeting = "hello";
        
      boolean result2 = "hello".equals(greeting);
      System.out.println(result2);
        
      boolean result3 = "hello" == greeting ? true : false;
      System.out.println(result3);
        
      int result4 = greeting.compareTo("hello") ;
      System.out.println(result4);


      //输入输出
        //1. print为一般输出,同样不能保留精度格式转化,也不能换行输出 
        //2. printf常用于格式转换,但需要注意不是换行输出,只用于精度转换 
        //3. println为换行输出,不能用于格式转换
 

	Scanner in = new Scanner(System.in);
		
	System.out.println("What is your name? ");
	String name = in.nextLine();
	System.out.println("How old are you? ");
	int age = in.nextInt();
			
        System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1));
		
        System.out.printf("Hello, %s. Next year, you'll be %d", name , (age + 1));
        System.out.println();
        String message = String.format("Hello, %s. Next year, you'll be %d", name , age);
        System.out.println(message);
    


3.学习了控制流程的相关知识,包括条件语句,选择,循环,并编写相关程序。

		if语句
		int a=123;
		int b=456;
		if (a > b) 
		{
			System.out.println("a > b ");
		}else {
			System.out.println("b > a ");
		}
		
		//switch语句
		System.out.println("Please input :");
		Scanner in = new Scanner(System.in);
		int val = in.nextInt();
		switch(val) {
		case 1:
			System.out.println("val = 1");break;
		case 2:
			System.out.println("val = 2");break;
		case 3:
			System.out.println("val = 3");break;
		
		}		
		while语句
		Scanner in = new Scanner(System.in);
		System.out.print("How much money do you need to retire ?");
		double goal = in.nextDouble();
		
		System.out.print("How much money will you contribute every day ?");
		double payment = in.nextDouble();
		
		System.out.print("Interset rate in %: ");
		double interestRate = in.nextDouble();
		
		double balance = 0;
		int years = 0;
		
		while(balance < goal )
		{
			balance += payment;
			double interest = balance * interestRate / 100;
			balance += interest;
			years++;
		}
		
		System.out.println("You can retire in " + years + " years.");
		
	
		
		
		Scanner in = new Scanner(System.in);
		
		System.out.print("How much money will you contribute every day ?");
		double payment = in.nextDouble();
		
		System.out.print("Interset rate in %: ");
		double interestRate = in.nextDouble();
		
		double balance = 0;
		int years = 0;
		
		String input;
		
		do
		{
			balance += payment;
			double interest = balance * interestRate / 100;
			balance += interest;
			years++;
			
			System.out.printf("After year %d, your balance is %, .2f%n", years, balance);
			
			System.out.print("Ready to retire? (Y/N) ");
			input = in.next();
		}
		while(input.equals("N"));
		


4.学习了解数组的相关内容,包括一维二维数组,以及对数组的一些操作,并完成相关程序编写。
        数组
        //二维数组,数组的数组

	    //数组
		int[] a = new int[100];
		int b[];
		for(int i = 0; i < 100; i++ )
		{
			a[i] = i;s
		}
		
	    int[] array = { 10, 23, 6, 88, 19 };
	    int index = 0;
	    int max = array[index];// 最大值
	    for (int i = 1; i < array.length; i++) {
	        if (array[i] > max) {
	            index = i;
	            max = array[i];
	         }
	       }
	    System.out.println("最大值为" + max + ",索引号为" + index);
	    System.out.println(Arrays.toString(array));//打印数组
	    System.out.println(Arrays.deeptoString(a));//打印二维数组
	    
	    int[] smallPrimes = {2, 3, 5, 7, 11, 13};
	    int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
	    System.arraycopy(smallPrimes, 2, luckyNumbers, 3, 4);
	    for (int i = 0; i < luckyNumbers.length; i++)
	    {
	    	System.out.println(i + ":" + luckyNumbers[i]);
	    }
	
	    
		Scanner in = new Scanner(System.in);
		
		System.out.println("How many numbers do you need to draw? ");
		int k = in.nextInt();
		
		System.out.println("What is the highest number you can draw? ");
		int n = in.nextInt();
		
		int[] numbers = new int[n];
		for (int i = 0; i < numbers.length; i++)
			numbers[i] = i + 1;
		
		int[] result = new int[k];
		for (int i = 0; i < result.length; i++)
		{
			int r = (int) (Math.random() * n);
			result[i] = numbers[r];
			numbers[r] = numbers[n - 1];
			n--;
		}
		Arrays.parallelSort(result);
		System.out.println("Bet the following combination. It'll make you rich!");
		for (int r : result)
			System.out.println(r);
	
		打印一个二维数组
		final double STARTRATE = 10;
		final int NRATES = 6;
		final int NYEARS = 10;
		
		double[] interestRate = new double[NRATES];
		for (int j = 0; j < interestRate.length; j++)
			interestRate[j] = (STARTRATE + j) / 100.0;
		
		double[][] balances = new double[NYEARS][NRATES];
		
		for (int j = 0; j < balances[0].length; j++)
			balances[0][j] = 1000;
		
		for (int i = 1; i < balances.length; i++)
		{
			for (int j = 0; j < balances[i].length; j++)
			{
				double oldBalance = balances[i - 1][j];
				
				double interest = oldBalance * interestRate[j];
				
				balances[i][j] = oldBalance + interest;
			}
		}
		
		for (int j = 0; j < interestRate.length; j++)
			System.out.printf("%9.0f%%", 100 * interestRate[j]);
		
		System.out.println();
		
		for (double[] row : balances)
		{
			for (double b : row)
				System.out.printf("%10.2f", b);
			System.out.println();
		}
		
		打印一个不规则数组
		final int NMAX = 10;
		
		int[][] odds = new int[NMAX + 1][];
		for (int n = 0; n <= NMAX; n++)
			odds[n] = new int[n + 1];
		
		for (int n = 0; n < odds.length; n++)
			for(int k = 0; k < odds[n].length; k++)
			{
				int lotteryOdds = 1;
				for (int i = 1; i <= k; i++)
					lotteryOdds = lotteryOdds * (n - i + 1) / i;
				odds[n][k] = lotteryOdds;
			}
		
		for (int[] row : odds)
		{
			for (int odd : row)
				System.out.printf("%4d", odd);
			System.out.println();
		}
		
		
		int arr[][] = {{3,45,6},{22,44,33},{33,444,23,77},{75,85,23}};
		System.out.println(arr);
		System.out.println(arr[0][1]);
		System.out.println(arr.length);
		System.out.println(arr[3].length);
		
		for (int i = 0; i < arr.length ; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				System.out.print(arr[i][j] + " ");
			}
		}


        System.out.println("最大值为" + max + ",索引号为" + index);
        System.out.println(Arrays.toString(array));//打印数组
        System.out.println(Arrays.deeptoString(a));//打印二维数组

 方法重写和方法重载的区别:
 重载                            重写
 Overloading                Overiding
 方法名称相同,参数的类型或个数不同        方法名称,参数类型,返回值类型全部相同
 对权限没有要求                    被重写的方法不能拥有更严格的权限
 发生在一个类中                    发生在继承类中
 
 
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值