日撸Java三百行(Day2)

预备知识

变量

变量名又称标识符。回答以下问题:

  • Why(为什么定义变量)定义即存储。存储自然是为了后续访问。
  • How(如何定义变量)两个方面:类型+标识符,作用如下表:
类型给值分配合理的空间
标识符通过名字访问到里面的值

Java是一个强类型语言,每个变量都必须声明其数据类型。

数据类型

基本数据类型有4类(小8种)。除了小8种,其它都是引用数据类型
Java的数据类型可分为两大类
不同类型开辟的空间不一样
整数类型的表述范围
如果想表示的小数精度比较高,用double浮点类型
字符型(由单引号修饰)要与 字符串(由双引号修饰)区分开
字符型
布尔型的变量一般叫flag,默认值是false。
布尔型

运算符

程序中除了数据就是逻辑,逻辑的表示通过运算符完成。
1.算数运算符:+、++
+的三种作用
+的输出结果
只要有字符串参与运算,结果一定是字符串。(成为字符串的再运算,就不再是数了,而是字符串的拼接。)
体会数的运算和字符串的运算
输出结果
自增运算,对单个变量a来说,++a和a++没有区别;但是,当参与到表达式中,对输出结果有影响。
a++,结果是不受+影响
++a,结果是受+影响
2.赋值运算符:=
扩展复制运算符:+= (连加:在自身上进行+,再赋给自身)
等价写法:左边写法简单,右边可读性强
3.关系运算符:==(判断的输出结果是布尔值)
对比
结果
4.逻辑运算符:&&、||
通过运行代码的结果来理解运算符的逻辑。
与&&(悲观的逻辑)
或||(乐观的逻辑)
逻辑运算符
运行结果

代码运行情况

运行结果:
在这里插入图片描述
可见double型保留了17位小数;/商,%余数
Tips:
1.eclipse中查看源码的方法:按住ctrl,点Declaration进去。
查看println的源码
2.new新建出来的,表示的是地址值(即房间号),而不是内容。

代码思路旁白

  定义变量的方法有两种:1.先定义,再赋值;2.定义时赋值。突发奇想,看不赋值可不可以,发现程序报错了。由此知道一个结论:局部变量(The local variable)没有默认值。一旦创建了局部变量,我们必须在使用它之前对其进行初始化。局部变量
  熟悉println的中阶用法——可以输出运算/拼接出来的结果。在寻找中阶用法的过程中,了解到println还可以输出对象的字符串,但是输出结果不太尽如人意(是类名+符号@+对象的哈希码值)。其实输出内容还是地址,这取决于println调用的底层方法。
举例如下(黑马程序员课程):为了使输出的字符串易读,需要重写toString方法。(在此过程中,了解了一下成员变量与局部变量的区别:前者在类里后者在方法里)在类里面按住alt+shift+S里面的Generate toString自动重写。
重写Student后,println的输出结果
注:println方法的参数是x,用到了valueOf方法,valueOf里面又用到toString方法。参数在方法里不断被传递。在Object类下的println方法底层是调用了toString方法。

遇到的问题

小结

  1. 变量的名字要”望文生义“,尽量不要有重复的名字。
  2. 理解代码A. B ( C ):通过A调用B方法,把参数C传过来(意思是C被赋值了)
  3. 要想知道为什么输出结果长这个样子,需要了解”方法“。先查看该方法的源代码,再通过索引每一步用到的方法最终找到底层的方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值