黑马程序员_JAVA语言基础

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

一 关键字
1关键字是被java语言赋予了特殊含义的单词,如:class(类)、public(共有)、static(静态)、String(字符串类型)


二 注释

1java对程序的说明,还可以用来调试程序。注释的内容JVM会忽略。java支持三种注释方式
(1)//单行注释
(2)/*  */ 多行注释
(3)/**  *文档注释
注意:单行注释可以嵌套单行注释,多行注释可以嵌套单行注释。但是多行注释不能嵌套多行注释。


三 标识符
1 在程序中自定义的名称
2 一般起的名字见名识意,如:name(名字)
3 命名规则
(1)字母和下划线开头
(2)由字母和数字和下划线以及美元符号组成
(3)不可以使用关键字


四 常量
1 常量表示不能改变的数
(1)整数常量:所有的整数。
     整数有四种变现形式。二进制、八进制、十进制、十六进制
(2)小数常量:所有的小数
(3)布尔型常量:只有两个数值,true和false
(4)字符常量:只有一个数字或字母或符号,用''标识。如'a','1,','+'
(5)字符串常量:有一个或多个数字或字母或符号组成,用""标识。如"abc","a","123"
(6)null常量:只有null一个值
2 整数的四种变现形式
(1)二进制,由0和1组成,满2加1 。注意:计算机存储的数据都是以二进制变现形式存在的
(2)八进制,由0-7组成,满8加1。八进制数第一位要加0,如0123
(3)十进制,由0-9组成,满10加1。如123
(4)十六进制,由0-F组成,满16加1。由0x开头,如0x123

3 进制的转换
(1)十进制转二进制:将十进制数除2取余数,再将余数从最后一位开始组合
(2)二进制转十进制:将二进制数乘以2的位数-1次幂相加
(3)二进制转八进制:3个二进制位表示1个八进制为
(4)二进制转十六进制:4个二进制位表示1个十六进制位
(5)十进制转十六进制:将十进制转二进制,再将二进制转十六进制
(6)十进制转八进制:将十进制转二进制,再将二进制转八进制
4 负数的表现形式:对应的正整数的二进制位取反加1。规律:负数的最高位都是1


五 变量
1 概念:内存中有名字并且可以存同一类型数据的空间
(1)当数据不确定时,可以定义变量。
(2)变量定义规则
    数据类型 变量名=初始值。如:int x=0;
2 基本数据类型
(1)整型类型
   byte,占1个字节,范围是2的-7次幂到2的7次幂-1
   short,占2个字节,范围是2的-15次幂到2的15次幂-1
   int,占4个字节,范围是2的-31次幂到2的31次幂-1
   long,占8个字节,范围是2的-63次幂到2的63次幂-1
(2)浮点型
   float,占4个字节
   double,占8个字节
(3)字符型
   char,占2个字节
(4)布尔型
   boolean,只有两个值,true和false
3 类型转换
(1)自动类型转换,当不同类型数据进行运算时,字节小的会向字节大的自动转换
(2)强制类型转换,强制转换必须在运算结果前面加上(数据类型)。 如:byte b=0;b=(byte)(b+1);


六 运算符
1 赋值运算符与比较运算符
(1)赋值运算符:=,+=,-=,*=,/=,%=。如a=3,a+=3相当于a=a+3
(2)比较运算符:==,!=,<,<=,>,>=,结果返回布尔值,true或false
2 逻辑运算符
(1)逻辑运算符,用于连接两边boolean值的表达式
   &(与)、&&(短路):两边为true结果为true,其他为false
   |(或)、||(短路):有一边为true结果为true,其他为false
   !(非):非true为false,非false为true
   ^(异或):两边相同为false,不同为true
(2)&、&&和|、||的区别
  单&无论左边真假,右边都参与运算。双&只有左边为真时,右边才参与运算
  单|无论左边真假,右边都参与运算。双|只有左边为假时,右边才参与运算


七 位运算符
1 位运算其实就是对二进制进行运算
(1)<<(左移):二进制位向左移,空位补0。结果其实就是乘以2的移动位数次幂
(2)>>(右移):二进制位向右移,高位是0,空位补0,高位是1,空位补1。结果其实就是除以2的移动位数次幂
(3)>>>(无符号右移):二进制位向右移,高位无论是0还是1,空位都补0。
(4)&(与):二进制位进行与运算。只有1&1结果是1,其他都是0
(5)|(或):二进制位进行或运算。只有0&0结果是0,其他都是1
(6)^(异或):二进制位进行异或运算。;两边相同结果是0,不同为1
(7)~(取反):二进制位1取反为0,0取反为1
2 异或的应用
(1)一个数异或两个相同的数,结果还是这个数。如:a^b^b=a;
3 变量值的三种互换方式,一般用第三方变量或异或的方式,加减法可能会损失精度
(1)使用第三方变量 int temp=a;a=b;b=temp;
(2)使用加减法  a=a+b;b=a-b;a=a-b;
(3)异或法  a=a^b;b=a^b;a=a^b;


八    程序流程控制
1 判断语句
(1)if语句,格式:if(条件语句){执行语句},如果条件语句满足则执行执行语句,反之不执行。
(2)if..else..语句,格式:if(条件语句){执行语句1}      else{执行语句2},   如果条件语句满足则执行执行语句1,反之执行语句2。
(3)if..else if..else..语句,格式:if(条件语句1)  {语句1}    else if(条件语句2){语句2}    else{语句3},逐级判断,条件成立执行对应的语句,后面不执行,条件都不成立,执行语句3
2 选择语句
(1)switch语句 格式:
switch(表达式) //表达式语句类型只能:byte,short,int,char
{
case 1:
执行语句1;
//switch语句遇到break结束
break;
case 2:
执行语句2;
break;
//没有匹配的case才执行default
default:
执行语句3;
}

3 循环语句
(1)while循环语句,条件语句为true就循环,条件语句为false,循环才语句结束。格式如下:
while(条件语句)
{
执行语句;
}
(2)do while循环语句,先执行语句再判断条件语句,条件语句为false,不循环。格式如下:
do
{
执行语句;
}
while(条件表达式)
(3)while和do while的区别:while先判断再执行,do while先执行再判断。
(4)for语句,格式:
for(初始化表达式1;条件表达式2;循环操作后表达式4)
{
执行语句3;
}
注意:执行顺序按照上面1234执行,其中条件表达式2如果不成立,后面不执行
(5)for和while区别:for循环比较节省内存空间,因为如果for的初始化语句用在for语句内,循环结束变量会被释放。而while的初始化语句在外面,循环结束变量依然在内存存在。另外,for和while可以相互替换。


九   函数
1 函数是定义在类中的具有特定功能的程序,也叫方法。
2 函数的格式
修饰符 返回值类型 函数名(参数类型 形式参数1)
{
执行语句;
return 返回值;
}
3 函数特点
(1)提高代码复用性
(2)函数只有被调用才允许,可以调用多次
(3)函数如果没有具体的返回值,用void表示,而且return可以不写
(4)函数内部只能调用函数,不能定义函数
4 函数的应用
  定义一个函数,只需要明确两个明确
(1)确定返回值,如果没有具体的返回值类型用void表示
(2)确定是否有未知内容参与,也就是参数列表
5 函数重载
(1)在同个类中,函数名一样,但是参数个数或者参数类型不同,称为重载。
(2)重载与返回值类型无关,只看参数列表。


十   数组
1 数组是同一种类型数据的集合,是一个容器。数组会给元素从0开始自动编号。
2 格式:
(1)元素类型[ ] 数组名= new 元素类型[元素个数或数组长度];
     如:int[ ] arr = new int[5];//int类型数组默认初始化都是0
(2)元素类型[ ] 数组名= new 元素类型[ ]{元素,元素,……};
     如:int[ ] arr = {1,2,3,4};//有初始值1、2、3、4
3 内存结构:Java程序在运行时,会在内存中的分配空间。为了提高运算效率,有对空间进行了不同区域的划分,每一片区域都有特定的处理数据方式和内存管理方式。
(1)栈内存:用于存储局部变量,当数据使用完,空间自动释放。
(2)堆内存:数组和对象,过new建立的实体都存放在堆内存中。实体都有地址值,实体中的变量都有默认初始值。实体不被使用时会被垃圾回收器回收。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章