黑马程序员 Java基础(2)

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------



          2、Java语言基础组成

        

 

2.1、关键字


 

                               定义:被java语言赋予了特殊含义的单词。

                               特点:关键字中所有字幕都为小写。

 2.2、标识符

                               概念:在程序中定义的一些名称

                               组成: 由26个英文字母大小写,数字:0-9,符号:_$

                               定义合法标识符规则:

                                      1、  数字不可以开头

                                      2、  不可以使用关键字

                                      注意:在起名字的时候,为了提高阅读性,要尽量有意义。Java中严格区分大小写


         2.2.1 Java中的名称规范:


                       包名:多单词组成时所有字母都小写。  xxx.yyy.zzz

                        类名接口名:多单词组成时,所有单词的首字母大写。XxxYyyZzz

变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。xxxYyyZzz

常量名:所有字母都大写。多单词时每个单词用下划线连接。XXX_YYY_ZZZ


         2.2.2、注释

             单行注释

             要注释的文字前面加入//,如 //这是一个HelloWorld简单程序。

   多行注释(多行注释中不能有多行注释)


在注释的文字前后添加/* … */,如/*这是一个HelloWorld简单程序。*/

   文档注释

在注释的文字前后添加/**…*/,如/**这是一个HelloWorld简单程序*/

2.2.3 常量和变量

 常量

 java中常量的分类:

1)整数常量,所有整数.

2)小数常量,所有小数.

3)布尔型常量,只有两个数值:true和false.

4)字符常量,将一个数字.字母或者符号用单引号标识(‘2’ ‘中’)

5)字符串常量,将一个或者多个字符用双引号标识

6)null常量,只有一个数值就是:null

 对于整数:有四种表现子形式

1)二进制,0,1 满2进1

2)八进制:0-7,满8进1,用0开头表示

3)十进制:0-9,满十进一

4)十六进制:0-9,a-f,满16进1,用0x开头.

  2.3.4 进制转换

进制的基本转换

1)十进制二进制互转:十进制转二进制,除以2去余数;二进制转十进制,乘以2的幂数

2)十进制八进制互转:十进制转八进制,除以8去余数;八进制转十进制,乘以8的幂数

3)十进制16进制互转:十进制转16进制,除以16去余数;16进制转十进制,乘以16的幂数

4)负数的二进制表现形式:对应的整数二进制取反加1

2.3.5 变量

概念内存中的一个存储区域

定义该区名,类型,变量值

该区域的数据可以在同类型范围内不断变化

使用变量注意事项:

1)变量的作用范围在{}之间有效

2)初始化值

 定义变量的格式

数据类型 变量名 = 初始化值;

注意:格式是固定的,记住格式,以不变应万变.

理解:变量如同数学中的x未知数.

2.3.6 变量分类

 按照声明的位置划分:

1)局部变量:方法或语句块内部定义的变量

2)成员变量:方法外部类的内部定义的变量

注意:类外面雨类对应的大括号外面不能定义变量

按照所属的数据类型划分:

1)基本数据类型变量

2)引用数据类型变量

  注意:成员变量可以不赋值,因为java虚拟机会给成员变量赋默认值

  局部变量必须赋值,否则会出现编译错误.

2.3.7 数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的数据类型,

在内存中分配了不同大小的内存空间

基本数据类型取值范围占用内存大小及默认值

数据类型        关键字        在内存中占多少字节        取值范围        默认值
布尔型        boolean        1个字节(8位)        ture,false        false
字节型(整数)        byte        1个字节(8位)        -128~127        0
短整型(整数)        short        2个字节(16位)        -2(15)~2(15)-1        0
整型(整数)        int        4个字节(32位)        -2(31)~2(31)-1        0
长整型(整数)        long        8个字节(64位)        -2(63)~2(63)-1        0
字符型        char        2个字节(16位)        0~2(16)-1        ‘\u0000’
单精度浮点型(浮点数)        float        4个字节(32位)        1.4013E-45~3.4028E+38        0.0f
双精度浮点型(浮点数)        double        8个字节(64位)        4.9E-324~1.7977E+308        0.0
默认情况:整数是int型,浮点数都是double型.


