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存储引擎myisam与inndb的区别?

    最近在研究Mysql存储引擎这块,说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法,在此做一个大概总结: 其实在工作中用的最多也就是MYISAM和INNODB,IN ...

  2. vue-cli3 vue.config.js 配置

    // cli_api配置地址 https://cli.vuejs.org/zh/config/ module.exports = { baseUrl: './', // 部署应用包时的基本 URL o ...

  3. Filter(过滤器)与Interceptor(拦截器)的区别

    Filter能够对请求和响应资源进行拦截: Interceptor只针对请求进行拦截 在 Struts2中: (1)拦截器是基于java反射机制的,而过滤器是基于函数回调的. (2)过滤器依赖与ser ...

  4. windows简易使用composer 安装国内镜像

    1.下载composer.phar文件 地址: https://getcomposer.org/download/  从下面选择一个 2.下载成功,新建项目(找到已有的项目文件夹)文件夹(D:\PHP ...

  5. php 计算两个文件的相对路径

    <?php /** * 计算两个文件的相对路径 */ function relative_path($path1, $path2) { $arr1 = explode('/', dirname( ...

  6. php源码建博客4--实现MVC结构微型框架

    主要: 常量优化路径 自动加载类 优化入口文件 安全访问项目目录 --------------文件结构:-------------------------------------- blog├─App ...

  7. react--基本用法

    1.安装了babel 但是终端执行 babel src --out-dir build命令时说"babel:command is not found" 经百度,找到solution ...

  8. 北京Uber优步司机奖励政策(12月31日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  9. 【LG1527】[国家集训队]矩阵乘法

    [LG1527][国家集训队]矩阵乘法 题面 洛谷 题解 我也不知道为什么取个这样的名字... 其实就是区间\(kth\)扩展到二维 还是用整体二分搞啦,把树状数组换成二维的 其他的基本没有什么差别 ...

  10. spring之HttpInvoker

    一.HttpInvoker是常用的Java同构系统之间方法调用实现方案,是众多Spring项目中的一个子项目.顾名思义,它通过HTTP通信即可实现两个Java系统之间的远程方法调用,使得系统之间的通信 ...