我是张骚年,量子玄学信徒,祖安冲浪王者,B站白嫖大师,撕少保护协会资深会员,一个没有感情的表情包机器。
应届二本物理找不到工作,准备用五个月转行Java”上流社会“
每天唠一唠
昨天忐忐忑忑激激动动的发了第一篇学习笔记,那一刻想起了多年前的一个夜晚,初恋女友等在路灯下,当时的心情和昨天一样的忐忑,怕有人看,又怕没有人看。
感谢大佬们的鼓励,此处往后省略一万个大佬……
不多扯了,感谢感谢,开始今天的笔记。
今日学习目标
在昨天的基础上,学习代码注释,命名规范,变量,八种基本类型,类型强制装换和类型自动提升,表达式和运算符。
今日学习难点
a++ 和 ++a 的区别
首先结果都会将a的值加1,但是 如果把 a++ 作为一个整体的话 表达式的值为加1 之前的值
int a = 1;
// 这个地方打印的不是变量a的值 而是a++ 这个表达式的值 表达式的值是+1之前的值 结果为1
System.out.println(a++);
// 这个地方打印的是变量a的值 a++之后变量的值为 2
System.out.println(a);
// 这个地方打印的不是变量a的值 而是++a 这个表达式的值 表达式的值是+1之后的值 结果为3
System.out.println(++a);
// 这个地方打印的是变量a的值 ++a之后变量的值为 3
System.out.println(a);
学习笔记 重点总结
学习笔记—注释的使用
代码注释:给代码起到解释说明作用的文字,可以屏蔽部分代码
单行注释 | // |
---|---|
多行注释 | / / |
Javadoc注释 | /* / |
学习笔记—标识符的命名规范
标识符:一种特殊的符号,给程序的各个部分起名字
语法要求:
- 字母 下划线 $ 数字组成,数字不能开头
- 大小写敏感,就是区分大小写的意思
- 不能和关键字 保留字一致
- 长度没有限制
规范要求:
- 望文生义
- 大小写
- 包名 全部小写
- 类名 首字母大写(所有单词)
- 变量名/方法名 第一个单词小写,后续单词的首字母大写
- 常量 全部字母大写 单词之间下划线连接
学习笔记—变量和八种基本类型
变量
**
变量:在内存中保存数据的一块儿空间,是保存数据的基本类型
变量的组成:由数据类型、变量名、值三部分组成
变量的使用步骤:
- 变量的声明 指定变量存储的数据类型和变量的名字 数据类型 变量名; int a;
- 赋值 通过变量的名字对变量赋值 变量名 = 值 ; a=1;
int a; //变量声明
a=1; //给变量赋值
// 声明的同时并赋值
int a=12;
//多个相同数据类型的变量声明并赋值
int a=12, b , c=2 ;
强类型语言:变量的类型必须和保存的值的类型一致
八种基本类型
**
基本类型 | 位数 | 可表示的数据范围 |
---|---|---|
byte | 1B | -128~127 |
short | 2B | -32768~32767 |
int | 4B | -2147483648~2147483647 |
long | 8B | |
float | 4B | |
double | 8B | |
boolean | true false | |
char | 2B |
引用数据类型
类、数组、接口等都是引用数据类型
String类型也是引用数据类型。
String str="hello World!";
学习笔记—类型转化和自动类型提升
数据类型的自动提升
两个变量间相互赋值提升的规则,取值范围小的数据类型自动转换为取值范围大的数据类型
byte--->short--->int--->long--->float--->double <br /> <br />char--->int--->long--->float--->double
byte a = 1;
int b = a;
进行数学运算的时候,当参与的值
- 有double 结果提升为double
- 有float 无double 提升为float
- 有long 无double float 提升为long
- 其他情况 均提升为int
强制类型转换
转换的数据类型 变量名 = (要转换的数据类型)原数据类型的变量名;
long a = 1000l;
int b = (int)a;
学习笔记—表达式和运算符
表达式
表达式:由运算符 变量或字面值组成的式子,表达式一定有值
运算符
运算符 | 示例 |
---|---|
算术运算符 | +(加) -(减) * (乘) /(除) %(取模) |
赋值运算符 | = += -= *= /= %= |
++ (自增) 与 —(自减) 运算符 | a++ :先使用a变量原始值,然后再把变量a的值加1;即先使用再加1 ++a :先把变量a的值加1,然后使用变量a的值;即先加1再使用 |
关系运算符:用于判断两个被操作数的大小及是否相等的关系。使用比较运算符其返回结果一定为布尔值。 | == (等于) > (大于) >= (大于等于) < (小于) <= (小于等于) != (不等于) |
逻辑运算符 | & 与 | 或 !非 |
三目运算符 | 布尔(条件)表达式? 表达式1 : 表达式2 |
位移运算(左移 右移) | 左移 << 右移 >> 无符号右移 >>> 有符号右移 |
位运算 | & 同为1为1 有一个为0为0 | 同为0为0 有一个为1为1 ~ 每一位求反 ^ 相同为0 不同为1 |
今日学习名词
名词 | 含义 |
---|---|
byte | |
short | |
int | 整型 |
long | |
float | 单精度浮点数 |
double | 双精度浮点数 |
boolean | 布尔类型 |
char | |
String | 字符串 |
今日疑问—太菜了,这些问题我真不知道
- 强类型语言,有什么优点呢?
- 为什么要分类型?
- 到底什么是单精度?什么是双精度呢?
今日学习总结
今日心情
写文章真的是件神奇的事儿,本来学了几天Java都没什么动力,但是看到大佬们的鼓励和指点,就有了一种期待,我可以的。
今天学习的东西有点枯燥,感觉没什么意思,太零碎了,不过倒是不难。
ps:大佬们,数据类型和表达式你们学了多久?我学了一天。