Java Day 2
标识符
凡是变量中需要自己命名的地方都是标识符,例如:包名、类名、变量名等等
标识符的命名规则
1.Java的标识符只能用26个英文字母大小写,0-9的数字,下划线(_),和美元的符号($).
2.标识符中不能含空格
3.数字不呢个开头
4.不能用关键字和保留字和特殊值,例如基本数据类型byte int 等与false,true,null,void等
5.Java严格区分大小写
6.Java标识符的长度没有限制,但不宜太长
标识符的命名规范
1.总原则,见名知意,有意义
2.类名,接口名:所有单词首字母大写 例如:XxxYyyZzz
3.变量名:第一个单词首字母小写其余首字母大写 例如:xxxYyyZzz
4.包名:所有字母都小写,不同单词用 . 分开 例如:java.lang
5.常量名:所有单词都大写,单词之间使用下划线 _ 例如:MAX_VALUE
变量
变量是代表内存中的一块存储区域
变量三要素
1.变量名:给这块存储区域命名,就不用内存地址访问
2.变量值:这块内存中存的数据
3.数据类型:决定这块内存的大小
使用要求
1.先声明后使用:声明格式:数据类型 变量名
2.使用之前必须赋值:赋值格式: 变量名 = 值 (这个值可以是常量,表达式)
3.变量的作用域:从声明处开始,到其所属的 } 结束,并且同一个作用域不能重名
数据类型
基本数据类型
整型
byte:占一个字节,储存范围(-128 - 127)
short:占两个字节
int:占四个字节 默认类型
long:占八个字节,需要在数字后面加L或者小写的 l
浮点型
float:占四个字节,需要在数字后面加F或者小写的 f
double:占八个字节,默认类型
字符型
char:占两个字节,存储的是Unicode编码,
布尔型
boolean:只能赋值true 或 false
基本数据类型转换
1.自动类型转换:double-->float-->long-->int-->byte,short,char
2.强制类型转换:需要强制类型转换符(类型),但是有可能丧失精度
引用数据类型
类:例如 String Syetem
接口
数组
运算符
算数运算符
正号:+
负号:-
加:+
减:-
乘:*
除:/(当整数与整数相除,结果只保留整数部分,当整数与整数相除,被除数/除数 ,除数不能为0,报异常,当浮点数相除,如果除数为0,结果是无穷大,非数字)
取余取模:%(会忽略模数的负号)
自增:++(i++:这个表达式的结果是与i自增前的结果一样,++i:这个表达式的结果是与i自增后的结果一样)
自减:--(同自增)
赋值运算符
基本赋值运算符=:把右边的结果赋值给左边的变量
扩展赋值运算符:+=,-=...... 隐含强制类型转换 例如short s = 6;s+=1; 等价于 s = (short)(s + 1)
比较运算符
大于:>
小于;<
大于等于:>=
小于等于:<=
不等于:!=
instanceof:比较对象是否时类产生的
结果一定是boolean值,所以比较表达式常用于条件表达式
逻辑表达式
逻辑与:& 只有左右两边的值都为true,结果才为true
逻辑或:| 只要左右两边的值有一个为true,结果就为true
逻辑异或:^ 只有左右两边一个为true,另一个为false,结果才为true
逻辑非:! !true 即为false !fales即为true
短路与:&& 结果与&一样 只有左右两边的值都为true,结果才为true 不同的是 如果左边的表达式为false,右边的表达式就不计算了,出现短路现象
短路或:|| 结果与|一样 只要左右两边的值有一个为true,结果就为true 不同的是 如果左边的表达式为true,右边的表达式就不计算了,出现短路现象
条件运算符(也叫三目运算符)
格式:条件表达式 ? 表达式1 : 表达式2
整个表达式的结果看条件表达式,如果条件表达式为true,那么就取表达式1的结果,否则取表达式2的结果
位运算符就不说了,基本用不上,实在是想学的去找一下资料
最新文章
- UITest 单元测试常用的断言
- 强大css3制作新浪LOGO 胜过PS
- 设计模式之美:Interpreter(解释器)
- 《Continuous Delivery》 Notes 1: The problem of delivering software
- LTE Module User Documentation(翻译9)——Using the EPC with emulation mode
- spring源码学习【准备】之jdk动态代理和cglib动态代理的区别和性能
- iOS开发——UI篇Swift篇&;UIDatePicker
- ckeditor内容保存后显示问题
- android如何切换皮肤
- 关于alarm函数
- 20个最强的基于浏览器的在线代码编辑器 - OPEN资讯
- SQL 临时表或表变量替代游标
- Linux 用户信息,组信息,密码信息!
- spring 资源加载使用说明
- handlebar JS模板使用笔记
- 我的asp.net core目录
- table用模板生成的问题
- sftp服务器的安装与远程
- SRM 449 DIV 1 总结(550p标记下,下次做)
- Hibernate5笔记5--关联关系映射