关闭

黑马程序员:Java编程_语法基础

379人阅读 评论(0) 收藏 举报

 ------- android培训java培训、期待与您交流! ----------

一、数据类型

基本数据类型(简单数据类型、语言所内置的类型)

1.布尔型:boolean(true/false)                         

 *:纯粹的java中数值不能给boolean赋值

2.字符型:char (16bit – 0个符号位,全部都是数值位)

1.直接指定字面值 ,char c1 = ‘a’;
2.ASCII码表赋值, char c2 = 97;
3.char c3 = ‘\u4e2d’;
4.转义字符char c4 = ‘\t’;

3.整数型:byte (8)   short(16)     int(32)    long(64)       符号(1)+数值位(n-1)

int num1 = 25;         //10进制赋值                            
int num2 =025;         //8进制赋值                              
int num3 =0x25;        //16进制赋值                           
int num4 =0b1011;   	//2进制赋值  JDK7.0              

4.浮点型:符号位+幂指位+数值位

float     32(1+8+23)  	F/f
double    64(1+11+52) 	D/d
例:67.25 =>
得到符号位:0
整数部分:64+2+1 = 1000011
小数部分:0.01
1000011.01=> 科学计数法:1.00001101*2(6)

幂指位8位:127+6 = 01111111 + 0110 =133 = 10000101 数值位(科学计数法中小数点后面部分):00001101 010000101 00001101000000000000000

引用数据类型:(自定义类型 – 自己写的类型 Object)

二、运算符

1.+     -      *     /     %

[+:] 1+1什么情况下不等于2? 当字符串String和数值型进行+号连接时,不是代表数学运算,而是追加连接 [*:] 数值在进行乘法运算时很容易超出数据边界,发生溢出 *:int数据类型超过2147483746,后面要加L *:商品价格7折优惠 [/:] Java当中整数除以整数 结果一定为整数 [%:] 最终结果的符号位取决于参与运算的第一个数字的符号:

2.+=   -=    /=   %=

[能够自动保持运算符左侧数据类型不发生任何变化] int num = 3; num += 1.5;

3.<  >   <=   >=   ==   =

[区别 == 判断等,=赋值等]

4.& |   && ||

[&逻辑非短路运算符]           [&&逻辑短路运算符] [当通过前面的条件能够得出最终结论的时候,短路运算符会舍弃之后没有必要的无用功]

5.++    --

[++在后,先取值再计算;++在前先计算再取值]

6.&  |  ^   ~

[按位运算符] *:当一个正数%2的n次方数时,将完全等价于&(这个数2的n次方-1)        %2   %4   %8   %16 %32 %64 ……        &1    &3    &7    &15 &31 &63 …… *:^ 按位异或运算符 如何不借助第三块空间交换两个变量的值:        a = a ^ b;        b = a ^ b;       a = a ^ b;        一个数与另一个数异或两次等于它本身  

7.<<   >>  >>>     

[位移运算符] *2    *4    *8    *16 <<1  <<2  <<3  <<4 *:“>> 右移,高位补符号位” 右移一位表示除2 “>>> 无符号右移,高位补0”;

三、流程控制

1. 判断结构

if语句特点:
a. 每一种格式都是单条语句。
b. 第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c. 条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;

2. 选择结构

switch语句特点:
a. switch语句选择的类型只有四种:byte,short,int , char。
b. case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c. 结束switch语句的两种情况:遇到break,执行到switch语句结束。
d. 如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

3. 循环结构

代表语句:while, do while , for格式: for(初始化表达式;循环条件表达式;循环后的操作表达式) { 执行语句;(循环体) } a. for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。 b. while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。 c. 最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

4.其他流程控制语句

break(跳出),  continue(继续)
break语句:应用范围(选择结构和循环结构)。continue语句:应用于循环结构。
a. 这两个语句离开应用范围,存在是没有意义的。
b. 这个两个语句单独存在下面都不可以有语句,因为执行不到。
c. continue语句是结束本次循环继续下次循环。
d. 标号的出现,可以让这两个语句作用于指定的范围。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2334次
    • 积分:117
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档