标识符

凡是变量中需要自己命名的地方都是标识符,例如:包名、类名、变量名等等

标识符的命名规则

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的结果

位运算符就不说了,基本用不上,实在是想学的去找一下资料

最新文章

  1. UITest 单元测试常用的断言
  2. 强大css3制作新浪LOGO 胜过PS
  3. 设计模式之美:Interpreter(解释器)
  4. 《Continuous Delivery》 Notes 1: The problem of delivering software
  5. LTE Module User Documentation(翻译9)——Using the EPC with emulation mode
  6. spring源码学习【准备】之jdk动态代理和cglib动态代理的区别和性能
  7. iOS开发——UI篇Swift篇&amp;UIDatePicker
  8. ckeditor内容保存后显示问题
  9. android如何切换皮肤
  10. 关于alarm函数
  11. 20个最强的基于浏览器的在线代码编辑器 - OPEN资讯
  12. SQL 临时表或表变量替代游标
  13. Linux 用户信息,组信息,密码信息!
  14. spring 资源加载使用说明
  15. handlebar JS模板使用笔记
  16. 我的asp.net core目录
  17. table用模板生成的问题
  18. sftp服务器的安装与远程
  19. SRM 449 DIV 1 总结(550p标记下,下次做)
  20. Hibernate5笔记5--关联关系映射

热门文章

  1. Go语言核心36讲38
  2. uwsgi 启动配置文件
  3. 6 STL-vector
  4. Class文件解析
  5. python 运算优先级
  6. WPF中的“资源”
  7. MySQL事务(四大特性)-存储过程
  8. SQLMap进阶:参数讲解
  9. JavaScript:输出语法
  10. 大数据 - DWM层 业务实现