教材学习内容总结

学习目标

了解Java编程风格
认识Java的类型与变量
掌握Java流程控制的方法(分支、循环)

教材第三章内容总结

  • 认识类型与变量
  • 学习运算符的基本使用
  • 了解类型转换细节
  • 运用基本流程语法

    第三章的主要内容就是Java基本语法,可以运用分支、循环等写一点自己的小程序了。
    不论是Java的类型(整数、字符、字节、浮点数等)还是格式控制符、运算符、条件语句和循环语句的运用方式,Java的语法和C有太多相似的地方,所以有很熟悉的感觉。
    以下是对于类型、运算符和条件式的总结:

类型

字节:byte类型,一般在需要逐字节处理数据的时候使用;
整数:分为short整数(占2字节)、int整数(占4字节)、long整数(占8字节);
浮点数:分为float、double浮点数,double的精确度大于float(与C语言相同);
字符:char类型,每个字符占两个字节。

运算符

算术运算:普通的加减乘除运算,在此不多列举;
比较运算与条件运算:大于小于等运算;
逻辑运算:与运算(&&)、或运算(||)、非运算(!);
位运算:&、|、^、~。- 递增递减运算:++、--;
指定运算:很少用的类型(例:+=、-=)。

类型转换

自动提升类型;
强制转换类型。

流程控制

if-else条件式(判断语句);
switch条件式(选择语句);
for循环(循环语句);
while循环(循环语句);
break、continue(其他)

教材学习中的问题和解决过程

照着教材55页敲了一遍代码,对于其中的各种类型的范围有了深入的理解。

