02 Java语言基础组成
2013-08-18 12:46
281 查看
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
第二章 java语言基础组成 1 标识符 定义:java中对各种变量,方法和类的命名都叫标识符。在java中凡是自己起的名字都叫标识符,都需要遵守标识符规则。 组成: 由26个英文字母大小写、数字(0-9)、和符号_$组成。 java中严格区分大小写,标识符不限制长度 为了方便阅读,标识符的定义要有意义。 规则: 数字不可以开头; 不可以使用关键字。 java中的名称规范 包名:由多单词组成时,所有的单词首字母都小写xxx.yyy.zzz 类名和接口名:由多单词组成时,所有的单词首字母都大写。XxxYyyZzz 变量名和函数名:多单词组成时,第一个单词首字母都小写,第二个单词开始首字母都大写。xxx_Yyy_Zzz 2 关键字 定义:被java语言赋予了特殊含义的,用于专门用途的单词 特点:所有的关键字字母都小写。 定义类型: 定义访问权限修饰符的关键字 定义类、函数、变量修饰符的关键字 定义类与类之间关系的关键字 定义建立实例及引用实例、判断实例的关键字 用于异常处理的关键字 用于包的关键字 定义数据类型 定义数据类型值 定义流程控制的关键字 其它修饰符关键字 3 注释 定义:用来注解说明解释程序的文字就是注释。注释提高了代码的阅读性。 单行注释:// 作用范围:从//开始到这一行的末尾(回车符结束)。 可以嵌套使用。 可以调试程序。 多行注释:/*需要注释的代码及文字*/ 作用范围:从/*开始,到*/结束 不可以嵌套使用。 文档注释:/** */ 是java特有的,可以用javadoc工具生成帮助文档。 对于单行和多行注释,被注释掉的的文字不能jvm虚拟机解释执行; 4 常量与变量 常量:表示不能改变的数值。 分类: 整数常量:所有的整数。 小数常量:所有的小数。 布尔型常量:只有两个数值true和false。 字符常量:将一个数字或者字符用''表示。 字符串常量:将一个或多个字符用""表示。 null常量:只有一个数值null。 表现形式: 二进制:0,1 满2进1,用0b表示开头。 八进制:0-7 满8进1,用0表示开头。 十进制:0-9 满10进1 十六进制:0-9,A-F 满16进1,用0x表示开头。 进制互转 十进制转其它进制 规则(通用方法):除基取余,直到商为0,最后将余数反转 十进制==>>二进制: 除以2,直到商为0 ,将所有取得的余数反转。 技巧:8421码 十进制==>>八进制 除以8,直到商为0,将所有取得的余数反转。 十进制-->二进制-->八进制 先把十进制转成二进制 再把二进制数据每三位组合,左边不够三位,用0补位 然后把每个组合计算成对应的十进制数据 最后从左到右把数据相连接,即可得到八进制数据 十进制==>>十六进制 除以16,直到商为0,将所有取得的余数反转。 十进制-->二进制-->十六进制 先把十进制转成二进制 再把二进制数据每四位组合,左边不够四位,用0补齐 然后把每个组合计算成对应的十进制数据 最后从左到右把数据相连接,即可得到十六进制数据 其它进制转成十进制 规则:把数据的每一位上的系数(数字)乘以对应基数(几进制)的次幂(低位从从零开始),然后相加即可。 变量 概念:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型) 作用:不断存放同一类型的常量,并可以重复使用。 作用范围:一对{}之间有效。 格式:数据类型 变量名 = 初始化值; 变量的分类: 按照定义的位置划分: 局部变量:方法或语句块内部定义的变量。局部变量必须赋值,否则会出现编译错误 成员变量:方法外部类的内部定义的变量。成员变量可以不赋值,因为java虚拟机会给成员变量赋默认值 类外面与类对应的大括号外面不能定义变量。 按照所属的数据类型划分: 基本数据类型 引用数据类型 变量在使用时的两种格式 在声明的同时赋值:byte b = 100; System.out.println(b); 先声明,再赋值,再使用: byte b2; b2 = 100; System.out.println(b2); 5 数据类型 Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。 基本数据类型(4类8种):在内存中分配的空间大小不同,从而导致它表示的数据范围不同 整数型: byte 占1个字节 short 占2个字节 int 占4个字节 (整数型变量的默认类型) long 占8个字节,后面要用L或l标识(建议用L) 浮点型: float 占4个字节 其后加F或f标识 double 占8个字节 (浮点型变量的默认类型) 字符型: char 占2个字节 转义字符: \t:制表符 \n:换行符 \r:回车符 \‘ 单引号字符 \” 双引号字符 \\ 反斜杠字符 转义字符需要写在单引号或双引号里用+号连接,转义字符代表的是一个字符可以放在char里 布尔型 boolean 这个数据类型代表一个比特的信息,但它的“大小”不是精确定义的东西. true false(默认为false) 适用于逻辑运算,一般用于程序流程控制。boolean类型数据只允许取值true或者false,不可以0或者非0 的整数替代true和false。 引用数据类型: 类 class 接口 interface 数组 [] 6、数据参与运算 自动类型转换(也叫隐式类型转换); 强制类型转换(也叫显式类型转换) 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型 数据类型按容量大小排序为: byte,short,char->int->long->float->double byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算 强制转换符 格式:(数据类型)(要被转换的数据) byte b = (byte)(130); 字符型参与运算 首先会去找对应字符的unicode码值。然后运算。 char 类型内容补充取值范围0~2(16)-1,能不能把整数直接赋值给char类型的变量char ch = 123; 布尔型不能参与运算 字符串参与运算 它是和参与运算的数据相连接组成了一个新的字符串。 因为有了这个特性,所以我们求出了我们名字的字符值就可以在内存中这样输出 System.out.println(""+'\u51AF'+'\u4F73'); 思考:哪句是编译失败的呢? byte b1=3,b2=4,b; b=b1+b2; //编译失败。byte,short,char三种数据类型在内存中运算的时候会自动类型提升为int去运算 b1和b2是两个变量值,jvm无法判断里面值的大小 b=3+4; //编译通过。3+4的结果是7,jvm可以对常量值进行判断,如果在byte的取值范围就不会报错, 这和我们直接定义byte b = 3;的道理是一样的,3在内存中默认也是int型的,但是当jvm判 断它是在byte的范围之内就不会报错; 7、运算符 算术运算符 + - * / % ++ -- 取模运算符 % 当左边的绝对值小于右边:结果是左边 当左边的绝对值等于右边或者是右边倍数的时候:结果是0 当左边的绝对值大于右边:结果是余数,符号取决与左边的的符号 取余的正负号取决于左边,右边忽略不记 用途:任意正整数%2 结果是要么0,要么1。用于切换条件 除号运算符 / 它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例:int x=3510;x=x/1000*1000; 递增递减运算符 ++ -- 就是加1或者减1 单独存在,放在操作数的前面或者后面,结果一样 参与运算时: 放在操作数的前面,先自身加或者减1,然后再参与运算(赋值) 放在操作数的后面,先参与运算(赋值),然后再自身加或者减1 加号运算符 + 作为数据的符号(正号) 做加法运算 字符串连接符:把非字符串转换成字符串 赋值运算符 赋值运算符 = 把右边的值赋给左边。 举例:int x = 3; 把3赋给int类型变量x 加赋值运算符 += 把左边和右边的和赋给左边 举例:int x = 3; x+=2;等同于 x = x + 2; byte b = 5; b += 127; //编译通过。b=(byte)(5+127);+=运算符在给b赋值时,自动完成了强转操作。、 NwYZSystem.out.println(b); 比较运算符 ==, !=, >, <, >=, <= 比较运算符的结果都是boolean型,也就是要么是true,要么是false。 逻辑运算符 逻辑运算符用于连接布尔型表达式。 与运算符 "&" 左右两边同时为true,结果为true。 或运算符 "|" 左右两边只要有一个结果是true,结果为true。 异或运算符 ^ 左右两边相同,结果为false 非运算符 "!" !true-->false !false-->true !!true-->true 短路与运算符 "&&" &:左边无论什么结果,右边都执行。 &&:左边为false,右边不执行,结果为false。 短路或运算符 "||" 当左右都为true时,结果为false。 | 左边无论什么结果,右边都执行。 || 左边为true,右边不执行,结果为true。 位运算符 左移位运算符: (<< ) 一个数向左移动几位就乘以2的几次幂 右移位运算符: (>>) 一个数向右移动几位就除以2的几次幂 无符号右移运算符:(>>>) 无符号右移无论最高位的符号位是0还是1,高位符号位都是补0 与位运算符: (&) 二进制位进行&运算,只有1&1时结果是1,否则是0; 或位运算符: (|) 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1; 异或位运算符: (^) 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1 三元运算符 格式:(条件表达式)?表达式1:表达式2; 如果条件为true,运算后的结果是表达式1; 如果条件为false,运算后的结果是表达式2; 三元运算符运算完之后一定有一个结果。
相关文章推荐
- 黑马程序员——Java语言基础——02.java语言基础组成(4)数组及常用排序方法
- 黑马程序员——Java语言基础——02.java语言基础组成(1)关键字、标识符运算符等
- 黑马程序员——Java语言基础——02.java语言基础组成(2)语句
- 黑马程序员——Java语言基础——02.java语言基础组成(3)函数
- 黑马程序员_java基础笔记(02)...java语言基础组成
- (三)Java语言基础组成
- Java基础02——Java语言基础(关键字、标识等)
- 黑马程序员--02.Java语言基础--01.【关键字】【标示符】【常量】【变量】【运算符】
- Java学习2:Java语言基础组成
- 黑马程序员—Java入门及Java语言基础组成
- Java学习笔记02——Java语言基础
- 黑马程序员——java语言基础组成(二)
- 黑马程序员--02.Java语言基础--01.【关键字】【标示符】【常量】【变量】【运算符】
- 黑马程序员_Java语言基础组成
- 黑马程序员_java语言基础组成
- 黑马程序员--02.Java语言基础--01.赋值语句练习2【个人总结】
- 十一:Java语言基础组成——数组
- Java语言基础组成
- 黑马程序员_JAVA语言基础组成_常量、变量
- Java语言基础组成(运算符,关键字,语句if,whle,for)