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 ...
随机推荐
- python--sha256
import hmacimport hashlib def get_hmacsha256(key, message): key_bytes = bytes(key, 'utf-8') message_ ...
- Web端测试
一.功能测试 1.链接测试 1)所有链接是否按指示的那样,链接正确? 2)所有链接是否存在? 3)保证Web应用系统上没有孤立的页面? 在线链接测试地址:http://v ...
- Spoken English Practice(1、This is between you and me, Don't let it out. 2、Don't let your dreams be dreams, no matter how hard it gets, say to yourself, I'm going to make it.)
绿色:连读: 红色:略读: 蓝色:浊化: 橙色:弱读 下划线_为浊化 口语蜕变(2017/7/12) ...
- http 服务器编程 适配器
小结: 1.HandleFunc 只是一个适配器 go http 服务器编程(1) - 云+社区 - 腾讯云 https://cloud.tencent.com/developer/article/1 ...
- Azkaban简介及使用
一.Azkaban概述 Azkaban是一个分布式工作流管理器,在LinkedIn上实现,以解决Hadoop作业依赖性问题. 我们有需要按顺序运行的工作,从ETL工作到数据分析产品. 特点: 1)给用 ...
- git 常用文件目录介绍
生成的RSA公钥与密钥目录: C:\Users\***\.ssh 系统配置文件路径 C:\ProgramData\Git\ C:\Program Files\Git\mingw64\etc 全 ...
- shipyard 中文版安装 -- Docker web管理
#本文使用markdown文档格式 #Docker web管理平台 #shipyard 中文版安装 #hipyard可对容器.镜像.仓库.docker节点进行管理的web系统 #+++++++++++ ...
- LInux中的文件系统1
2017-03-08 10:37:55 一.虚拟文件系统VFS 文件系统用于将位于磁盘上的文件按照某种方式组织进内存,并给上层应用程序提供统一的访问接口.Linux支持多种文件系统EXT2/3,NTF ...
- 抄送(Carbon Copy)
邮件中的抄送 举例,如果A发送邮件给B1,B2,B3,抄送给C1,C2,C3,密送给D1,D2,D3 那么: A知道自己将邮件发送给了B1,B2,B3,抄送给了C1,C2,C3,密送给了D1,D2,D ...
- Android training–android studio
又重新开始学习android开发了,希望这次不是三分钟热度.之前是利用eclipse+ADT来开发的,官网上建议用Android Studio.刚好重装了系统,升级了内存.于是下个studio来学学. ...