/*** Created by XiaYihua on 2017/1/23.*/package cc.openhomepublic class Range {public static void main(String args[]){//byte、short、int、long范围System.out.printf("%d~%d%n",Byte.MIN_VALUE,Byte.MAX_VALUE);System.out.printf("%d~%d%n",Short.MIN_VALUE,Short.MAX_VALUE);System.out.printf("%d~%d%n",Integer.MIN_VALUE,Integer.MAX_VALUE);System.out.printf("%d~%d%n",Long.MIN_VALUE,Long.MAX_VALUE);//float、double精度、范围System.out.printf("%d~%d%n",Float.MIN_EXPONENT,Float.MAX_EXPONENT);System.out.printf("%d~%d%n",Double.MIN_EXPONENT,Double.MAX_EXPONENT);//char可表示的Unicode范围System.out.printf("%h~%h%n",Character.MIN_VALUE,Character.MAX_VALUE);//Boolean的两个值System.out.printf("%b~%b%n",Boolean.TRUE,Boolean.FALSE);}
}

教材62页的有关位运算的代码~加深了对于print、printf、println的区别的理解

/*** Created by XiaYihua on 2017/1/23.*/package cc.openhome;public class Bitwise {public static void main(String args[]){//ANDSystem.out.println("AND运算:\n");System.out.printf("0 and 0 %5d%n", 0 & 0);System.out.printf("0 and 1 %5d%n", 0 & 1);System.out.printf("1 and 0 %5d%n", 1 & 0);System.out.printf("1 and 1 %5d%n", 1 & 1);//ORSystem.out.println("\nOR运算:\n");System.out.printf("0 or 0 %6d%n", 0 | 0);System.out.printf("0 or 1 %6d%n", 0 | 1);System.out.printf("1 or 0 %6d%n", 1 | 0);System.out.printf("1 or 1 %6d%n", 1 | 1);//XORSystem.out.println("\nXOR运算:\n");System.out.printf("0 xor 0 %5d%n", 0 ^ 0);System.out.printf("0 xor 1 %5d%n", 0 ^ 1);System.out.printf("1 xor 0 %5d%n", 1 ^ 0);System.out.printf("1 xor 1 %5d%n", 1 ^ 1);}
}
/*** Created by XiaYihua on 2017/1/24.*/public class Comparison
{public static void main(String[] args){System.out.printf("10 > 5 结果 %b%n",10 > 5);System.out.printf("10 >= 5 结果 %b%n",10 >= 5);System.out.printf("10 < 5 结果 %b%n",10 < 5);System.out.printf("10 <= 5 结果 %b%n",10 <= 5);System.out.printf("10 == 5 结果 %b%n",10 == 5);System.out.printf("10 != 5 结果 %b%n",10 != 5);}
}
/*** Created by XiaYihua on 2017/1/24.*/
public class Level {public static void main(String[] args) {int score=88;int quotient=score/10;char level;switch(quotient) {case 10:case 9:level = 'A';break;case 8:level = 'B';break;case 7:level = 'C';break;case 6:level = 'D';break;default:level = 'E';}System.out.printf("得分等级:%c%n",level);}
}
/*** Created by XiaYihua on 2017/1/24.*/public class Level2 {public static void main(String[] args) {int score=88;char level;if(score>=90){level ='A';}else if (score>=80&&score<90) {level ='B';}else if(score>=70&&score<80){level = 'C';}else if(score>=60&&score<70){level ='D';}else{level ='E';}System.out.printf("得分等级:%c%n",level);}}
/*** Created by XiaYihua on 2017/1/24.*/
public class Shift
{public static void main(String[] args){int number=1;System.out.printf("2 的 0 次方: %d%n",number);System.out.printf("2 的 1 次方: %d%n",number << 1);System.out.printf("2 的 2 次方: %d%n",number << 2);System.out.printf("2 的 3 次方: %d%n",number << 3);}
}

代码调试中的问题和解决过程


Java的package和C语言的“库”比较类似,在这个地方我习惯性地没有添加分号,导致错误。


发现打印的结果和书上不一样,换不了行,仔细对照之后发现是println和printf的问题

  • println打印的时候自带了换行,下一次在打印的时候从下一行开始打印。
  • print就是一般的标准输出,但是不换行,下次打印的时候在这次打印的东西后面直接打印。
  • printf主要是继承了C语言的printf的一些特性,可以进行格式化输出
  • println和print基本没什么差别,就是最后会换行

总结一下print\println\printf的区别
print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。
printf是格式化输出的形式。
举个例子:

package other;
public class TestPrint {
public static voidmain(String[] args) {
int i = 4;
double j = 5;
System.out.print("用print输出i:"+ i);
System.out.println( "用println输出i:"+ i);
System.out.printf("i的值为%d,j的值为%f", i,j);
}
}

运行结果为
用print输出i:4用println输出i:4
i的值为4,j的值为5.000000
可以看到,用print输出i后,没有换行,用println输出的结果直接在print输出语句后面,而输出println后换行了,所以用printf输出时,在第二行输出。
再来看printf
“i的值为%d,j的值为%f”这个字符串中的"%d"变为i的值了,而"%f"变为了j的值了!这里,"%d"的意思是一个int值的占位符,"%f"为一个double 或float值的点位符,这个变量的参数在后面提供。>注意的是实参名必须按顺序排。不然就会错了。而且类型也要相符。如果我们把语句改为System.out.printf("i的值为%d,j的值为%f", j,i);//i和j位置反了这时就有错了因为"%d"对应的参数变为j,"%f"对应的变为i了,而j是double的,与"%d"是int形的不一致。所以有错了。还有"%s"是一个字符串值的点位符的意思。"%c"是一个字符值的点位符的意思。

  • 为什么j输出变成了5.000000?那是因为double是默认有6位小数的(这个可能和系统电脑有关,有的不是6位吧)但是如果只要输出两位小数?和c语言一样,改为 `System.out.printf("i的为%d,j的值为%.2f", i,j);`这里的"%.2f"的意思是输出两位小数点,如果想输出三位那就"%.3f"。

    printf有用在于可以控制输出的格式,和C语言同理,可以补齐占位等。

代码托管截图

其他

换了新的电脑,虚拟机还是拖不了IDEA,Mac版和windows版配置还是有一些差别,所以我参照了一些CSDN上的博客进行配置。
Mac配置JDK教程
使用mac的同学可以参考一下这个~各个博客众说纷纭,其实mac版的idea已经内置了jdk,只需按照上述步骤设置一下就可以了。
虽然走了好多弯路。。。但是真切地感受到了技术博客的优越性,慢慢精研技术之后希望有一天我也可以在CSDN上发表一些可以帮助别人的东西吧~

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第二周 300/400 1/3 12/52

参考资料

  • Java学习笔记(第8版)
  • 《Java学习笔记(第8版)》学习指导

转载于:https://www.cnblogs.com/bestixyh/p/6348005.html

20145226夏艺华 《Java程序设计》第2周学习总结相关推荐

  1. 20145226夏艺华 JAVA预备作业1

    博客阅读总结 关于师生关系: 学生和老师之间我觉得关系时多元化的,不能拘泥于单独的一种关系:灌输与被灌输,教授与被教授--我认为,在不同的课程阶段,师生之间的关系都可以发生变化.前期的老师更像是一个指 ...

  2. 20145226夏艺华 后门原理与实践

    20145226夏艺华 后门原理与实践 实验主要内容 使用ncat.socat实现两台电脑间的后门连接:meterpreter的应用:MSF POST模块的使用 基础问题回答 例举你能想到的一个后门进 ...

  3. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

  4. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  5. 20172318 2016-2017-2 《Java程序设计》第一周学习总结

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

  6. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  7. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  8. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...

  9. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

  10. 20155226 2016-2017-2 《Java程序设计》第一周学习总结

    20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...

最新文章

  1. Spring处理器(Controller)全局建言
  2. CSDN博主排名更新公告
  3. 软硬件协同编程 - C#玩转CPU高速缓存(附示例)
  4. 云空间-全面进入免费云时代-国内首家免费T级云空间!
  5. 用Eclipse做J2Me开发的前期配置
  6. tfhpple解析html中的图片,图文详解使用TFHpple解析html方法
  7. tkinter使用cefpython库_Python3.7 tkinter中嵌入网页(WebView),需要引入cefpython3
  8. 软件测试—软件测试基础知识—测试用例设计的方法之场景法、正交试验法和错误推断法
  9. Jmeter中的几个重要测试指标释义
  10. Python2 倒计时,还不快来掌握 Python3 酷炫的新特性? | 原力计划
  11. 简单复制粘贴个linux红帽6
  12. python编写翻译器_用Python做一个简单的翻译工具
  13. 中柏平板刷linux教程,中柏 ezpad 平板安装Fedora 21 (Linux)
  14. python父亲节礼物_盘点父亲节礼物,爸爸们的礼物也要用心挑选~
  15. 数字水印进阶篇——基于DWT-SVD的数字水印(附matlab代码)
  16. 配置多SessionFactory
  17. CPython、Jython、PyPy
  18. win10计算机的运行在哪里打开,Win10系统教程 Win10系统运行在哪里打开?
  19. 基于stm32的室外环境监测系统的设计和实现
  20. QuartusII开发软件中的宏模块

热门文章

  1. 基于box2dWeb开发的切水果游戏总结
  2. 汇编语言(第2版)2011040201
  3. 总奖金100万!2021SEED江苏大数据开发与应用大赛(华录杯)正式开赛!
  4. 字节跳动AI-Lab算法实习生-敏感文字方向
  5. 谷歌大脑推出视觉领域任务自适应基准:VTAB
  6. 澎思科技新出行人再识别(ReID)算法,刷新三大数据集最高记录
  7. 【python项目实战入门】Python绘制爱心
  8. 平均薪资29036的Python,零基础初学者如何入门?
  9. Python学习汇总,做数据采集的一些小技巧,收获满满
  10. 小白如何学3D建模?从零开始变大神,学习记录手册(必备)