Java基础 一 <标识符,常量,变量,运算符> <完>
学习java已经有一段时间了,说真的,java真是一门不错的语言.他的魅力我想不用多说啦.哈哈
最近在工作中总感觉有些基础知识没有好好的运用起来,一些东西不用一段时间就忘记了,所以想了想,我打算花一些时间把这些知识点给梳理一下.以便学习和铭记...只因在菜鸟的路上充实一些...
今天的知识点总结的是: 标识符,关键字,常量,进制特点以及转换,变量,运算符
一:标识符
1. 定义:在编程的过程中,经常需要在程序中定义一些符号来标记一些名称,如包名、类名、方法名、参数名、变量名,这些符号被称为标识符。
2. 组成元素:26个英文字母的大小写 + 0至9 十个数字 + 下划线_+美元符号$ 总的是64个
3.规则:不可以以数字开头,不可以使用关键字,严格区分大小写
4.原则:见名知义,驼峰命名
5.规范:
(1) 包名: 所有字母小写 com.alibaba.controler
(2) 类名和接口: 多个单词组成的时候首字母大写 GetNameById
(3) 变量名和函数名: 多个单词组成时,首个单词的首字母小写,后面的首字母要大写 queryNameById
(4) 常量: 所有字母大写,中间用下划线链接 MAX_AGE_VALUE
二:关键字
1.定义: 在java中被赋予了特殊含义的单词
2.特点: 组成关键字的字母全部小写
3.注意: goto , const等是保留的关键字
三:常量
1.定义: java中固定不变的值
2.分类: 字面值常量,自定义常量
字面值常量:
整数常量: (1) 二进制binary :以0b打头 由0,1组成。以0b开头。JDK7以后的新特性。
(2)八进制octal :以0打头 由0-7组成。以0开头。
(3)十进制decimal:由0-9组成 默认就是十进制。
(4)十六进制hex:以0x打头 由0-9,A-F(不区分大小写)组成,以0x开头。
小数常量:(1)单精度浮点数float:以F结尾
(2)双精度浮点数double:以D结尾或者省略
字符串常量: 将一个或者多个字符用双引号("")标识声明, ""空内容的字符串,是长度为0的字符串常量
字符常量: 将一个数字、字母或者符号、汉字用单引号('')标识声明,以及由转义序列来表示的特殊字符。只能放单个字符‘a';'4';'+';'我';'\r';'\u0000';'\u0000'表示一个空白字符,即单引号之间无任何字符。一个char是大小占两个字节,而一个中文也是两个字节。
布尔常量: 较为特有,只有两个数值:true | false,是Java关键字
null常量: 只有一个值null,表示对象的引用为空。
自定义常量
常量可以直接输出
转义字符
定义: 在字符常量中,反斜杠\是一个特殊的字符,被称为转义字符,原来转义后面一个字符
常见转义符:
\r:表示回车符,将光标定位到当前行的开头,不会跳到下一行return
\n:表示换行符,光标换到下一行开头 next
\t:表示制表符,将光标移到下一个制表符tab的位置
\b:表示退格符号,就像键盘上的Backspace键
转移符特殊情况:
\':表示单引号字符
\":表示双引号字符
\\:表示反斜杠字符
四:进制特点及其转换
进制的由来:任何数据在计算机中都是以二进制的形式存在的。二进制早起由电信号开关演变而来。
规则: 进制越大,表现形式越短
二进制
以0b或者0B打头,由0和1组成的数字序列
八进制
以0开头并且其后由0~7范围的整数组成的数字序列
十进制
由数字0~9范围的整数组成的数字序列
十六进制
以0x或者0X开头并且其后由0~9、A~F组成的数字序列
进制间转换
1.其他进制到十进制
结论:把系数*(基数的权次幂)相加即可。
系数:就是每一位上的数据。
基数:X进制,基数就是X。
权:在右边,从0开始编号,对应位上的编号即为该位的权。
2.十进制到其他进制
除基取余,直到商为0,余数反转。
快速转换
8421码:二进制与十进制互转
二进制--八进制(3位组合)
二进制--十六进制(4位组合)
拆分组合法
五:变量
定义: 就是将不确定的数据进行存储,也就是在内存中开辟一个空间。开辟内存空间就是通过明确数据类型,变量名称,数值来完成的。数据类型 变量名称 = 数值; int num = 3;
特点:
1.内存中的一个存储区域
2.该区域有自己的名称(变量)和类型(数据类型)
3.该区域的数据(数值)可以在同一类型范围内不断变换
作用:
用来不断的存放同一类型的常量并可以重复使用
一对{}之间有效.并且,在同一个大括号内不能同时定义同名的变量。
使用变量前,一定要初始化.
变量的数据类型:基本数据类型,引用数据类型
数据类型转换:
隐式转换: 数据类型自动提升
强制转换: 数据类型强制转换 ,强制转换会损失精度.
取值范围: byte<short<char < int < long < float < double
六:运算符
值得一提的是== 和 = 的区别 .
开发中用的多的是: == && !=
(三目)三元运算符 : a==b ? c : d 如果a==b 那么结果是c 否则是d