20145214 《Java程序设计》第2周学习总结

教材学习内容总结

基本类型

  • 整数:可分为short整数、int整数、long整数。

  • 字节:即byte类型,可表示-128~127的整数。

  • 浮点数:可分为float浮点数和double浮点数,其中double的精度比较大。

  • 字符:char类型用来存储字符符号。

  • 布尔:表示true\false。

  • 通过API得知各种类型可储存的数值范围。 代码如下。

     public class type{
    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的范围
    System.out.printf("%h~%h%n", Character.MIN_VALUE, Character.MAX_VALUE); //布尔型
    System.out.printf("%b~%b%n", Boolean.TRUE, Boolean.FALSE);
    }}
  • 运行结果如下。

变量

  • 变量的作用:用来暂存资料。
  • 可用十进制、八进制或十六进制表示整数字面常量;要表示字符必须使用“”括住字符;使用忽略符号“\”,程序就会忽略下一个字符。
  • 常用忽略符号:\b 倒退一个字符; \f 换页; \n 换行; \r光标移至行首。

运算符

  • 算术运算:+、-、*、/、%.

  • 比较运算:>、>=、<、<=、==、!=.

  • 比较运算代码如下。

     public class operator{
    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);
    }}
  • 运行结果如下。

  • 条件运算:条件式?成立返回值:失败返回值。

逻辑运算

  • &&(AND)、||(OR)、!(NOT).

  • 逻辑运算代码如下。

      public class operator{
    public static void main(String[] args){
    int num=75;
    System.out.println(num > 70 && num < 80);
    System.out.println(num > 80 || num < 75);
    System.out.println(!(num > 80 || num < 75));
    }}
  • 运行结果如下。

位运算

  • &(AND)、|(OR)、^(XOR)、~(补码)

  • 各个位运算代码如下。

      public class operator{
    public static void main(String[] args){
    System.out.println("AND 运算:");
    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); System.out.println("\nOR 运算:");
    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); System.out.println("\nXOR 运算:");
    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);
    }}
  • 运行结果如下。

  • 左移<<、右移>>.

  • 左移运算代码如下。

      public class operator{
    public static void main(String[] args){
    int num=1;
    System.out.printf("2 的 0 次方: %d%n", num);
    System.out.printf("2 的 1 次方: %d%n", num<<1);
    System.out.printf("2 的 2 次方: %d%n", num<<2);
    System.out.printf("2 的 3 次方: %d%n", num<<3);
    }}
  • 运行结果如下。

if...else条件式

  • 用if...else判断数字为奇数或偶数代码如下。

      public class operator{
    public static void main(String[] args){
    int input = 10;
    int remain = input % 2;
    if(remain == 1){
    System.out.printf("%d 为奇数%n", input);
    }
    else{
    System.out.printf("%d 为偶数%n", input);
    }
    }}
  • 运行结果如下。

switch条件式

  • switch括号中的值必须是整数、字符、字符串或Enum。开始执行后直到遇到break才离开switch区块,若case中没有符合的整数、字符、字符串或Enum,则会执行default语句。

  • 用switch语句处理学生成绩等级代码如下。

      public class operator{
    public static void main(String[] args){
    int score = 88;
    int q = score / 10;
    char level;
    switch(q){
    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); }}
  • 运行结果如下。

for循环

  • for的括号中,初始式只执行一次,第一个分号后的语句每次执行循环体前会执行一次用于判断是否执行循环,第二个分号后则是每次执行完循环体后会执行一次。

  • for循环显示九九乘法表代码如下。

          public class operator{
    public static void main(String[] args){
    for(int j=1; j < 10; j++){
    for(int i=2; i < 10; i++){
    System.out.printf("%d*%d=%2d ", i,j,i*j);
    }
    System.out.println();
    } }}```
  • 运行结果如下。

while循环

  • while会在循环执行前就进行条件判断,do...while至少会先执行一次循环。

break、continue

  • break可以离开当前区块,执行区块后下一个描述句,continue只会略过之后描述句,并回到循环区块开头进行下一次循环,而不是离开循环。

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

-课本中switch条件式的default语句中没有加上break,如果加上break对运行结果会不会有影响?

-解决:尝试之后发现没有影响,因为break是结束区块执行,而程序执行完default之后也会自动跳出区块。

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

-问题:不清楚显示九九乘法表代码中

public class operator{
public static void main(String[] args){
for(int j=1; j < 10; j++){
for(int i=2; i < 10; i++){
System.out.printf("%d*%d=%2d ", i,j,i*j);
}
System.out.println();
}
}}

System.out.println();有什么作用

-解决:尚未解决。

其他(感悟、思考等,可选)

有了第一周的学习作为基础,第二周关于基础语法的掌握没有之前那么艰难了,在写代码的过程中也有了一点自己的小技巧可以加快速度,减少了一些不该出现的错误。

学习进度条

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

参考资料

20145214 《Java程序设计》第2周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

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

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. linux系统常用命令统计及shell特殊字符

    shell 特殊字符:1.通配符2.管道 1.通配符 1.1星号(*):匹配任意长度 1.2问号(?):匹配一个长度的字符 1.3方括号([......]):匹配其中指定的字符 1.4方括号([-]) ...

  2. day 16 初试面试对象

    1.初识面向对象      面向过程:             一切以事物的发展流程为中心      面向对象:             一切以对象为中心.一切皆为对象.具体的某一个事务就是对象 打比 ...

  3. Python读取 csv文件中文乱码处理

    需求:按行解析读取csv文件存入关系型数据库——主要是中文字体解析:遇到的问题:直接解析出来的数据为list形式,而且编码格式为unicode;解决问题:前提了解: 中文编码的规则 —— GB2312 ...

  4. Linux GPIO键盘驱动开发记录_OMAPL138

    Linux GPIO键盘驱动开发记录_OMAPL138 Linux基本配置完毕了,这几天开始着手Linux驱动的开发,从一个最简单的键盘驱动开始,逐步的了解开发驱动的过程有哪些.看了一下Linux3. ...

  5. C++实现json字符串与map的转换

    开源资源库 jsoncpp-src-0.5.0.tar.gz:https://sourceforge.net/projects/jsoncpp/ jsoncpp-master.ziphttps://g ...

  6. OpenCV代码提取:dft函数的实现

    The Fourier Transform will decompose an image into its sinus and cosines components. In other words, ...

  7. netty之心跳机制

    1.心跳机制,在netty3和netty5上面都有.但是写法有些不一样. 2.心跳机制在服务端和客户端的作用也是不一样的.对于服务端来说:就是定时清除那些因为某种原因在一定时间段内没有做指定操作的客户 ...

  8. 问题:MongoDB C# driver异常:Truncation resulted in data loss

    问题描述: 原因分析: MongoDB C#驱动在读取数据记录遇到数值类型字段时,如果没有设置允许截断,将抛出TruncationException. 解决方法: [BsonRepresentatio ...

  9. hdu1061Rightmost Digit(快速幂取余)

    Rightmost Digit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  10. 韦大仙--简单的monkey测试命令行操作及生成log日志保存

    作中,在将apk交给软件测试人员去测试之前,不免要自己先自测,monkey自测是一个不错的选择! 步骤很简单: 1.测试用的手机与电脑连接好USB ,并且安装好驱动(我一般都是通过豌豆荚自动安装的)! ...