黑马程序员_第2天
(一)标识符_常量
标识符:在程序中自定义的一些名称。
由26个英文字母大小写,数字:0-9符号:_$组成
定义合法标识符规则:
1,数字不可以开头。
2,不可以使用关键字。
3,Java中严格区分大小写。
注意:在起名字时,为了提高可阅读性,要尽量有意义。
Java中的名称规范:
包名:多单词组成的所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ
常量
Java中常量的分类:
1,整数常量。
2,小数常量。
3,布尔型常量。true,false
4,字符常量。用单引号''标识
5,字符串常量。用双引号""标识
6,null常量。只有一个数值就是:null
对于整数:java有三种表现形式。
十进制:0-9,满10进1。
八进制:0-7满8进1。用0开头表示。
十六进制:0-9,A-F,满16进1.用0x开头表示。
规律:进制越大,表现形式越短。
(二)进制
十进制和二进制之间的转换
十进制-->二进制
原理:对十进制数进行除2运算。
二进制-->十进制
原理:二进制乘以2的过程。
其他进制的转换。
二进制-->16进制
原理:4个二进制位就是一个16进制位。
二进制-->8进制
原理:3个二进制位就是一个8进制位。
负数的二进制表现形式。
6=110
-6:6的二进制取反+1
取反:将二进制的1变成0,0变成1.
0000-0000 0000-0000 0000-0000 0110
1111-1111 1111-1111 1111-1111 1001
0000-0000 0000-0000 0000-0000 0001
---------------------------------------------
1111-1111 1111-1111 1111-1111 1010 = -6
负数的最高位都是1。
(三)变量
变量:就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间。
名称:变量名
空间的类型:数据类型 开辟内存空间就是通过明确数据类型,变量名称来完成。
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
数据类型
基本数据类型:
整数类型:byte(1B,-128至127),short(2B,-32768至32767),int(4B),long(8B)
浮点类型:float(4B),double(8B)
字符型:char(2B)
布尔型:boolean
引用数据类型:
类:class
接口:interface
整数默认:int
小数默认:double
数组:[]
定义变量的格式:
数据类型 变量名 = 初始化值;
如:int x = 4;
什么时候定义变量?
当数据不确定的时候,需要对数据进行存储时。 就定义一个变量来完成存储动作。
(四)转义字符
转义字符:通过\来转变后面字母或符号的含义。
\n:换行。
\b:退格。相当与backspace
\r:按下回车键。windows系统中,回车符是由两个字符来表示\r\n.
/t:制表符。相当于tab键。
(五)赋值运算符
=,+=,-=,*=,%=
示例:
int a,b,c; a=b=c=3;
int a=3; a+=5;等同运算a=a+5;
注意:
short s = 3;
s=s+2
s+=2;
有什么区别?
s=s+2//编译失败,因为s会被提升为int类型,运算后的结果还是int类型。无法赋值给short类型。
s+=2//编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。
(六)逻辑运算符、位运算符
^异或:两边相同为false,不同为true。
&和&&的特点:
&:无论左边是true是false,右边都运算。
&&:当左边是false时,右边不运算。
|:两边都参与运算。
||:当左边为true。右边不运算。
位运算符:
<<:乘以以2的移动的位数次幂。
>>:除以2的移动位数次幂。 位运算的效率高。
>>:右移最高位补什么由原有数据的最高位值而定。如果最高位为0,右移后用0补空位,如果最高位是1,右移后用1补空位。
>>>:无论最高位是什么,右移后都用0补。
^:异或,一个数异或同一个数两次,结果还是那个数。
位运算练习:
1.最有效率的方式算出2乘以8等于几?
2<<3
2.对两个整数变量的值进行互换(不需要第三方变量)
(1)
n=n+m;//如果n+m的值非常大,容易超出int的范围。
m=n-m;
n=n-m;
(2)
n=n ^ m;
m=n ^ m;//(n^m)^m
n=n ^ m;//n ^ (n ^ m)
(七)三元运算符
三元表达式
格式
(条件表达式)?表达式1:表达式2
如果条件为true,运算后的结果是表达式1
如果条件为false,运算后的结果是表达式2
三元表达式是if else结构的简写格式: 变量 = (条件表达式)?表达式1:表达式2
三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须有一个结果。
(八)switch语句
switch语句特点:
1,switch语句选择的类型只有四种:byte,short,int,char。
2,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
3,结束switch语句的两种情况:遇到break,执行到switch语句结束。
4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
switch和if的区别:
1,if除了能判断具体数据,还能判断区间。switch判断区间很费劲。
2,对于运算结果是布尔型的,if能判断,switch不能。
if和switch什么时候用?
1,如果判断的具体数值不多(类型是byte,short,int,char),建议使用switch语句。因为效率稍高。
2,其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
jdk5.0对switch语句增强,可以判断枚举类型。
jdk7.0对switch语句增强,可以判断string.
posted on 2013-04-25 16:44 SinceDayOne 阅读(175) 评论(0) 编辑 收藏 举报