20145314郑凯杰 《Java程序设计》第2周学习总结 代码开始!
---恢复内容开始---
# 20145314郑凯杰 《Java程序设计》第2周学习总结 代码开始!
教材学习内容总结
跟着教材的顺序开始总结我学过的内容:
1编辑、编译、运行教材上代码
这部分的所有内容在我等一会的博客内容中会出现,也会将代码托管到开源中国。
运行结果1 10与5的关系
运行结果2 2的次方。我觉得除了上课和卢晓明说的那种改进方法之外,留着最后一个number=也不是一种方法,结果是一样的。
给个代码吧:
package adc;
public class adc {
public static void main(String[] args){
int number=1;
System.out.printf("2的0此方是:%5d%n",number);
System.out.printf("2的1此方是:%5d%n",number<<1);
System.out.printf("2的2此方是:%5d%n",number<<2);
System.out.printf("2的3此方是:%5d%n",number<<3);
}
}
运行结果3 用unicode写的hello world
运行结果4 用小数表示方法写的0.0012
另外,等会还会在以下代码托管到开源中国:
代码已托管,地址https://git.oschina.net/qiaokeli26/java-besti-is-2015-2016-2-20145314
1、输出常量
2、用变量输出
3、12的三种表示方法(十进制,十六进制,八进制,附加二进制)
4、试验布尔型常量
5、0、1各种逻辑运算
6、成绩分类系统if-else版
7、成绩分类系统swithch版
2、这里先总结一下本周所学的语法
①类型、变量与运算符:主要有int byte boolean long short double float。此部分的类型转变,若要强制转变,则可用两种格式:
第一种 a=(byte)(数字或变量)。第二种a=10.4154f。
接下来有很重要的,逻辑语法:
①if else语法:先对if括号中进行判断,若满足,则执行直接跟随的语句,若不满足,则执行else后面的语句。
②switch语句:对switch括号中的变量进行判断,然后在下面给出值。满足哪个值,就执行对应答案后面的语句。
(以上两个语法的不同和用法会在下面的例子中出现。)
③for循环:这一循环是用来进行基本循环的三大循环之一,其他两个见下方.for循环在知道执行次数的时候会非常好用。这里提一下,for(;;)中三个语句,只有第二个不能空着,但是虽然1,3个空可以空着,这样的做法还是违背了for的语法初衷。
④while循环:三大循环之一,这里指while(条件){};我常用的是while(true){语句(满足条件时+break;)}
⑤while循环2:do{}while()循环,每次循环结束都进行一次判断。是上面一种循环的改进版。
⑥break、continue:这两个简单说就是break跳出循环,continue只跳过一轮循环,进入下一轮循环。
语法总结完毕。
3、完成课后习题
我简单附上我的答案和最后操作题我编写的代码吧:
1:D 由于没有给number赋上初始值,没法输出。
2:A 没语法错误,/是取商除法
3:D 没有让程序闭嘴
4:D 理由同上
5:A 在计算机中储存以01形式储存,溢出后自然退回到最小值。
6:B 明显的
7:A number=i++是先把i赋值给number再自增1,number=++i是先自增1,再赋值。
8:D 同上
9:A i=5的时候触发if,跳过输出
10:D i=5时出发for(;中间;)这条语句,for语句结束。
接下来操作题
1、我的代码如下:
//辗转相除法求最大公因子
package adc;
public class adc {
public static void main(String[] args){
int m=1000,n=495,d;
do{d=m%n;
m=n;n=d;
}while(m%n==0);
System.out.println(n);
}
}
运行结果:10
2、阿姆斯特朗数,这部分需要注意的是十位数的处理,应先减去i/100*100,才能取出其十位和个位的数字。
代码附上:
找出阿姆斯特朗数
package adc;
public class adc {
public static void main(String[] args){
int i=100;
for(i=100;i<=999;i++)
{if(((i/100)*(i/100)*(i/100)+((i-(i/100*100))/10)*((i-(i/100*100))/10)*((i-(i/100*100))/10)+(i%10)*(i%10)*(i%10))==i)
System.out.printf("%d是一个阿姆斯特朗数\n",i);}
}
教材学习中的问题和解决过程
一、学习中我对“%n”与“/n”的区别不是很明白,后来看书发现,其实只是运行平台的问题。也就是说,在windows平台上,这两者是可以通用的。
二、编译时候通不过的一点就是printf和println的区别。printf可以这样写
System.out.printf("%d叽里呱啦叽里呱啦",变量名)
而println不可以,只可以加上变量名。
代码调试中的问题和解决过程
代码调试方面,我出现了两个问题。一个是下面的语句居然出现问题,我很疑惑
boolean a1,b1,c1,d1,e1 = true, condition = false;
int flag=0;
while(true)
{if(a1&b1&c1&d1&e1)
这一段中,if中出现了问题,我很费解,按我的思路。布尔型的变量进行相与,应该是没有问题的。但是,为什么会出现问题呢。
刚开始我进行的解决方式是,改成逻辑与&&
失败了,第二种方式,层递括号:if((((a1&b1)&c1)&d1)&e1)
还是失败,最后一种方式,我发现了程序的问题,赋值问题,因此有了两种改法:
boolean a1=b1=c1=d1=e1 = true 或boolean a1= true,b1= true,c1= true,d1= true,e1 = true;
其他(感悟、思考等,可选)
第一周,没什么好写的代码
但是从第二周开始,有了语法之后代码就开始变得多种多样了。
我还自己编写了一个基于cpu运算效率的计数器,即用五层计数来实现层递计数。
虽然现在这个程序的实用性还不是很高,但是我相信在学过了时间变量之后,这个程序的改进版本一定能大放异彩!
package adc;
public class adc {
public static void main(String[] args){
boolean a1=b1=c1=d1=e1 = true;
int flag=0;//设置来进行计数
while(true)
{if(a1&b1&c1&d1&e1)//与运算,刚开始执行它。
{System.out.println("哔哔哔");e1=false;}//在输出一次之后,改变其中一个
变量的值,使下一次不再执行它。
else//接着执行接下来的计数部分。
{
if(a1){do{flag++;}while(flag==5000000);
flag=0;a1=false;}//计数5000000,完成后关掉a1,进行下一项计数
else{if(b1){do{flag++;}while(flag==5000000);
flag=0;b1=false;}//层递计数直到e1
else
{
if(c1){do{flag++;}while(flag==5000000);
flag=0;c1=false;}
else
{
if(d1){do{flag++;}while(flag==5000000);
flag=0;d1=false;}
else
{
if(e1)do{flag++;}while(flag==5000000);
flag=0;e1=true;a1=true;b1=true;c1=true;d1=true;
//上面的计数全部完成后,恢复a1到e1的值,进行一次输出,再循环反复。
}
}
}
}
}
}
}
}
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 50/50 | 1/2 | 20/20 | |
第二周 | 700/600 | 2/4 | 38/38 | |
第三周 | /1100 | 3/7 | /60 | |
第四周 | /1350 | 2/9 | /90 |
参考资料
- Java学习笔记(第8版)
- 《Java学习笔记(第8版)》学习指导
- ...
---恢复内容结束---
20145314郑凯杰 《Java程序设计》第2周学习总结 代码开始!的更多相关文章
- 20145314郑凯杰 《Java程序设计》第10周学习总结
20145314郑凯杰 <Java程序设计>第10周学习总结 代码托管: 学习内容总结 网络编程 会打手机吗? 第一个问题:会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛 ...
- 20145314郑凯杰 《Java程序设计》课程总结
20145314郑凯杰 <Java程序设计>课程总结 每周读书笔记链接汇总 ①寒假预习--"helloworld" ②第一周读书笔记 ③第二周读书笔记 ④第三周读书笔记 ...
- 20145314郑凯杰 《Java程序设计》实验五 实验报告
20145314郑凯杰 <Java程序设计>实验五 实验报告 实验搭档王亦徐:http://www.cnblogs.com/1152wyx/p/5471524.html 实验要求 完成实验 ...
- 20145314郑凯杰 《Java程序设计》第9周学习总结 积极主动敲代码
20145314郑凯杰 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 ①JDBC(Java DataBase Connectivity) 即java数据库连接,是一种用于 ...
- 20145314郑凯杰 《Java程序设计》实验四 实验报告
20145314郑凯杰 <Java程序设计>实验四 实验报告 实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用 ...
- 20145314郑凯杰 《Java程序设计》实验三 敏捷开发与XP实践实验报告
20145314郑凯杰 <Java程序设计>实验二 实验报告 实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用 ...
- 20145314郑凯杰 《Java程序设计》第8周学习总结
20145314郑凯杰 <Java程序设计>第8周学习总结 教材学习内容总结 代码已托管 第十五章 通用API ①日志: 日志对信息安全意义重大,审计.取证.入侵检测等都会用到日志信息 使 ...
- 20145314郑凯杰 《Java程序设计》第7周学习总结
20145314郑凯杰 <Java程序设计>第7周学习总结 教材学习内容总结 首先放上代码托管图片和本地代码图片: 插图4: 插图5: 插图6: 第十三章 时间与日期 13.1 认识时间与 ...
- 20145314郑凯杰 《Java程序设计》实验二 实验报告
20145314郑凯杰 <Java程序设计>实验二 实验报告 实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用 ...
- 20145314郑凯杰 《Java程序设计》实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告
20145314郑凯杰 <Java程序设计>实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告 实验要求 •使用JDK编译.运行简单的Java程序: •使用Ecl ...
随机推荐
- shell命令发送网站请求
GET请求:curl "http://192.168.87.195:8888/refresh" POST请求:curl -d "name=value" &quo ...
- PHP array_merge() 函数
<?php $a1=array("a"=>"red","b"=>"green"); $a2=array ...
- Python全栈day20(解压序列)
补充:解压序列 需求一,不通过索引取一个列表的第一个元素和最后一个元素 需求二,交换两个变量的值 L=[1,2,3,4,5,6,7,8,9] #把列表第一个元素赋值给a,最后一个元素赋值给c #中间的 ...
- 浏览器加载不上css,样式走丢
来自:http://www.cnblogs.com/crizygo/p/5466444.html 问题描述:使用eclipse修改样式文件,浏览器的页面一时显示一时不显示,最后直接没有加载最新的css ...
- HDU3535——AreYouBusy
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3535 题目意思:给出两个数n,T,分别表示有n个任务集合,T的总时间,对于每个任务集合有两个属性m和t ...
- 剑指Offer——复杂链表的复制
题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用, ...
- LeetCode—Minimum Size Subarray Sum
题目: Given an array of n positive integers and a positive integer s, find the minimal length of a sub ...
- Bad Hair Day---poj3250(栈的运用)
题目链接:http://poj.org/problem?id=3250 题意: n个牛排成一列向右看,牛i能看到牛j的头顶,当且仅当牛j在牛i的右边并且牛i与牛j之间的所有牛均比牛i矮. 设牛i能看到 ...
- 关于DOM事件操作
事件的三要素: 事件源.事件.事件驱动程序. 事件源.: 引发后续事件的html标签 document.getElementById(“box”) document.getElementsByCl ...
- 常用的自定义Python函数
常用的自定义Python函数 1.时间戳转为日期字串,精确到ms.单位s def timestamp2datems(timestamp): ''' 时间戳转为日期字串,精确到ms.单位s :param ...