2.3.8 数据转换

  自动类型转换(也叫隐式类型转换)

强制类型转换(也叫显式类型转换)

类型转换的原理:

            所有的byte型、short型和char型的值将被提升为int型。

如果一个操作数是long型,计算结果就是long型。

如果一个操作数是float型,计算结果就是float型。

如果一个操作数是double型,计算结果就是double型。

          数据参与运算

1)整型,字符型,浮点型的数据混合运算中相互转换时都遵循以下原则:

容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型.

数据类型按容量从小到大的排序为:

Byte<short<char<int<long<float<double

Byte,short,char之间不会互相转换,计算时首先转换为int类型

2)强制转换符

格式(数据类型) (要被转换的数据) byte b =(int)(130);

3) 思考:

byte b1=3,b2=4,b;

b=b1+b2;//编译失败,因为变量是不确定的值,所以无法计算后赋值

b=3+4;//编译通过,常数检查没有查过数据类型的最大值就可以赋值

2.4 算数运算符

2.5赋值运算符

符号: = , +=, -=, *=, /=, %=

示例:

int a,b,c;  a=b=c =3;

int a = 3;   a+=5;等同运算a=a+5;

思考:

short s = 3;

s=s+2;// 编译失败,因为s会被提升为int类型

运算后的结果还是int类型。无法赋值给short类型。

s+=2;// 编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。

2.6 比较运算符

符号

==      相等于

!=      不等于

<       小于

>       大于

<=      小于等于

>=      大于等于

注意:

1)比较运算符的结果都是boolean型,也就是要么是true,要么是false

2)比较运算符“==”不能误写成“=”

2.7 逻辑运算符

符号

&      与(and)              有一个是false最后结果为false

|      或(or)                   有一个是true最后结果为true

^       异或(XR)            两个相同的值最后结果为false

!        非                       值是结果相反的

&&   双或                     第一个值为false就不运算第二个值

||     双与                      第一个值为true就不运算第二个值

2.8 位运算符(位运算是直接对二进制进行运算)

符号:

<<     左移                   移几位就乘以2的几次幂

>>     右移                   移几位就除以2的几次幂

>>> 无符号右移         被移位二进制最高位无论是0或者是1,空缺位都用0补
 
&      与运算              二进制位进行&运算,只有1&1时结果是1,否则是0
 
|       或运算               二进制位进行 | 运算,只有0 | 0时结果是0,否则是1

^       异或运算          相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0

~       反码

二进制1就是true,0就是false

异或运算的运用:

对两个整数变量的值如何进行互换(不需要第三方变量)


int a = 5;

int b = 7;

a = a ^ b;

b = a ^ b;

a = b ^ a;

2.9 三元运算符

格式

(条件表达式)?表达式1:表达式2
如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

        例子:int x=3,y=4,z;

  z=(x<y)?x:y //z的值是3

2.9.1 if   判断语句 

if语句三种格式:

1)if (条件表达式){

执行语句;
}
2)if(条件表达式){


执行语句;

}else{

执行语句;
}

3)if(条件表达式){

执行语句;

}else if(条件表达式){

执行语句;
  }


2.9.2   if语句和三元运算符的区别:

1)三元运算符可以称之为if语句的简写形式,只要简写就会有一定的弊端.

2)三元运算符,是一种运算符号,也就是说每次执行后,必须有结果.

3)if..else是语句,只要是控制流程,执行后不一定有结果

4)if..else里面可以有语句,并输出结果,三元运算符不可以.

if语句的使用情况

1)当对值进行判断的时候

2)当对数据区间进行判断的时候

3)当结果是布尔类型的时候

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<ahref="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值