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

教材学习内容总结

第三章主要介绍了Java语言的基础语法。

要求我们认识类型与变量,学习运算符的基本使用以及了解类型转换、运用基本流程语法。 其中——

一、常量基本类型:

整数: short整数(2字节)、int整数(4字节)、long整数(8字节)

字节: byte类型(1字节,一般用于逐字节处理数据)

浮点数: float浮点数(4字节)、double浮点数(8字节)

字符: char类型(2字节)

布尔: boolean类型,表示true与false,分别代表逻辑的真与假。
二、变量: 将不确定的数据进行存储。
三、运算符:

算术运算符:加(+)、减(-)、乘(*)、除(/)、模数运算符(%)

比较运算符:大于(>)、小于(<)、不大于(<=)、不小于(>=)、等于(= =)、不等于(!=)。

逻辑运算:AND、OR、NOT、&&(AND)、||(OR)、!(NOT)。(| / &两边都运算,|| / &&左边为假时,右边不运算。)
四、流程控制:

判断结构:if-else语句。

选择结构:switch语句。

循环结构:while语句、do while语句、for语句。

其他语句:break,continue语句等。

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

(一)不知道各种类型可以储存的数值范围,想通过API来得知,根据书上的代码运行看到结果。

public 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);
}
}

(二)前面以为java中的println和C里的printf可能是同样的含义只是写法不同,但其实有很大差异,根据查资料和自己实验得知:

println是用于输出参数内容,然后换行,其参数个数固定为一个。
    printf是用于输出带各种数据类型的占位符的参数,其参数个数是不定的。且printf不能换行,必须加“\n”换行。

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

在运行如下代码时:

发现break的作用仅仅是跳出当前的这个循环,也就是内循环,然而这是一个嵌套for循环,如何利用break跳出任意指定的循环呢?

后来,根据视频我学到了一个新的语法,就是给循环带上标签,即:

这样,就可以利用break语句跳出任意循环了,这是我在C语言的学习里没有使用过的一个小技巧。

同时我也更深入的理解了break和continue的区别,但需要注意的是break和continue的使用范围。

还有当break和continue语句单独存在时,下面可以有如何语句,因为都执行不到。

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

本以为java语言和C语言可能会有很大的不同,因为一个是面向过程,一个是面向对象,但经过这一周的学习我发现它们两个在语法上竟如此相似。因为对C语言的语法掌握基本过关,因此感到这一周的学习任务并不很吃力,让我很欣慰同时也激发了我对后面学习的好奇和热情,究竟是什么让它们成为两个完全不同的语言?不过有句俗话说:细节决定成败。java语法很多细节上还是有区别于C语言的,这种找不同的过程其实就是一种很好的学习方法。所有学习都是从模仿开始的,从模仿到熟练、再到改进、创新。希望自己可以不断激发学习java的热情并保持不断学习的动力。

学习进度条

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

参考资料

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

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

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

  2. 20145239杜文超《网络对抗》- Web安全基础实践

    20145239杜文超<网络对抗>- Web安全基础实践 基础问题回答 (1)SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查 ...

  3. 20145239杜文超《网络对抗》- Web基础

    20145239杜文超<网络对抗>- Web基础 基础问题回答 1.什么是表单? 表单是一个包含表单元素的区域. 表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输 ...

  4. 20145239杜文超《网络攻防》- MSF基础应用

    20145239杜文超<网络攻防>- MSF基础应用 基础问题回答 1.用自己的话解释什么是exploit,payload,encode? exploit:实现攻击行为的主体,但没有载荷只 ...

  5. 20145239杜文超《网络对抗》- shellcode注入&Return-to-libc攻击深入

    20145239杜文超<网络对抗>- shellcode注入&Return-to-libc攻击深入 shellcode基础知识 Shellcode是一段代码,作为数据发送给受攻击服 ...

  6. 20145239 杜文超 实验四 Android开发基础

    20145239实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试 了解Android组件.布局管理器的使用 掌握Android中事件处理 ...

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

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

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

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

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

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

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

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

随机推荐

  1. angular js 使用$location问题整理

    angular js 自带的$location方法十分强大,通过使用$location方法.我们能够获取到server的port.杂乱连接中的path()部分(/所包括的部分). 例: // give ...

  2. 【前端GUI】—— 前端设计稿切图通用性标准

    前言:公司在前端组和视觉组交接设计稿切图的时候,总会因为视觉组同事们对前端的实现原理不清楚而出现各种问题,在用的时候还得再次返工,前端组同事们一致觉得应该出一份<设计稿切图通用性标准文件> ...

  3. 2016.11.29 activiti实战--第19章--统一身份管理(含自定义用户与数组的实现)

    学习资料:<Activiti实战> 第十九章 统一身份管理 本章讲解如何统一业务系统与activiti的用户管理系统. 第5章的时候已经讲解过activiti的用户与组.一般来说业务系统都 ...

  4. js 选项卡封装

    function tab(input,div){ for(var i = 0; i < input.length; i++){ input[i].index = i; input[i].oncl ...

  5. KVO(1)

    #import "ViewController.h" @interface ViewController () @property(nonatomic, strong)UIButt ...

  6. apue学习笔记(第四章 文件和目录)

    本章将描述文件系统的其他特性和文件的性质. 函数stat.fstat.fstatat和lstat #include <sys/stat.h> int stat(const char *re ...

  7. python:如何判断字符串中的内容是否都为数字并且把字符串转换为数字

    使用str.isdigit();有两种使用方法 str.isdigit('12345') =====>True str.isdigit('aaaaa')======>False 或者 '1 ...

  8. nfs部署和优化 -2

    客户端: cat /etc/passwd 显示用户 weifeng 500   服务端: vim /etc/exports /mnt 192.168.1.105(rw,sync,all_squash, ...

  9. Build Your Hexo Blog (On Github)

    超简单,比jekyll好多了! 看个Demo http://kevinjmh.github.io/ 了解Hexo Hexo是一个由Node.js驱动的,简单.快速.强大的Blog框架.可以快速的生成静 ...

  10. 2、C++ 的升级

    1.内联函数     define 可以定义宏代码片段,但是,C++ 推荐使用内联函数替代宏代码片段. inline int f(int a, int b) { }     只需要在 函数定义(实现) ...