学习Java第二周记录

#日常训练
##水仙花数

	 public class xunlian5{
	public static void main(String[] args){
		int s=0;
		for(int i=100;i<=1000;i++)
	{
 		s=0;
		int a=i;
		while(a!=0)
	{   s+=Math.pow(a%10,3); a=a/10; }
		if(s==i)
	System.out.println(s);
	}
	}
	}  

通过此题学到的是java中数学的开根,平方的方法。
Math.**(a,)为格式。
Math.pow(a,*)为几次方,Math.sqrt(a)为开根号,Math.cbrt()为开立方根,Math.max/min()为求最大值/最小值,Math.abs()为求其绝对值,Math.ceil()为返回的数大于带小数的值,Math.floor()为返回的值小于带小数的值。
##方法调用与重载
###方法调用
和c语言的调用有点像,为[修饰符] 返回类型 方法名组成,然后调用的时候直接`方法名(类型 变量名)即可。

import java.util.Scanner;
 public class xunlian6{
 static int pow(int b,int a){
int s=a;
 for(int i=1;i<b;i++)
{
  a*=s;
}
  return a;
}
public static void main(String[] args){
int a,b,sum;
Scanner in=new Scanner(System.in);
a=in.nextInt();
b=in.nextInt();
sum=pow(b,a);
System.out.println(sum);}
}

这个是运用的方法调用。后面再写重载,但是用的记事本,很多错误要改。
###重载
啊,这个我在好几个小地方一直出错,导致原本不难的程序,改了好几天,最后发现居然是在最简单的地方错了,天呐,好想抽自己。
言归正传,方法重载和方法调用不一样,重载是相同的程序但是面对不同的数据类型,系统可以自己选择适合,比起方法调用,重载可以更适应一些数据不同的情况。
这个题是求消费不同价格的情况下不同优惠程度下的消费金额和优惠卷。

public class xunlian7{

int juan=0;//定义一个全局变量  
 void run(int a){//编写重载,void表示没有返回值
 if(a>=1000)
{ a*=0.8;
  juan=200;}
else if(a>=500)
{  a*=0.85;
  juan=100;}
else if(a>=300)
{  a*=0.9;0000
  juan=70;}0
else
{ a*=0.95;
juan=0;}
System.out.println("消费金额"+a);
System.out.println("购物劵"+juan);
}

 void run(double a)//编写不同数据类型的重载
{
 if(a>=1000)
{ a*=0.8;
  juan=200;}
else if(a>=500)
{  a*=0.85;
  juan=100;}
else if(a>=300)
{  a*=0.9;
  juan=70;}
else
{ a*=0.95;
juan=0;}
System.out.println("消费金额"+a);
System.out.println("购物劵"+juan);
}

public static void main(String args[]){
xunlian7 xs=new xunlian7();//定义一个新名称来调用方法
xs.run(5000);//测试int类型
xs.run(5000.5);//测试float类型
}

}  

##总结
这周有学新东西,但是还不够熟练,经常敲着敲着要去翻书看一眼。

  1. byte是一个字节,啊我之前还分不清。
  2. 学了重载和方法调用。
  3. 然后就是对代码逐渐熟悉,对大小写和英文输入更熟练。
  4. 但是还是在用记事本在写,还不熟悉notepad++。
  5. 但是代码量不够,对方法调用和重载的运用还不熟练。
  6. 但是学东西没学透,只是学会了怎么用。

版权声明:本文为qq_62093629原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。