黑马程序员《java语言22个小知识点》

来源:互联网 发布:windows安装在bootcamp 编辑:程序博客网 时间:2024/05/22 10:43

---------------------------ASP.Net+Android+IOS开发java培训、期待与您交流! ---------------------------------


1、java语言基础组成

      关键字 标示符  注释  常量和变量 预算符  语句  函数  数组
2、 标示符
      注意:1)在程序中自定义的一些名称。
       2)由26个英文字母大小写,数字:0-9;_$组成。
       3)数字不 可以开头,不可以使用关键字, java中严重区别大小写。
 3、java名称规范
     包名:都小写xxuu     类名接口名:XxVv
     变量名和函数名:xxYyyZzz  常量名:都大写,多单词时每个单词下划线链接
     XXX_YYY_ZZZ
4、java常量 int float bool ''字符常量  “”字符串常量  null常量
5、对于整数:java有三种表现形式。
     十进制;0—9  满10进1
     八进制:0—7  满8进1,用O开头表示。
     十六进制:0-9,A—F,满16进1,用Ox开头表示
6、10进制转换2进制 system.out.println(integer.toBinaryString(6));
     输出数据:110

7、6=110 -6:其实就是6的二进制取反+1=111111...1010
   负数的最高位都是1
8、常量与变量
基本数据类型:数值型  整数类型 byte[-128--127],short[-2的15次方——32767] int占4个8位                               long
                     浮点类型 float double
             字符型  char [0-6535] 占2个8位
             布尔型  boolean

     引用数据类型:类 class  接口 interface  数值[]
     整数默认:int  小数默认:double
9、什么时候定义变量?
    当数据不确定的时候,需要对数据进行存储时。就定义一个变量来完成存储动作。
10、
system.out.println((char)('a'+1));   输出:b
system.out.println('a'+1);    输出:98
11、运算符
/取整运算 %取余运算 1%-5=1  -1%5=-1  负数只取被除数
字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
system.out.println("5+5="+5+5);输出:5+5=55
system.out.println("5+5="+(5+5));输出:5+5=10
system.out.println("ab"+5+5);  输出:ab55


int a=3,b;
b=+=a;
system.out.println(a+","+b); 输出:4,4
system.out.println("a="+a+","+"b="+b);


12、转义字符,通过\来转变后面字母或者符号的含义  
\n换行, 在linux中换行只有\n
\b:退格,相当于backspace键
\r:按下回车键,换行
\t:制表符,相当于tab键
 window系统中回车符有2个,\n \r
system.out.println("hello \n word");

13、打印带“hello”
system.out.println("\"hello\""); 输出:“hello”
system.out.println("\\hello\\");输出:\hello\
14、经典面试题
short s=4;
    s=s+5;//错误,5是4个8位,而s是2个8位,相加是int类型,装不下,丢    失精度,并且这种形式两次运算
    s+=5;//正确,一次赋值运算,有自动转换动作。


15、比较预算符,只有true flase
== != < > <= >=
16、逻辑运算符
& and与     |or或  ^异或xor (不同为true,相同为false,)
&&短路 false&&true 输出:false


&与&&特点:
&;无论左边是真是假,右边都运算
&&:当左边为假时右边不运算。


|:两边都运算,||;当左边运算为 true时,右边不运算


17、位运算符  <<, >>, >>>, &, |, ^, ~反码
<<左移,换成2进制,越左移越大,3<<2=12  3<<1=6,3<<3=24
     3*4=12  3*2=6 3*8=24 :
<<:其实就是*2的移动的位数次幂
>>:右移 就是除以2的移动的位数次幂,最高位补什么由原有数据的最高位值   而定。
   如果最高位0,右移后,用0补空位。
   如果最高位1,右移后,用1补空位。

>>>:无符号右移,无论最高位是什么,右移后,都用0补

18例子、6&3=2  110&011=010=2
   ~6  0000 0000 0000 0110->1111 1111 1111 1001=-7  所以~6=-7
一个数异或同一个数两次,结果还是那个数。7^4^4=7
19、例子 转换成16进制
int num=60;
//获取60的最低4位,通过&15;
int n1=num &15;
System.out.println((char)(12-10+'A'));


//要获取下一组四位,将60右移4位。


int temp=60>>>4;//把所有有效为全部移光
//对temp的值进行最低四位的获取。
int n2=temp & 15;
system.out.println(n2);

若是转换成8位,则&7 右移>>3位

20、三元运算符
(条件表达式)?表达式1:表达式2
21、程序流程控制
判断结构  
 if(){} 
 if(){}else{}可以简写格式:变量=(条件表达式):表达式1:表达式2;
       三元运算符:好处:可以简化if else 代码
                  弊端:因为是一个运算符,所以运算完必须要有一个结果
if(){


    }
  else if()
  {


   }
  else{
  }
选择结构
 switch(表达式)
{
  case 取值1:
  执行语句
  break;
default://case与default之间没有顺序。先执行第一个case,没有匹配的case执行default.
  
}
循环结构


22、if和switch语句很像,具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用switch语句,因为效率高。

其他情况,对区间判断,对结果为boolean类型判断,使用if ,if语句使用更广泛。

---------------------------ASP.Net+Android+IOS开发java培训、期待与您交流! ---------------------------------


0 0
原创粉丝点击