A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luguoyuanf 中级黑马   /  2013-3-19 01:34  /  3857 人查看  /  10 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

2、Java语言基础组成

         2.1、关键字

  关键字的定义和特点

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

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

         2.2、标识符(类名)

  在程序中定义的一些名称

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

  定义合法标识符规则:

1、  数字不可以开头

2、  不可以使用关键字

  Java中严格区分大小写

  注意:在起名字的时候,为了提高阅读性,要尽量有意义。

Java中的名称规范:

l  包名:多单词组成时所有字母都小写。

xxx.yyy.zzz
l  类名接口名:多单词组成时,所有单词的首字母大写。

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

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

XXX_YYY_ZZZ
         2.3、注释

  单行注释

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

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

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

  文档注释

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

2.4 常量和变量

2.4.1 常量

* 常量白哦是不能改变的数值.

* 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.4.2 进制转换

* 进制的基本转换

1)十进制二进制互转

十进制转二进制,除以2去余数

二进制转十进制.乘以2的幂数

2)十进制八进制互转

十进制转八进制,除以8去余数

八进制转十进制,乘以8的幂数

3)十进制16进制互转

十进制转16进制,除以16去余数

16进制转十进制,乘以16的幂数

4)负数的二进制表现形式:

对应的整数二进制取反加1

2.4.3 变量

* 变量的概念

内存中的一个存储区域

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

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

* 使用变量注意事项:

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

2)初始化值

* 定义变量的格式

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

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

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

2.4.4 变量分类

* 按照声明的位置划分:

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

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

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

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

1)基本数据类型变量

2)引用数据类型变量

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

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

2.4.5 数据类型

* 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.4.6 数据转换

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

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

* 类型转换的原理

            所有的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.5.1 算数运算符

2.5.2赋值运算符

符号:

= , +=, -=, *=, /=, %=

示例:

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.5.3 比较运算符

* 符号

==      相等于

!=      不等于

<       小于

>       大于

<=      小于等于

>=      大于等于

Instanceof  检查是否是类的对象

注意:

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

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

2.5.4 逻辑运算符

符号

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

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

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

!        非                       值是结果相反的

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

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

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

符号

<<     左移                   移几位就乘以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.5.6 三元运算符

格式

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

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

int x=3,y=4,z;

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

2.6.1 判断结构

if语句三种格式

1)if (条件表达式){

执行语句;

}

2)if(条件表达式){

执行语句;
}else{

执行语句;

}

3)if(条件表达式){

执行语句;

}else if(条件表达式){

执行语句;

}

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

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

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

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

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

if语句的使用情况

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

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

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

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

10 个回复

正序浏览
强哥的笔记  很详细
回复 使用道具 举报
学习中........向大家学习,
回复 使用道具 举报
老师还有一点很重要的知识点没有总结,就是算数运算符%的运算规律,希望改进。
回复 使用道具 举报
{:soso_e183:},果然带着劲!!抢个沙发休息会!!
回复 使用道具 举报
l老师总结的很好,简洁,易懂
回复 使用道具 举报
我 困死了
回复 使用道具 举报
康嘉 发表于 2013-3-20 00:29
顶一个..................

谢谢,互相学习!
回复 使用道具 举报
顶一个..................
回复 使用道具 举报
郝勇 发表于 2013-3-19 08:16
这么晚了  还在学   惭愧     向你学习!!!

没办法,压力山大啊!
互相学习 !
回复 使用道具 举报
这么晚了  还在学   惭愧     向你学习!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马