20145215《Java程序设计》第2周学习总结
20145215《Java程序设计》第二周学习总结
教材学习内容总结
Java语言中的很多基本语法都和C语言类似,在这里我总结一下Java中的基本语法:
标识符:
- 标识符是程序中自定义的一些名称。
- 由26个英文字母大小写,数字:0-9 符号:_ $ 组成
- 定义合法标识符规则:
1、数字不可以开头。
2、不可以使用关键字。 - Java中严格区分大小写。
- 注意:在起名字的时,为了提高阅读性,要尽量有意义
- Java中的名称规范:
1、包名:多单词组成时所有字母都小写,例如xxxyyyzzz。
2、类名接口名:多单词组成时,所有单词的首字母大写,例如XxxYyyZzz。
3、变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写,例如xxxYyyZzz。
4、常量名:所有字母都大写,多单词时每个单词用下划线连接,例如XXX_YYY_ZZZ。
注释:
- 单行注释
格式://注释文字 - 多行注释
格式:/* 注释文字*/ - 文档注释
格式:/** 注释文字*/
常量基本类型:
- 整数:
short整数(2字节)、int整数(4字节)与long整数(8字节) - 字节:
byte类型(1字节,一般用于逐字节处理数据) - 浮点数:
float浮点数(4字节),double浮点数(8字节) - 字符:
char类型(2字节) - 布尔:
较为特有,只有两个数值,true和false,不用在意其长度
变量:
- 变量的数值可以在同一类型范围内不断变化
- 定义变量的格式:数据类型 变量名 = 初始化值;
运算符:
- 算术运算符:+(数值相加)、-、*、/、%、++、--、+(字符串相加,例如“He”+“llo”,结果为“Hello”)
- 赋值运算符:=、+=、-=、*=、/=、%=
- 比较运算符:==、!=、<、>、<=、>=,比较运算符的结果都是布尔型,要么为true,要么为false
- 逻辑运算符:&、|、^、!、&&、||
- 位运算符:<<、>>、>>>(无符号右移)、&、|、^、~,位运算是对二进制进行运算
类型转换:
- 自动类型提升:所有的byte型、short型和char的值将被提升到int型,其他的操作数是什么类型,计算结果就是什么类型
- 强制类型转换:强制将一个类型的操作数转换为另一个类型,例如:byte b = 3;
b = (byte)b+4;
如果此处不进行强制转换,就会报错
流程控制:
- 判断结构:if-else语句
- 选择结构:switch语句
- 循环结构:while语句、do while语句、for语句
- 其他语句:break,continue语句等,基本结构语句和C语言类似,在此就不一一赘述。
代码托管:
具体流程及注意事项可以参考我的另一篇博客(http://www.cnblogs.com/lxm20145215----/p/5268624.html)
代码托管成功后,在网页上会有如图所示的提示:
教材学习中的问题和解决过程
教材第64页代码有错,纠正后代码如下:
public class Shift
{
public static void main(String[] args)
{
int number=1;
System.out.printf("2 的 0 次方: %d%n",number);
System.out.printf("2 的 1 次方: %d%n",number << 1);
System.out.printf("2 的 2 次方: %d%n",number << 1);
System.out.printf("2 的 3 次方: %d%n",number << 1);
}
}
纠正后的运行结果与课本上的结果一致
代码调试中的问题和解决过程
在运行以下代码时:
public class Comparison
{
public static void main(String[] args)
{
System.out.println("10 > 5 结果 %b%n",10 > 5);
System.out.println("10 >= 5 结果 %b%n",10 >= 5);
System.out.println("10 < 5 结果 %b%n",10 < 5);
System.out.println("10 <= 5 结果 %b%n",10 <= 5);
System.out.println("10 == 5 结果 %b%n",10 == 5);
System.out.println("10 != 5 结果 %b%n",10 != 5);
}
}
弹出了错误
后来通过查阅资料发现println是用于输出参数内容,然后换行,其参数个数固定为一个,而printf是用于输出带各种数据类型的占位符的参数,其参数个数是不定的,所以上面的代码只能用printf,而不能用println。
心得体会
在我看来,对于目前仍处在菜鸟级别的我们来说,学习java最简单也是最笨的方法就是敲教材上的代码,我看到有些人只是一味的在那看代码、背代码,却从不动手去做,到头来一看到弹出错误就慌了神。我觉得很多时候敲书上的代码是在寻找自己敲代码的手感,也是在锻炼自己解决问题的能力,看似没有什么新意的举动却往往是最实用的,也能学到很多东西,比如说上面的这串代码,如果不经过运行,可能也不会发现printf和println的区别原来有这么大,最终也就这样含含糊糊过去了。所以说,学习java,从动手敲代码开始。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | 编写了Hello Java代码 |
第一周 | 100/100 | 2/2 | 12/12 | 编写了Hello Java代码 |
第二周 | 200/300 | 2/4 | 15/27 | 理解了printf和println的区别 |
参考资料
20145215《Java程序设计》第2周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- celery 快速入门教程 celery 定时器
当然首先得安装celery和rabbitmq-server,如果有redis需要安装redis 安装Redis $ yum install redis 启动 Redis $redis-server 检 ...
- bat自动执行telnet
@del c:\temp.vbs @echo on error resume next >>c:\temp.vbs @echo dim WshShell>>c:\temp.vb ...
- linux下开启SSH,并且允许root用户远程登录,允许无密码登录
参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...
- 一个不错的shell 脚本教程 入门级
一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行s ...
- 记一次Web应用CPU偏高
LZ开发的一个公司内部应用供查询HIVE数据使用.部署上线后总是会出现CPU偏高的情况,而且本地测试很难重现.之前出现几次都是通过直接重启后继续使用,因为是内部使用,重启一下也没有很大影响(当然,每次 ...
- 17082 两个有序数序列中找第k小
17082 两个有序数序列中找第k小 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 编程题 语言: 无限制 Description 已知两个已经排好序(非减 ...
- sigemptyset,sigfillset,sigaddset,sigdelset,sigismember,sigprocmask,sigpendmask作用
SYNOPSIS #include <signal.h> int sigemptyset(sigset_t *set); int sigfillset(sigset_t *set); in ...
- HDU 4782 Beautiful Soup --模拟
题意: 将一些分散在各行的HTML代码整理成标签树的形式. 解法: 模拟,具体见代码的讲解. 开始没考虑 '\t' .. 代码: #include <iostream> #include ...
- Mina 中遇到SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-op ...
- 一篇搞定RSA加密与SHA签名|与Java完全同步
基础知识 什么是RSA?答:RSA是一种非对称加密算法,常用来对传输数据进行加密,配合上数字摘要算法,也可以进行文字签名. RSA加密中padding?答:padding即填充方式,由于RSA加密算法 ...