1、java基础组成:关键字,注释,标识符,常量和变量,运算符,函数,数组,语句
2、标识符:26个字母、数字0-9、_ $组成
注意:1、数字不能开头 2、不能用其他字符 3、不能使用关键字
3、关键字:Java中被赋予特殊含义的单词 特点:关键字中所有字母都小写
4、注释:Java中解释代码含义的文字,注释分三个种类,分别为单行注释,多行注释,文档注释 作用:提高了代码的阅读性
5、进制转换:1、十进制转二进制 :除以2的过程,取余数 60的二进制位为111100
八进制是二进制的三位取一位,十六位是二进制的四位取一位
十进制 转八进制:先转成二进制 比如60的二进制是111100,根据三位取一位的方法就是74
十进制转十六进制:先转成二进制。比如60的二进制是111100,根据四位取一位的方法就是3C
二进制转十进制:乘以2的次幂 比如111100 0*2^0+0*2^1+1*2^2+1*2^3+1*2^4+1*2^5=60 /*0乘以任何数都得0,2的0次幂得1*/
6、转义字符:\r :回车键 \n换行 windows中,回车键相当于\r\n \t:制表符相当于table键 \b:退格键,相当于Backspace键
7、运算符:自增:a++(先赋值再运算) ++a(先运算再赋值) 自减:a-- (先赋值再自减一) --a(先自减一再赋值)
8、强制转换: byte,short int long
举例:short s=2 ;
s=s+2; //语句1
s+=2; //语句2
编译结果:语句1编译错误,语句1中,2为int型,s运算自动提升为int型,右边结果为int型,不能再赋值给左边short型,会丢失精度,要进行强转s=(short)(s+2);
语句2编译成功,语句2中,运算进行了自动强制转换
9、 逻辑运算符:&:只要有一边为false,就为false ,两边都为true,结果为true
int a =4;
a>3&a<4 false a>3&a<6 true
|: 只要有一边为true,结果为true,两边结果为false,结果为false
int a=4;
a>3|a<4 true a>5|a<3 false
^:两边相同结果为false,两边不同结果为true
int a=4;
a>3^a<4 true a>5^a<3 false
&和&&的区别
&:无论左边是false还是true,两边都运算
&&:左边为false,右边不运算
|和||的区别
|: 无论左边是false还是true,两边都运算
||:左边为true时,右边不运算
10、左移和右移:<<:乘以2移的位数次幂 3<<2 3*2^2=12 /*越移越大*/
>>除以2移的位数次幂 6>>2 6/2^2=1 /*越移越小*/
>>:最高位补什么由原有最高位数值来定,如果最高位为0,右移后,最高位补0,最高位为1,右移后,最高位补1
>>>:无论最高位为什么,右移后,最高位都用1补
n=n^m^m,一个数异或同一个数两次还是这个数
11、交换2个数的值
设第三变量方法:
int a=3 b=4;
int temp;
temp=a;
a=b;
b=temp;
不设第三变量方法:
int a=3 b=4;
a=a+b; //7=3+4
a=a-b; //3=7-4
b=a-b; //4=7-3
-----------------------------------
int a=3 b=4;
a=a^b;
b=a^b; //(a^b)^b
a=a^b; //a^(a^b)
12、求 一个数的十六进制的有效位
例如:60
public class Demo1{
public static void main(String[] args){
int num=60;
//求这个数的最低四位&15,15的二进制位为1111
int n1=60&15;
System.out.println(n1>9?(char)(12-10+'A'):n1);
//移除最低四位,用>>>,因为这样可以移除有效位
int temp=60>>>4;
//求下一组四位&15
int n2=temp&15;
System.out.println(n2>9?(char)(12-10+'A'):n2);
}
}

被折叠的 条评论
为什么被折叠?



