黑马程序员_第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编辑  收藏  举报

导航