第二周总结

课程总结

1.先获取规范再实现
int i = 10;
int 就是规范,操作系统会分配相应的内存大小,最后存放数据实现,而i存放的是对应的数据首地址。
2.先有类后有对象,我的理解是,类似于c语言中的结构体,结构体相似于类,模型是什么样的由类决定,比如人有四肢,有五脏六腑,至于具体的,四肢有多长,五脏六腑的功能先天有多好,都由具体的对象决定
3.任何一个不被static修饰的方法第一个参数都是this,其实这个还是不太理解,只知道this是用来存放地址的,和第一条的区别不大清楚,被static修饰的话又意味着什么??

作业收获

最大的问题和收获就是自创包和导入自建包

在这里插入图片描述

我认为包其实就是一个一劳永逸的方法,总体上与方法区别不大,优点在于可以直接用 ,不用再次编写同样的功能。
假如创建一个对数组求和功能的包
首先创建一个java文件
然后写入功能,最主要的区别在于,开头加上package语句

package sp;//与方法的区别
public class money
{
	public static int sum(int[] arr)
	{
		int i=0;
		int sum=0;
		for(i=0;i<arr.length;i++)
		{
			sum+=arr[i];
		}
		return sum;
	}
}//可以看到数组传参和返回参数和方法都是一样的.

最后再编译类 Javac -d . money.java;
编译完成后,会自动创建一个文件夹(包),类也自动写进去了。
假如还要写一个类进去,过程也是一样的。

package sp;//同样声明属于sp包中
public class re
{
	public static double rmb(int sum)
	{
		double y=0;
		if(sum>=1000)
		{
			System.out.println("您可获得八折优惠以及200元优惠券!");
			y=sum*0.8;
		}
		if(sum>=500&&sum<1000)
		{
			System.out.println("您可获得八五折优惠以及100元优惠券!");
			y=sum*0.85;
		}
		if(sum<500&&sum>=300)
		{
			System.out.println("您可获得九折优惠以及70元优惠券!");
			y=sum*0.9;
		}
		if(sum<300)
		{
			System.out.println("您可获得九五折优惠!");
			y=sum*0.95;
		}
		return y;
	}
}

这样sp包中就有俩个class文件,即自己想要的功能。

调用包

import 包名.类名;
使用功能:类名加方法名。

import sp.money;//导入
import sp.re;
import java.util.*;
public class p47
{
	public static void main(String[] args)
	{
		Scanner in =new Scanner(System.in); 
		int i=0;
		System.out.println("请输入10个数据:");
		int[] arr=new int[100];
		for(i=0;i<10;i++)
		{
			arr[i]=in.nextInt();
		}
		int sum=money.sum(arr);
		double y=re.rmb(sum);
		System.out.println("您应当支付"+y+"元");
	}
}

还有一个问题就是如何导入在不同目录下的包

我有搜索到有直接更改电脑的环境变量的。
但我认为这太麻烦了,本来调用包就是为了方便
看了很多博客都没有结果。
最后我发现可以直接把想用的包复制到java文件所在目录下。
其实就是装换成在同一目录下的情况。这样比更改环境变量的方法要稍微便捷一些。

最后一点小问题

1.写题的过程中,出现了编译javac成功却java运行不成功
在这里插入图片描述
如果java语句和javac语句都没问题的话,多半是复制文件到其他文件后,编辑的仍然是原来文件夹里的文件,而新的java文件是空的,所以能编译通过而运行不了
2.类名与文件名不同
在这里插入图片描述
当出现这个的时候,多半是类名与文件名不相同,值得注意的是,编译的时候,文件不区分大小写,运行的时候区分大小写

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值