黑马程序员_Java基础Day02(上)_Java语言基础(Done)
2013-06-20 07:27
190 查看
------- android培训、java培训、期待与您交流! ----------
Java语言基础组成。
Java语言基础组成包括:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组等内容。
一、关键字。
关键字是被Java赋予了特殊含义的单词,在设计Java之初就已经被使用。关键字中所有字母都小写。
1.用于定义数据类型的关键字:
class,interface,byte,short,int,long,float,double,char,boolean,void,true,false,null
2.用于定义流程控制的关键字:
if,else,switch,case,default,while,do,for,break,continue,return
3.用于定义访问权限修饰符的关键字:
private,protected,public
4.用于定义类、函数、变量修饰符的关键字:
abstract,final,static,synchronized,
5.用于定义类与类之间关系的关键字:
extends,implements
6.用于定义建立实例及引用实例、判断实例的关键字:
new,this,super,instanceof,
7.用于异常处理的关键字:
try,catch,finally,throw,throws
8.用于包的关键字:
package,import
9.其他修饰符关键字:
native,strictfp,transient,volatile,assert
二、标识符。
标识符是程序中自定义的一些名称。
标识符的组成:由a~z、A~Z、0~9、_、$这些符号组成
定义合法标识符的规则:数字不可以开头;不可以使用关键字。在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、1组成,满2进1.
八进制:0~7组成,满8进1,用0开头表示。
十六进制:0~9和A~F组成,满16进1,用0x开头表示。
一个字节,是由8位二进制数表示的。字节是计算机中数据的最小单位。
计算机中的数据都是由0,1组成的二进制表示的,为了方便使用,将二进制的由低位到高位每三位代表一位 和 每四位代表一位分别形成八进制和十六进制,进制越高,表示相同数字的长度越短。
进制之间的转换。
1.十进制转换为二进制。
原理:对十进制数进行除以2的运算。如:十进制6,除以2,商3余0;3除以2,商1余1;1除以2,商0余1。于是得到十进制6的二进制表现形式为110.
2.二进制转换为十进制。
原理:二进制乘以2的过程。如:二进制数110转换为十进制。1*2^2+1*2^1+0*2^0=6。于是得到二进制数110的十进制表现形式为6.
3.二进制转换为八进制。
原理:从低位到高位,每三位代表一位,就组成了八进制。如:二进制数110 011 对应的八进制表现形式就是63.
4.二进制转换为十六进制。
原理:从低位到高位,没四位代表一位,就组成了十六进制。如:二进制数1010 0111 对应的十六进制数表现形式就是 A7.
5.负数的二进制表现形式。
原理:对应的正数二进制数取反再加1。
负数的最高位都是1。
变量
变量就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。开辟空间是通过明确数据类型,变量名称,数据来完成的。
Java语言是强类型语言,对于每一种数据类型,都定义了明确的数据类型,在内存中分配了不同大小的内存空间。
Java中的数据类型分为:
A.基本数据类型:
a)数值型:
1.整数类型:byte、short、int、long
2.浮点类型:float、double
b)字符型:char
c)布尔型:boolean
B.引用数据类型:
a)类:class
b)接口:interface
c)数组:[]
其中,整数类型默认是int型,小数类型默认是double型。
byte:8个二进制位表示一个字节数据。取值范围是:-128~127
short:16个二进制位表示。取值范围是:-2的15次幂~2的15次幂-1
int:32个二进制位表示。取值范围是:-2的31次幂~2的31次幂-1
long:超出int范围的。
float:单精度,占32个二进制位。
double:双精度,占64个二进制位。
char:字符型,取值范围0~6535,占两个8位。
boolean:只有两个值,true和false。
定义变量的格式:
数据类型 变量名 = 初始化值;
什么时候定义变量?当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储的动作。
类型的转换:分为自动类型转换和强制类型转换。
byte、short、char都会自动提升为int型。
四、运算符。
1.算术运算符。
+、-、*、/、%、++、--、+(字符串连接符)等。
其中%是取模,即:取余数。正负看左边。
字符串数据和任何数据使用"+",都是相链接,最终都会变成字符串。
2.转义字符。
通过"\"转变后面字母或者符号的意义。
如:\n 表示换行 ; \b 表示退格 ; \t 制表符 ; \r 按下回车键。
3.赋值运算符。
包括:=、+=、-=、*=、/=、%=
同时给多个同类型变量赋相同的值可以使用 int a = b = c = 2 的方式进行。
对于+=等赋值运算符的特殊之处,如下:
包括:==、!=、>、<、>=、<=、instanceof
比较运算符运算后的结果只有两种:true 或者 false
5.逻辑运算符。
包括:&(两边都为ture,结果为ture)、|(两边只要有一边为true,结果就为true)、^(两边不同,结果为true)、!(ture变false,false变true)、&&(如果左边为false,则不需要执行右边)、||(如果左边为ture,则不需要执行右边)
关于短路逻辑运算符&&与||的特殊之处如下:
运行结果为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201306/a0545bd8089a96c9e5e48e78ff3dca4c)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201306/ca4afd751d971d0cb682ef4596d3c04d)
逻辑运算符用于连接boolean类型的表达式。
6.位运算符。
包括:<<、>>、>>>、&、|、^、~
<<其实就是乘以2的移动位数次幂。空位补0。
>>(带符号右移)其实就是除以2的移动位数次幂。最高位是0就补0,最高位是1就补1。
>>>无符号右移。无论最高位是0还是1,空位都补0。
&按位相与。如:6&3,即:110&011==010==2。即:6&3=2
|按位相或。如:6|5,即:110|101==111==7。即:6|5=7
^按位异或。如:6^5,即:110^101==011==3。即:6^5=3
~按位取反。
异或的特殊性。一个数异或同一个数两次,得到的还是原来的数。
练习一:使用效率最高的方式计算2*8
![](https://oscdn.geek-share.com/Uploads/Images/Content/201306/7cadb94a68d02358513feda4b7dae08e)
练习二:对两个整数变量的值进行互换(不使用第三方变量)
部分代码如下:
7.三元运算符。
格式:(条件表达式)?表达式1:表达式2
如果条件表达式结果为true,运算后的结果是表达式1;如果条件表达式结果为false,运算后的结果是表达式2。
Java语言基础组成。
Java语言基础组成包括:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组等内容。
一、关键字。
关键字是被Java赋予了特殊含义的单词,在设计Java之初就已经被使用。关键字中所有字母都小写。
1.用于定义数据类型的关键字:
class,interface,byte,short,int,long,float,double,char,boolean,void,true,false,null
2.用于定义流程控制的关键字:
if,else,switch,case,default,while,do,for,break,continue,return
3.用于定义访问权限修饰符的关键字:
private,protected,public
4.用于定义类、函数、变量修饰符的关键字:
abstract,final,static,synchronized,
5.用于定义类与类之间关系的关键字:
extends,implements
6.用于定义建立实例及引用实例、判断实例的关键字:
new,this,super,instanceof,
7.用于异常处理的关键字:
try,catch,finally,throw,throws
8.用于包的关键字:
package,import
9.其他修饰符关键字:
native,strictfp,transient,volatile,assert
二、标识符。
标识符是程序中自定义的一些名称。
标识符的组成:由a~z、A~Z、0~9、_、$这些符号组成
定义合法标识符的规则:数字不可以开头;不可以使用关键字。在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、1组成,满2进1.
八进制:0~7组成,满8进1,用0开头表示。
十六进制:0~9和A~F组成,满16进1,用0x开头表示。
一个字节,是由8位二进制数表示的。字节是计算机中数据的最小单位。
计算机中的数据都是由0,1组成的二进制表示的,为了方便使用,将二进制的由低位到高位每三位代表一位 和 每四位代表一位分别形成八进制和十六进制,进制越高,表示相同数字的长度越短。
进制之间的转换。
1.十进制转换为二进制。
原理:对十进制数进行除以2的运算。如:十进制6,除以2,商3余0;3除以2,商1余1;1除以2,商0余1。于是得到十进制6的二进制表现形式为110.
2.二进制转换为十进制。
原理:二进制乘以2的过程。如:二进制数110转换为十进制。1*2^2+1*2^1+0*2^0=6。于是得到二进制数110的十进制表现形式为6.
3.二进制转换为八进制。
原理:从低位到高位,每三位代表一位,就组成了八进制。如:二进制数110 011 对应的八进制表现形式就是63.
4.二进制转换为十六进制。
原理:从低位到高位,没四位代表一位,就组成了十六进制。如:二进制数1010 0111 对应的十六进制数表现形式就是 A7.
5.负数的二进制表现形式。
原理:对应的正数二进制数取反再加1。
负数的最高位都是1。
变量
变量就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。开辟空间是通过明确数据类型,变量名称,数据来完成的。
Java语言是强类型语言,对于每一种数据类型,都定义了明确的数据类型,在内存中分配了不同大小的内存空间。
Java中的数据类型分为:
A.基本数据类型:
a)数值型:
1.整数类型:byte、short、int、long
2.浮点类型:float、double
b)字符型:char
c)布尔型:boolean
B.引用数据类型:
a)类:class
b)接口:interface
c)数组:[]
其中,整数类型默认是int型,小数类型默认是double型。
byte:8个二进制位表示一个字节数据。取值范围是:-128~127
short:16个二进制位表示。取值范围是:-2的15次幂~2的15次幂-1
int:32个二进制位表示。取值范围是:-2的31次幂~2的31次幂-1
long:超出int范围的。
float:单精度,占32个二进制位。
double:双精度,占64个二进制位。
char:字符型,取值范围0~6535,占两个8位。
boolean:只有两个值,true和false。
定义变量的格式:
数据类型 变量名 = 初始化值;
什么时候定义变量?当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储的动作。
类型的转换:分为自动类型转换和强制类型转换。
byte、short、char都会自动提升为int型。
byte b = 3; b = b+2;//2默认是int型变量,而b是byte型,所以编译失败,提示损失精度。 b = (byte)(b+2);//强制类型转换。
四、运算符。
1.算术运算符。
+、-、*、/、%、++、--、+(字符串连接符)等。
其中%是取模,即:取余数。正负看左边。
字符串数据和任何数据使用"+",都是相链接,最终都会变成字符串。
2.转义字符。
通过"\"转变后面字母或者符号的意义。
如:\n 表示换行 ; \b 表示退格 ; \t 制表符 ; \r 按下回车键。
3.赋值运算符。
包括:=、+=、-=、*=、/=、%=
同时给多个同类型变量赋相同的值可以使用 int a = b = c = 2 的方式进行。
对于+=等赋值运算符的特殊之处,如下:
class OperateDemo1 { public static void main(String[] args) { int x = 3; short s = 4; //s = s + 5;//5默认是int型,s定义的是short型,两者相加后,类型自动提升为int,不能直接赋给short型的s,会提示丢失精度。 s+=5;//这句效果上相当于s = (short)(s+5),即自带类型提升。所以不会报错丢失精度,可以正常运行。 System.out.println(s); } }4.比较运算符。
包括:==、!=、>、<、>=、<=、instanceof
比较运算符运算后的结果只有两种:true 或者 false
5.逻辑运算符。
包括:&(两边都为ture,结果为ture)、|(两边只要有一边为true,结果就为true)、^(两边不同,结果为true)、!(ture变false,false变true)、&&(如果左边为false,则不需要执行右边)、||(如果左边为ture,则不需要执行右边)
关于短路逻辑运算符&&与||的特殊之处如下:
class Demo { public static void main(String[] args) { int java = 89; int sql = 90; System.out.println(java>90 && sql++> 4000 90);//由于&&左边已经为false,所以不会执行&&右边的代码 System.out.println(sql);//由于没有执行右边代码所以sql没有自增,sql==90 } }
运行结果为:
class Demo { public static void main(String[] args) { int java = 92; int sql = 90; System.out.println(java>90 || sql++>90);//由于||左边的部分已经为true,所以不会执行||右边的代码 System.out.println(sql);//由于没有执行右边代码,所以sql没有自增,sql==90 } }运行结果为:
逻辑运算符用于连接boolean类型的表达式。
6.位运算符。
包括:<<、>>、>>>、&、|、^、~
<<其实就是乘以2的移动位数次幂。空位补0。
>>(带符号右移)其实就是除以2的移动位数次幂。最高位是0就补0,最高位是1就补1。
>>>无符号右移。无论最高位是0还是1,空位都补0。
&按位相与。如:6&3,即:110&011==010==2。即:6&3=2
|按位相或。如:6|5,即:110|101==111==7。即:6|5=7
^按位异或。如:6^5,即:110^101==011==3。即:6^5=3
~按位取反。
异或的特殊性。一个数异或同一个数两次,得到的还是原来的数。
练习一:使用效率最高的方式计算2*8
class Demo { public static void main(String[] args) { System.out.println("2*8="+(2<<3));//使用移位运算符进行计算 } }运行结果为:
练习二:对两个整数变量的值进行互换(不使用第三方变量)
部分代码如下:
a = a^b; b = a^b; a = a^b;
7.三元运算符。
格式:(条件表达式)?表达式1:表达式2
如果条件表达式结果为true,运算后的结果是表达式1;如果条件表达式结果为false,运算后的结果是表达式2。
相关文章推荐
- 黑马程序员——Day02之Java语言基础组成(一)
- 黑马程序员_day02_Java语言基础组成
- 黑马程序员-day02java语言基础组成1
- 黑马程序员_Java基础Day02(下)_程序流程控制(Done)
- 黑马程序员——java语言基础组成(一)
- 黑马程序员-Java语言基础– 泛型 第15天
- 黑马程序员 Java自学总结一 Java语言的基础知识
- 黑马程序员_JAVA语言基础组成_函数
- 黑马程序员-Java语言基础– 网络编程 第23-24天
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- 黑马程序员——Java语言基础——03.面向对象(3)异常
- 黑马程序员+第二章Java语言基础 第03天
- 黑马程序员——Java语言基础——06.集合框架(3)util包中的工具类和新特性
- 黑马程序员——学习笔记02.java的语言基础
- 黑马程序员——Java语言基础(下)
- 黑马程序员-Java语言基础2
- 黑马程序员——Java语言基础知识(一)
- 黑马程序员_java基础day02
- 黑马程序员——Java基础——Java语言组成
- 黑马程序员——java语言基础上