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. 高性能MySQL--innodb中事务的隔离级别与锁的关系

    最近买了<高性能MySQL>这本书回来看,从中收益颇多!我来一吐为快! 我们都知道事务,那么在什么情况下我们需要使用事务呢? 银行应用是解释事务的一个经典例子.假设一个银行的数据库有两张表 ...

  2. php5.4以上 mysqli 实例操作mysql 增,删,改,查

    <?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...

  3. QWT编译与配置-Windows/Linux环境

    QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...

  4. vue生命周期和react生命周期对比

    一 vue的生命周期如下图所示(很清晰)初始化.编译.更新.销毁 二 vue生命周期的栗子 注意触发vue的created事件以后,this便指向vue实例,这点很重要 <!DOCTYPE ht ...

  5. Touch table

    On this page I present the results of my touch action research. I concentrated on the few basic acti ...

  6. Caliburn.Micro 杰的入门教程6, Screens 和 Conductors 简介

    Caliburn.Micro 杰的入门教程1(翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(翻译)Caliburn.Micro 杰的入门教程3, ...

  7. c#调用c++库函数

    如果是非托管的,就用DllImport,举例    using System;    using System.Runtime.InteropServices;    class MainApp    ...

  8. Mybatis之XML、注解

    前言 上篇简单介绍了Mybatis的简单实用,本篇先对上次实验环境的一些内容进行优化,然后验证Mybatis的XML配置以及注解方式. 实验环境优化 数据库配置 在mybatis的配置文件中,引入数据 ...

  9. SLAM前沿问题梳理

    鲁棒性问题:数据关联是影响系统鲁棒性的主要原因 特征提取.线特征 短期内的数据关联是最容易处理的,新的研究方向包括特征提取.线特征等. 回环检测 对于前端的环闭合检测,检测当前测量中的特征并试图将它们 ...

  10. lunix安装

    https://www.cnblogs.com/wcwen1990/p/7630545.html