因为我不是科班出身,所以在讲java之前就自己赶紧自学了C语言和数据结构,我其实是想在学习java之前要把C和数据结构以及汇编还有操作系统,数据库都学习完的,也就是说我不是科班的,我就要付出比别人更多的努力!但是现在刚把C语言和数据结构学完就开始讲java了,虽然老师的思维非常发散,根本抓不到重点,但是我却基本都能看懂,这是我第一次写程序的心得体会
1实践出真知,循环的使用条件其实是记过的,但是没有敲程序通过练习的话就真的无法变成技能
public class hua {
public static void main(String[] args)
{
int i=0;
int sum=10000000;
for (i=0;;i++)/*这个程序最终用for写不出来,因为循环次数不知道,所以当循环次数未知
,只给出循环结束的条件要用while,而如果至少需要运行一次,那就要用do while ;for循环
用于循环次数已知的情况下*/
sum=sum/2;
}
}
2
/*Scanner sc =new Scanner(System.in);
System.out.println("请输入月份");
int month=sc.nextInt();
System.out.println("请输入日期");
int date=sc.nextInt();
if (month*100+date>=321 && month*100+date<=420)
{
System.out.println("白羊座");
}
else if(month*100+date>=421 && month*100+date<=521)
System.out.println("金牛座");
else if(month*100+date>=522 && month*100+date<=621)
System.out.println("双子");
else if(month*100+date>=622 && month*100+date<=722)
System.out.println("juxie");
else if(month*100+date>=723 && month*100+date<=823)
System.out.println("shizi");
else if(month*100+date>=824 && month*100+date<=923)
System.out.println("chunv");
else if(month*100+date>=924 && month*100+date<=1023)
System.out.println("tianping");
else if(month*100+date>=1024 && month*100+date<=1122)
System.out.println("tianxie");
else if(month*100+date>=1123 && month*100+date<=1221)
System.out.println("sheshou");
else if(month*100+date>=1122 && month*1000+date<=1020)
System.out.println("mojie");
else if(month*100+date>=121 && month*100+date<=219)
System.out.println("shuiping");
else if(month*100+date>=220 && month*100+date<=320)
System.out.println("shaungyu");//从41行开始代码的逻辑是错的
//这个代码不可以使用switch case,因为case不能表示一个范围,而是一个整数
//日期的范围可以使用*100+天数来表示
//算法实在是太有趣了!!最后排除的是跨越两个一个双数月还有一个单数月的摩羯座,太6了,对于特殊元素最后排除掉
//分析在具体问题中,谁在变化,那么谁就应该设置一个变量,然后在分析变量之间的内在关系!
public class howmuchdays {
public static void main(String[] args)
{ Scanner sc=new Scanner(System.in);
System.out.println("请输入年份");
int year =sc.nextInt();
System.out.println("请输入月份");
int month =sc.nextInt();
System.out.println("请输入日期");
int date =sc.nextInt();
int jar_1=31;
int feb_2=28;
int feb_3=29;
int mar_3=31;
int apr_4=30;
int mar_5=31;
int june_6=30;
int july_7=31;
int aug_8=31;
int seb_9=30;
int oct_10=31;
int nov_11=30;
int dec_12=31;
if ((year%4==0 && year%100!=0)||(year%400==0))
{
if (month==1)
System.out.println(date);
else if (month==2)
System.out.println(date+jar_1);
else if (month==3 )
System.out.println(date+jar_1+feb_2);
else if (month==4 )
System.out.println(date+jar_1+feb_2+mar_3);
else if (month==5 )
System.out.println(date+jar_1+feb_2+mar_3+apr_4);
else if (month==6 )
System.out.println(date+jar_1+feb_2+mar_3+apr_4+mar_5);
else if (month==7)
System.out.println(date+jar_1+feb_2+mar_3+apr_4+mar_5+june_6);
else if (month==8)
System.out.println(date+jar_1+feb_2+mar_3+apr_4+mar_5+june_6+july_7);
else if (month==9)
System.out.println(date+jar_1+feb_2+mar_3+apr_4+mar_5+june_6+july_7+aug_8);
else if (month==10)
System.out.println(date+jar_1+feb_2+mar_3+apr_4+mar_5+june_6+july_7+aug_8+seb_9);
else if (month==11)
System.out.println(date+jar_1+feb_2+mar_3+apr_4+mar_5+june_6+july_7+aug_8+seb_9+oct_10);
else if (month==12)
System.out.println(date+jar_1+feb_2+mar_3+apr_4+mar_5+june_6+july_7+aug_8+seb_9+oct_10+nov_11);
}
if ((year%4!=0 && year%100!=0)||(year%400!=0))
{
if (month==1)
System.out.println(date);
else if (month==2)
System.out.println(date+jar_1);
else if (month==3 )
System.out.println(date+jar_1+feb_3);
else if (month==4 )
System.out.println(date+jar_1+feb_3+mar_3);
else if (month==5 )
System.out.println(date+jar_1+feb_3+mar_3+apr_4);
else if (month==6 )
System.out.println(date+jar_1+feb_3+mar_3+apr_4+mar_5);
else if (month==7)
System.out.println(date+jar_1+feb_3+mar_3+apr_4+mar_5+june_6);
else if (month==8)
System.out.println(date+jar_1+feb_3+mar_3+apr_4+mar_5+june_6+july_7);
else if (month==9)
System.out.println(date+jar_1+feb_3+mar_3+apr_4+mar_5+june_6+july_7+aug_8);
else if (month==10)
System.out.println(date+jar_1+feb_3+mar_3+apr_4+mar_5+june_6+july_7+aug_8+seb_9);
else if (month==11)
System.out.println(date+jar_1+feb_3+mar_3+apr_4+mar_5+june_6+july_7+aug_8+seb_9+oct_10);
else if (month==12)
System.out.println(date+jar_1+feb_3+mar_3+apr_4+mar_5+june_6+july_7+aug_8+seb_9+oct_10+nov_11);
//这样写太麻烦了,如果我先判断是不是闰年,后面的直接写每个月的天数,将会简便很多
}//通过这个程序,可见,写代码之前先写伪代码流程是多么重要!!!流程也要尽可能精细一些
//再简单的代码也要自己亲手敲一遍!