• 20145335郝昊《Java程序设计》第2周学习总结


    20145335郝昊《Java程序设计》第2周学习总结

    教材学习内容总结

    一、类型、变量与运算符

    1、类型

    整数:
    

    可细分为为short整数(占2字节),int整数(占4字节),long整数(占8字节)。可表示的整数范围从大到小依次为long,int,short。

    字节:
    

    byte类型,需要逐字节处理数据。可表示-128~127的整数

    浮点数:
    

    要用来储存小数,分为float浮点数(占4字节)与double(占8字节)

    字符:
    

    char类型用来储存字符符号等信号。

    布尔:
    

    boolean类型可表示true和false,代表逻辑的“真”与“假”。

    2、变量

    • 对于基本类型使用所对应的关键词,一些变量名称不可以使用数字作为开头,也不可以使用一些特殊字符。大部分采用驼峰是命名法

    • 当需要表示一些符号的时候,需需要采用“/”就会忽略下一个字符,而不是将下一作为语法的一部分。例如要表示“'”就要用“/'”。

    • 在程序中看到//符号,这是java程序的单行批注,另一个批注的符号是//包括的多行批注。

    • 在方法中声明的变量成为局部变量,不可以声明局部变量后未指定任何值给它之前就使用变量,编译程序遇到这种情况也会编译错误。在声明变量时加上final限定,如果后续撰写程序时,不经意想修改final变量,就会出现编译错误。

    • 在java SE7之后,撰写整数或浮点数可以使用下划线更清楚的表示某些数字。

    3、运算符

    • 算数运算:+、—、*、/,运算法则也是先乘除再加减。其中%运算符计算到的结果是除法后的余数

    • 比较、条件运算:大于(>),不小于(>=),小于(<),不大于(<=),等于(==),不等于(!=)。注意一个等号(=)是赋值运算的意思,例如x=y将y的值给x。而不是比较x、y是否相等。

    • 逻辑运算:&&(AND)、||(OR)、!(NOT),&&和||有快捷方式运算,&&有一个为假则整个结果为假,||有一个为真则整个结果为真。

    • 位运算:位运算是逐位运算,有左移<<、右移>>两个运算符

    • 递增和递减运算:选择i++(i--)表示先返回变量值,然后在对变量加(减),若++i(--i)表示先将变量值加(减),再返回变量值。

    二、类型转换

    double型到float型,int型到long型或short型,因为会存在字节的遗失。

    在运算中,如果表达式中包括不同类型数值,则运算时以长度最长的类型为主,会存在类型的转换。

    三、流程控制

    if...else条件式
    

    if(条件式)

    {

    描述语句;

    }

    else{

    描述语句;

    } 条件式运算结果true会执行if的{与}中的描述语句,否则执行else的{与}中的描述语句。如果条件式不成立并不想做任何事,则else可以省略。如果有多个if...else语句嵌套,条件式一不满足执行第二个语句的if的条件式二。

    switch条件式
    

    switch(变量或表达式)

    {

    case 整数、字符、字符串或Enum:

    描述语句;

    break;

    case 整数、字符、字符串或Enum:

    描述语句;

    break;

    ...

    default:

    描述语句;

    }

    switch的括号当中要取得值的变量或表达式,值必须是整数、字符、字符串等,之后会与case进行比较,操作case中的相应的描述语句,之后break;跳转语句,如果没有对应的case语句,执行default语句,如果没有默认要处理的动作,可以省略default。

    while循环
    

    while(条件式){

    描述语句;

    }

    while主要用于停止条件必须在执行时期判断的重复性动作。前测试循环,因为会在循环执行前就进行条件判断。

    do {

    描述语句;

    }while(条件式);

    这个为do...while循环,先执行一些动作,再判断要不要重复。

    break、continue 
    
    • break可以离开当前switch、for、while、do...while的区块,并执行区块后下一个描述语句,在switch中主要用来中断下一个case比较,在for、while与do...while中,主要用于中断当前的循环。

    • continue的作用与break类似,不过用于使用与循环,break会结束区块执行,而continue只会略过之后的描述语句,并回到循环区块进行下一次的循环而不是离开循环。

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

    首先对于java语言中,虽然之前对于java的语言的语法有所了解,但是对于具体的细节还存在问题。对于输出函数System.out.printf()和Syetem.out.println()的区别,看书后得知Syetem.out.println()函数在编译后会换行,在第一章的“hello world”中就采用了这个函数,而System.out.printf()输出文字后不会换行,是标准的API

    看书也知道了一些常用格式的控制符号,之前在编译的时候不能准确区分这些符号的区别。比如%d用来十进制整数格式输出,%f以十进制浮点数格式输出,%e以科学记号浮点数输出等。

    对于在编译的时候不知道如何预留出字符的宽度。后来看书知道采用常用格式控制符+数字可以预留出相应的字符宽度。

    最后在看书有关于类型转换部分的知识存在疑问。其中在表达式中包括不同类型,则运算时会以最长的类型为主,例如short a=1 long b=2 int c=a+b;会存在精度遗失的问题。一开始说的很乱,不太好理解,还有关于两种处理精度遗失的解决办法存在问题。后来照着书上的操作的方法,用电脑进行简单操作掌握了相应的知识。

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

    在定义时候定义变量,在赋值变量时候会有存在赋值超过范围的是时候,需要注意。

    这个代码为左移运算。

    这里用if...else语句编译学生成绩的等级划分代码。

    下面代码为9*9乘法表。成功例子,但是有个问题,为什么i的取值从2开始?

    还按照书上的参考编辑了位运算和do...while语句的练习等,强化java编程训练。

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

    java是一门程序编辑课,有些知识点和c语言是相同相通的,就比如各种的循环语句也是相同的,所以需要多编程多练习。

    在编译过程中需要多注意,不仅要注意逻辑上的顺序与问题,还有代码细节上的问题。

    学习进度条

    | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|

    |-------| :----------------:|:----------------:|:---------------: |:-----:|

    | 目标 | 4000行 | 30篇 | 400小时 | |

    | 第一周 | 200/200 | 2/2 | 20/20 | |

    | 第二周 | 480/500 | 3/4 |  34/38 | |

    | 第三周 |      /1000 |   /7 |   /60 | |

    | 第四周 |      /1300 |   /9 |   /90 | |

    参考资料

  • 相关阅读:
    JavaWeb:ServletRequestListener
    JavaWeb:HttpServletRequestWrapper
    JavaWeb:Filter
    JavaWeb:HttpSession
    对APS的简单了解
    rem,px,em最大的区别;
    使用vue-cli构建工具构建vue项目时候组件的使用
    webpack 4.0 配置方法以及错误解决
    px,rem,em 通过媒体查询统一的代码
    关于页面中css某些情况下出现不知原因的隔断解决办法
  • 原文地址:https://www.cnblogs.com/20145335hh/p/5267697.html
Copyright © 2020-2023  润新知