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

黑马程序员-Java的基础(语义、语法和函数)

2015-12-01 10:03 323 查看
                                        -----------android培训、java培训、java学习型技术博客、期待与您交流!------------

                                                                                Java中基本问题要点总结                                                     

1、Java不支持多行注释;

/*

/*  */  到这里就结束了

*/

2、编程解题方式

/*

需求:

思路:

1、

2、

实现步骤;

1、

2、

*/

3、标识符不能以数字开头;

   ‘’字符常量的使用;

   “”、“a”都叫字符串常量;

4、long、float和double类型

   long l  =  41l;(注:41后面加上l标识一下);

   float  f = 10.3f或者(float)10.3(注:因为10.3默认是double类型,所以需要标识);

5、自动类型提升和强制类型转换问题

   byte b=3;

   b= b+2;//注:会发生错误,需要强制类型转换。b = (byte)(b+2)

  

   //float和int的结果是float的。

   float a = 10.3f;

   int b = 5;

   float  c = a+b;

   Systme.out.println('a'+0);//98

6、%运算:余数和被模数的符号一直,例如 -5%2=-1

7、重载操作符:+

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

8、运算符的优先级

    System.out.println("5+5="+(5+5));//10

9、转移字符:通过\来转变后面字母或者字符号含义。

   \n:换行;

   \r:linux和dos中是回车键;windows系统中,回车符是由两个字符来表示\r\n;

   \b:退格,相当于backspace;

   \t:制表符,相当于tab键。

   System.out.println(“hello \n world!”);//结果:hello

                                                  world!

   System.out.println("\"hello world!\"");

   char ch  = '\n';

   char c = '你';

10、单目运算符:

    +=、-=、/=、%=

    byte  b = 3;

    b+=2;  //注:会做自动的转换动作。

11、java中,^、&和&&、|和||的作用一样(同时^、$和|还作为位运算符),只是,&和|的两边都运算,

    而&&和||的两边会发生短路,即&&如果前面的为假,后面的就不

    运算,而||如果前面的为真,后面的就不运算。

12、把乘法运算转换为移位运算,提高效率。

    5*8  --> 5<<3;8是2的3次方。

    利用2次^互换两个数(原理:一个数被异或两次还是他自己。)。

    n= n^m;

    m= n^m;//(n^m)^m

    n= n^m;//(n^m)^n

12、三目运算符:

    int a=1,b=2;  

    int c=(a+b>3?a++:++b);//也会发生短路问题。面试常考题。

    int  num = 60;

    int  n1 = num&15;

    //也会发生强制类型转化,结果为int型;因为char自动提升为int类型,因为n1是int 类型。

    System.out.println((n1>9)?((char)(n1-10+'A')):n1);

  

13、switch语句

    switch(x)//x只支持byte、short、int和char类型。面试题会考。

  

    for循环中定义变量的作用范围需要注意,出来for循环体,变量会在内存中删除;而

    while定义的变量还会存在。

14、嵌套:语句嵌套和循环嵌套

     大圈套小圈问题:循环嵌套,x和y之间必然存在某种关系;

     主要修改y的初始化值或者y的判断条件表达式;例如:九九乘法表。

15、 break和continue:

     break标签:是直接跳到标签标示的末尾;continue标签:是跳到标签标示的地方再次执行。

     //break和continue语句的作用范围;

     break;//break cannot be used outside of a loop or a switch

     //break和continue单独存在时,下面不能有任何语句,因为执行不到。

     for(int x =1;x<3;x++){

 continue;

 System.out.println("x= "+x); //Unreachable code 编译错误

     }

16、return问题

    for (int i = 0; i <3; i++) {

 System.out.println("return test!");

 //Unreachable code

  return ;

 System.out.println("here!");

 

 //return直接退出函数,不会执行其后面对的内容

 if(i==2){

  return;

 }

 System.out.println("here2!");

    }

    //当函数的返回值类型为void时,函数中的return语句可以省略

    不写,系统编译时会自动添加。

17、返回值为void的函数不能直接在System.out.println()中打印。

18、函数的重载和覆盖

    重载:参数个数或者参数类型不同(含有顺序),例如类的构造函数;注意

           不能利用返回值类型进行重载,但重载函数的返回值

    类型可以不同。

   优化:重载函数之间可以进行互相调用。

    覆盖:完全相同的参数个数或者参数类型,但函数体内容不同,

          例如继承中的子类覆盖父类的方法。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java