java基础回顾

来源:互联网 发布:秦夕颜捏脸数据 编辑:程序博客网 时间:2024/05/16 06:54

java语言基础

关键字

标示符,注释,常量和变量,运算符,语句,函数,数组

java常量的分类:整数,小数,布尔,字符,字符串,null

java整数有三种表现形式:进制越大,表现形式越短

  十进制: 0-9,满10进1

  八进制:0-7,满8进1,用0开头表示,   3个二进制位表示1位

  十六进制:0-9,A-F,满16进1,用0x开头表示,  4个二进制位表示1位

二进制和十进制之间的转换:原理对进制数进行除2运算

二进制转十进制:二进制乘以2的过程

其他进制转换:先转换为2进制,再进行转换

负数的二进制表现形式 :负数的二进制最高位是1,取反得来的

         6= 110  0000—0000  0000—0000 0000—0000  0000—0110

         -6:6的二进制取反 + 001

      1111—1111 1111—1111  1111—1111  1111—1001

+     0000—0000 0000—0000  0000—0000  0000—0001

1111—1111  1111—1111 1111—1111  1111—1010   = —6

变量

将不确定的数据进行存储,需要在内存中开辟一个空间:通过明确数据类型,变量名称,数据来完成。一个中文2个字节  char = ‘你’;

类型转换

算术运算符

% 取模 :取余数, 左边小于右边结果是左边,左边等于右边结果是0,右边是1结果是0,如果有负数只看左边

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

                        \n:换行。

                        \b:退格。相当于backspace。

                        \r:按下回车键。window系统,回车符是由两个字符来表示\r\n.

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

shors = 3;

s= s+2;//编译失败,因为s会被提示为int类型,运算后的结果还是int类型,无法赋值给short类型

s+=2;//编译通过,因为+=运算符在给s赋值,自动完成了强制操作

逻辑运算符

用于连接boolean类型的表达式

& (与): 只要两边的boolean表达式结果,有一个为false。那么结果就是false。只有两边都为true,结果为true。

true & true = true;

true & false = false;

false & true = false;

false & false = false;

| (或): 两边只要有一个为true,结果为true。只有两边都有false,结果为false。

true | true = true;

true | false = true;

false | true = true;

false | false = false;

^ (异或):就是和|有点不一样。两边相同结果是false。两边不同结果是true。

true ^ true = false;

true ^ false = true;

 false ^ true = true;

 false ^ false = false;

&和&&的特点:

&:无论左边是true是false。右边都运算。

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

|和||的区别:

|:两边都参与运算。

 ||:当左边为true。右边不运算。

位运算符 : 运算效率最高

<<:其实就是乘以2的移动的位数次幂。  3<<2=123<<1=6

 3*22=12   3*21=6

>>:就是除以2的移动的位数次幂   6>>2=1    6>>1=3

6/22=1         6/21=3                

<< :左移后,用0补空位

>>:最高位补什么由原有数据的最高位值而定。

如果最高位是0,右移后,用0补空位

如果最高位是1,右移后,用1补空位

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

  &(与) :6&3=2

             110     1:true

    & 011    0:false

   010

|(或): 6|5= 7      

         110

    | 101

       111 =7

^ (异或):一个数异或同一数两次,结果还是那个数  ;可用于加密解密

7^4    :  111                7^4^4 =7

      ^  100

            011

^  100

111

实例:

1、以最高效的方式计算2*8: sop(2<<3);

2、对两个整型变量的值进行互换(不使用第三方变量)

     int n=3,m=8;

第一种:n= n+m;

       m=n-m;         //局限性:如果n与m的值非常大,容易超出int范围

n=n-m;

第二种 :n=n^m

         m=n^m    //m=n^m^m

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

3、获取一个整数的十六进制表现形式。

//获取一个数的最低4位,通过&15;

     int n1 = num & 15;    n1:表示num的最低4位

     sop(n1>9?(char)(n1-10+’A’):n1);

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

     int temp = num >>> 4;

//对temp的值进行最低四位的获取。

     int n2 = temp & 15;  // n2:表示num的下一组4位

sop(n2>9?(char)(n2-10+’A’):n1);

 

//   0-9'A' 'B' 'C' 'D' 'E' 'F'

         65   66  67

swtich语句

被选中的表达式只支持 byte,short,int,char 枚举

if与switch何时使用:

  • 如果判断的具体数值不多,而是符合byteshort int char,枚举这五种类型。虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
  • 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广

简单无限循环格式

 while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环

累加思想

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

计数器思想

   通过变量记录状态的变化,也通过循环完成

 

循环嵌套

  • 外循环控制行数。
  • 内循环控制每一行的列数,即一行中的元素

嵌套循环原理:大圈套小圈。

不是规律的规律:

          尖朝上,可以改变条件。让条件随着外循环变化。

         尖朝下,可以初始化值,让初始化随着外循环变化。

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

continue:应用于循环结构

重载

  在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数不同或参数类型不同即可

 重载特点:与返回值类型无关,只看参数列表

 重载好处:方便阅读,优化了程序设计。