------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
被java赋予了特殊含义的单词,所有字母都为小写。
①在程序中定义的一些名称。
②由26个字母(大小写)、数字0~9、和—以及$组成。
③数字不能开头,不可以使用关键字作为标识符。
④严格区分大小写,选取有意义的名字,增加阅读性。
名称规范:
1. 包名:多单词组成时所有字母小写(例xxxyyyzzz)
2. 类名和接口:多个单词组成时所有单词的首字母大写(例XxxYyyZzz)
3. 变量和函数名:多单词组成时第一个单词首字母小写,其他首字母大写(xxxYyyZzz)
4. 常量名:多个单词组成时,字母全部大写,多单词之间使用_分隔(XXX_YYY_ZZZ)
①对于单行和多行注释,不会被JVM执行
②文档注释是java特有的注释,其内容可以被JDK中的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。
③注释是一个程序员必须要具有的良好编程习惯。先写注释,后写代码。
④将自己的思想通过注释先整理出来,再用代码去体现,
⑤代码仅仅是思想的一种体现形式而已。
1、整数常量 所有整数
2、小数常量 所有小数
3、布尔型常量 较为特有,只有两个数值,true和false
4、字符常量 将一个数字字母或者符号用单引号(‘’)标识
5、字符串常量 将一个或多个字符用双引号标识
6、null常量 只有一个数值就是null
对于整数:java有三种表现形式
十进制:0-9 八进制:0-7,用0开头表示
十六进制:0-9,A-F,用0x开头表示
8个二进制位代表一个字节,计算机中存放的都是二进制数据。进制越大,表现形式越短。
十进制转换成二进制 原理:对十进制数进行除2运算。
二进制转换成十进制 原理:二进制乘以2的过程。
二进制转换成十六进制 原理:四位一组,四个二进制位最大值为15。
二进制转换成八进制 原理:三个二进制代表一位,最大值为7。
负数的二进制 原理:绝对值的二进制形式取反加1
例:6=110
-6:6的二进制取反加1.
取反,将二进制的1变成0,0变成1.
0000 0000 0000 0000 0000 0000 0000 0110
1111 1111 1111 1111 1111 1111 1111 1001
1111 1111 1111 1111 1111 1111 1111 1010=-6
四个字节,负数的最高位都是1。
内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)。 该区域的数据可以在同一类型范围内不断变化。用来不断地存放同一类型的常量,并可以重复使用。
使用范围:在一对{}之间有效,注意初始化值。
格式:数据类型 变量名 =初始化值(格式固定)
变量就如同数学中的未知数。
通过明确数据类型,变量名称以及数据来开辟空间。
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存 中分配了不同大小的内存空间。
基本数据类型:
(1)数值型
①整数类型(byte、short、int、long)byte一个字节八个二进制位-128~127;short两个字节-32768~32767;int四个字节;long八个字节。(默认int)
②浮点类型:(float,double)float四个字节,double八个字节。(默认double)
(2)字符型(char)0~65535
(3)布尔型(boolean)true和false
当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储的动作。
引用数据类型:
①类(class)
②接口(interface)
③数组([])
① 自动类型转换(也叫隐式类型转换)
可以将一个数赋值给更大数值范围的变量,例如可以经byte 变量赋值给short变量可以将short变量赋值给int变量可以将int变量赋值给long变量。
Java内部其实做了工作就是自动将数值进行了类型提升,就叫做自动类型转换 (也叫隐式类型转换),要实现自动类型的转换,需要满足两个条件,第一两种类型彼此兼容,第二目标类型取值范围必须大于源类型。所有的数字类型,包括整形和浮点型彼此 都可以进行转换。
②当两种类型彼此不兼容,或者目标类型取值范围小于源类型(目标是byte源 是int)无法自动转换,此时就需要进行强制类型转换。比如小数部分只想保留 整数部分。一定要清楚要转换的数据在转换后数据的范围内否则会损失精度。
算术表达式,逻辑表达式
所有的byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型;
如果一个操作数是float型,计算结果就是float型;
如果一个操作数是double型,计算结果就是double型。
不同类型间不能直接运算,必须经过自动类型提升,以大的为主,小的向大的 提升。字符型可以和整数进行运算。
1.8.1运算符
①算数运算符+、-、*、\、%、++、--、(%取模看左边)
②赋值运算符
③比较运算符
④逻辑运算符
⑤位运算符
⑥三元运算符
字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
转义字符:通过\来转变后面字母或者符号的含义。
\n代表换行。
\b 代表退格。相当于backspace。
\r 按下回车键。Windows系统,回车符是由两个字符表示,\n\r。
\t 制表符,相当于tab键。
\转义其后的字符。
1.8.2赋值和比较运算符
赋值运算符:符号:=、+=、-=、*=、/=、%=(是一次运算)
比较运算符==、!=、<、>、<=、>=、instanceof
比较运算符的结果都是boolean型,比较运算符不能误“==”写成“=”。
1.8.3逻辑运算符
&(与)只要两边一个为假,结果为假。
|(或)其中一个为真,结果为真。
^(异或)异于或,两边一样为假。
!(非NOT)
&&(短路AND)左边为假,右边不运算。
||(OR短路) 左边为真,右边不运算。
逻辑运算符用于连接boolean类型的表达式。
1.8.4位运算符
位运算符
<<(左移)乘以2的移动位数次幂(补零)
>>(右移)除以2的移动位数次幂(原来最高位定)
>>>(无符号右移)(空位补零)
&(与)
|(或)
^(异或)一个数异或同一个数两次为其本身。
~(反码)取反
位运算符练习
最有效率的方式运算2乘以8。 2<<3
对两个整数的值进行交换。不使用第三方变量。
①int n=3;int m=4;
n=n+m;//n和m的值非常大,容易超出范围。
m=n-m;
n=n-m;局限性在于int的值有范围。
②n=n^m;
m=n^m;
n=n^m;
1.8.5三元运算符
格式 (条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。