您的位置:首页 > 职场人生

黑马程序员——Java语言基础组成(一)

2015-04-18 16:19 274 查看
------- android培训java培训iOS培训.Net培训期待与您交流!
----------

 

1.关键字:被Java语言赋予了特殊含义的单词,关键字中所有字母均为小写。

(1)用于定义数据类型的关键字

   class interface byte short int long float double char boolean void

 (2)用于定义数据类型值的关键字

   true false null

 (3)用于定义流程控制的关键字

   If else switch case default while do for break continue return

 (4)用于定义访问权限修饰符的关键字

   private protected public

 (5)用于定义类,函数,变量修饰符的关键字

   abstract final static synchronized

 (6)用于定义类与类之间关系的关键字

   extends implements

 (7)用于定义建立实例及引用实例,判断实例的关键字

   new this super instanceof

 (8)用于异常处理的关键字

   try catch finally throw throws

 (9)用于包的关键字

  package import

 

2.标识符:在程序中自定义的一些名称

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

  规则:(1)数字不可开头

         (2)不可以使用关键字

  Java中严格区分大小写

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

  名称规范:

  (1)包名:多单词组成时所有字母都小写  xxxyyyzzz

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

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

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

 

3.注释:注解说明程序,调试程序

  注释格式:(1)单行注释   //xxx

                  (2)多行注释  /*xxx*/

                     (3)文档注释  /**xxx*/

单行注释中可有单行注释,多行注释中可有单行注释

多行注释中不可有多行注释,文档注释也一样,其中不可有文档注释

 

4.常量:不能改变的数值

  分类:整数常量、小数常量、布尔型常量、字符常量、字符串常量、null常量

 对于整数,Java有四种表现形式:十进制、八进制、十六进制、二进制

 这里要注意各进制之间的转换

 

5变量:就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间

 如何开辟内存空间呢?

 就是通过明确数据类型、变量名称和数据来完成

 定义变量的格式:

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

 如:定义一个int类型变量,取值为4

      Int  x = 4;

 什么时候定义变量?

当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储动作。

这里要注意类型转换和自动类型提升的过程

 

6.运算符

  (1)算术运算符:

   1)取模 % ,即取余数:1%-5=1  ,  -1%5=-1

   2)自增++ ,自减-- 

   3)字符串相加+ : “he”+“llo”=“hello”

字符串数据和任何数据使用+都是相连接,最终都会变成字符串

   转义字符:通过\来转变后面字母或者符号的含义

      \n:换行   \b:退格   \r:按下回车键   \t:制表符,相当与tab键

 

  (2)赋值运算符:+=、-=、*=、/=、%=

   如:x+=4 ,即 x=x+4

   short s=4;                              short s=4;

      s=s+5;                                    s+=5;

编译失败,有两次运算,先+后赋值|编译通过,一次赋值运算,内部会自动转换

 

  (3)比较运算符: ==   !=  <  >  <=  >=

比较运算的结果为布尔型,要么为真,要么为假

 

  (4)逻辑运算符:用于连接boolean类型的表达式

     与&、或|、非!、异或^、&&、||

^:两边相同结果为false,两边不同结果为true

 一个数异或同一数两次,结果还是那个数  7^4^4=7

&和&&的特点:&无论左边是true还是false,右边都运算

             &&当左边为false时,右边不运算

|和||的特点:|两边都参与运算

             ||当左边为true,右边不运算

 

  (5)位运算符:<<左移 、>>右移  、>>>无符号右移  

   左移越移越大,右移越移越小

  规律:<<其实就是乘以2的移动的位数次幂

     3<<3=24    3<<2=12  3<<1=6

     3*23=24    3*22=12   3*21=6  

        >>就是除于2的移动的位数次幂

     6>>2=1     6>>1=3

     6/22=1     6/21=3

总:对于>>,高位为1补1,高位为0补0(最高位补什么看原有数据最高位)

   对于>>>,无论最高位是什么,右移后都用0补

(6)三元运算符

 格式:(条件表达式)?表达式1:表达式2

      如果条件为true,执行表达式1,如果条件为false,执行表达式2

 

语句

(1)顺序结构

(2)判断结构

   if语句:三种格式

1)

if(条件表达式)                

{                                 

执行语句;                   

}

只控制一条语句时,{}可不写

2)

if(条件表达式)

  {

执行语句;

  }

 else

  {

执行语句;

  }

只能一个执行

3)

if(条件表达式)

  {

执行语句;

  }

 else if(条件表达式)

 {

执行语句;

 }

...

 else

 {

执行语句;

 }

只要有一个满足就结束

 

if else 结构简写格式:变量=(条件表达式)? 表达式1 : 表达式2 ,即三元运算符 

 

三元运算符好处:可以简化if else代码

             弊端:因为是一个运算符,所以运算完必须要有一个结果

(3)选择结构:

switch语句:格式

switch(表达式)

{

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

...

default:

执行语句;

break;

}

依次读case1,不匹配读case2,直到匹配,结束

特点:

  1)被选择的表达式的值只接收四种类型:byte、short、int、char

  2)在switch当中,case是没有顺序的,不管case与default排序先后,都是读完case再读default

  3)switch语句两种结束方式

    执行到break结束       执行到switch的大括号

  4)如果匹配的case或default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,知道遇到break或switch结尾结束

if和switch语句很像,具体什么场景下,应用哪个语句呢?

如果判断的具体数值不多,而且符合byte、short、int、char这四种类型,虽然这两个语句都可以使用,建议使用switch,因为效率稍高。

其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

 (4)循环结构

代表语句:while    do while     for

1)while语句格式:

while(条件表达式)

{

执行语句(循环体);

}

if和while的区别:if只执行一次,而while满足条件的话会一直执行

2)do while语句格式:

 do

 {

执行语句;

 }while(条件表达式);

do while特点是条件无论是否满足,循环体至少被执行一次

while先判断条件,只有条件满足才执行循环体,do while先执行循环体,再判断条件,条件满足,再继续执行循环体

3)for格式:

 for(初始化表达式;循环条件表达式;循环后的操作表达式)

 {

执行语句;

 }

while和for可以互换,如果需要定义循环增量,用for更合适

变量有自己的作用域,对应for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效,for语句执行完毕,该变量在内存中被释放。

总结:什么时候使用循环结构呢?

 当要对某些语句执行很多次时,就使用循环结构

循环注意事项:一定要明确哪些语句需要参与循环,哪些不需要

 

累加思想:通过变量记录住每次变化的结果,通过循环的形式,进行累加动作

计数器思想:通过一个变量记录住数据的状态变化,也是通过循环完成

打印九九乘法表:

     for(int x=1;x<=9;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}

  (5)其他流程控制语句

 break:跳出

应用范围:选择结构和循环结构

 continue:继续

只能作用于循环结构,继续循环。特点:结束本次循环继续下一次循环

两语句可单独存在,都有自己独特的作用范围,这两个语句离开应用范围,存在是没有意义的。

break和continue单独存在时,其下面不可有任何语句,因为都执行不到
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: