20145325张梓靖 《Java程序设计》第2周学习总结

本文总结了Java编程语言的基础语法知识点,包括数据类型、变量、常量、格式控制符号等内容。详细介绍了整数、浮点数、字符等类型的存储空间大小及使用规范,探讨了算术、比较、逻辑等运算符的使用方法。

20145325张梓靖 《Java程序设计》第2周学习总结

教材学习内容总结

  • 整数 short 2字节,int 4字节,long 8字节
  • 字节 byte 1字节
  • 浮点数 float 4字节,double 8字节
  • 字符 char 2字节(包括字母、汉字)
  • 布尔 boolean 不用在意它的存储空间(只有true/false)
  • 注释 // 单行注释,/* */ 多行注释,/** */ javadoc文档注释
  • 变量命名 不以数字、一些特殊字符开头,不与关键词、保留字同名,可定义为 xxxYyyZzz
  • 常量定义 final加在定义类型之前,表示定义的该变量将不能改变其值,如 final int a=10;
  • 局部变量 在方法中声明的变量,使用前一定要初始化
  • 常用格式控制符号 用在 System.out.printf("",) 引号内, %d 十进制整型, %f 十进制浮点型, %c 字符型, %s 字符串型, %b 布尔型, %n 换行
  • 常用忽略符号 使用 \ ,如“\”表示“”,“\n”表示换行,“\r”表示光标移至行首
  • 不同进制常量表示 10进制表示 int number=12 ,16进制(0x)表示 int number=0xC ,8进制(0)表示 int number=014 ,2进制(0b)表示 int number=0b1100 。(都是有符号的整数)
  • 默认类型 出现小数时,默认类型为 double ,要定义 float型,需在小数后加上“F”,如 float a=0.3F ;出现整数时,默认时使用不超过int类型长度,如果要用到long型的,则需要在整数后加“L”,如 long a=20000000000L
  • 类型转换 进行运算时,如果表达式中包括不同类型数值,则以长度最长的类型为主;当操作数都是不大于int的整数,则自动全部提升为int型进行运算,如果非要换钟类型进行计算,则进行强制转换
  • 算术运算符 +、-、*、/、%
  • 比较、条件运算符 >、>=、<、<=、==、!=,C? A:B (C为条件,成立则为A,不成立则为B)
  • 逻辑运算 &&,||,!
  • 位运算符 &,|,^,~,<<,>>,>>>
  • 递增、递减 i++,i--,++i,--i
  • 赋值 =,+=, -=, *=, /=, %=,&=, |=, ^=, <<=, >>= (如“a+=b”,即“a=a+b”)
  • 分支 if;if...else;if...else if;switch...case
  • 循环 for;while;do...while
  • break 可以离开当前switch,for;while;do...while的区块,并执行区块后下一个描述句
  • continue 使用于循环,只会略过之后描述句,回到循环区块开头进行下一次循环,并不是离开循环
  • 标签 当break back时,返回至back标签处;continue back同样有类似的用法,只不过标签只能设定在for之前

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

  • 问题 P69,count=0b01111111_11111111_11111111_11111111,为什么count+1后,结果为count=0b11111111_11111111_11111111_11111111
  • 解决过程 用IDEA编码运行

885266-20160313163921304-1102434763.png

运行结果

885266-20160313163937929-2018533941.png

结果确实是count=0b11111111_11111111_11111111_11111111,可是怎么理解、怎么算呢?

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

  • 问题 在求char的Unicode范围的时候,为什么结果并没有显示?

885266-20160313163139741-2020066041.png

885266-20160313163443054-1600443388.png

  • 解决过程 将由println求char的Unicode范围,换成了由print

885266-20160313163622507-1548603225.png

885266-20160313163639350-108520068.png

又可以了,但为什么用println时显示不出结果?是因为对于char的Unicode范围来说,必须使用%h?

  • 问题 对于int来说,可以用十进制、十六进制、进制来表示,那么,如果是int number=0xC,输出为println时,perintln(number);,结果是输出的十六进制形式,还是十进制的形式?因为如果在printf中可以直接规定输出的形式,那么println呢?
  • 解决过程 用IDEA编码运行

885266-20160313163709663-1050431337.png

结果

885266-20160313163728116-520444992.png

结果显示为十进制,那么可不可以用println输出十六进制、八进制呢?

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

  • <>4<<3 ,即结果为4*(2的3次方);如 4>>3 ,即结果为4/(2的3次方) (结果为整数)
  • >>与>>> ">>",右移后,补充的位同原最高为一致;">>>",右移后,补充的位都补“0”
  • ^ 7^5^5=5,即A^B^B=A

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标3500行28篇300小时
第一周150/1501/120/20
第二周100/2501/222/42
第三周
第四周

参考资料

转载于:https://www.cnblogs.com/zzjzzjzzj/p/5272377.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值