注:在笔记是从网上看到的视频中学到的,感觉讲的很好,都是基础的知识,也是我们作为程序员经常遗忘的知识,如果有兴趣的同学可以看下,一起进步。
基础1:
数据类型:
基本数据类型[byte short int long float double boolean char] 引用数据类型[class interface array]
注:以下是具体的特殊的实例
实例1:
boolean型命名规范 :应该让人一目了然,变量名应该以canXX或者isXX或者hasXX开头,这样更好 :
boolean isEmpty=false;
boolean canPut=false;
boolean hasValue=true;
//理解三者的区别,应该在编程中让自己的代码更简洁
if(isEmpty ==ture){
System.out.println("adsf");
}
if(isEmpty= true){
System.out.println("adsf");
}
if(isEmpty){
System.out.println("adsf");
}
//例子2
public static boolean fun(int num){
int num=6;
if(num%2==0){
return true;
}
false;
}
public static boolean fun1(int num){
return num%2==0;
}
//两者相比,我想大家会对代码有更深刻的理解。
char:
一般:一个汉字2个字节,一个英文字母占1个字节
特殊:如果编码形式为unicode,则英文和汉字都占2个字节。
char 一般的4种定义形式:
char c1='d';//普通字符
char c2=97;//ASCII编码 注:如果想快速知道97对应的ascii的值,那就按住alt 键 ,用小键盘输入97,然后松开就会出现结果。ASCII (American Standard code for Information Interchange)
char c3='\u4e2d';//unicode编码
char c4='\t'//\r \n \d 转移字符
进制转换:
int num1=25; DEC
int num2=025;// 2*8的一次方+2*8的零次方=21 OCT
int num3=0x25;//2*16的一次方+5*16的零次方=37 HEX
int num4=0b1011;//11 BIN
浮点类型:
float num=3.5f;
double num2=35.5d;
例子:
System.out.println(1+"1");//11
System.out.println('1'+1+"1");//501
System.out.println((int)('0'));//char类型0,为48,1为49
System.out.println((float)(2.0-1.1));//0.9
System.out.println(2-1.1);//0.8999999999999999
基础2:
运算符:
%例子:
System.out.println(5%2);//1
System.out.println(5%-2);//1
System.out.println(-5%2);//-1
System.out.println(-5%-2);//-1
System.out.println(-5%-6);//-5
System.out.println(-5%-8);//-5
System.out.println(5%-8);//5
& 和 &&区别
&: 结果num为9
int num=7;
if(num++ >10 & num++<70)
System.out.println("viva");
System.out.println(num);
&& :结果num为8
int num=7;
if(num++ >10 && num++<70)
System.out.println("viva");
System.out.println(num);
注:&&与&基本一致,但是&&多了短路计算的功能,即执行符号前的语句,若为false,将不执行另外一条语句,所以num加了一次值为8。
m++ 和++m区别
m++ : 先取值,然后运算
++m : 先运算,然后取值
[按位运算符]& 例子
8&5 =0 18&8=0
1000 10010
& 0101 //结果为0 &01000 //结果为0
[运用]
1.当一个整数%2的n次方数的时候,将完全等价于&(这个2的n次方数-1)
%2 %4 %8 %16
相当于 &1 &3 &7 &15
即 if(num%2==0),相当于 if(num&1==0)
2.当实现全线控制模板的时候。
[按位异或运算符]^
例子:如何不运用第三块空间交换两个变量的值。
int a=3; int b=6;
方法: a=a^b;
b=a^b;
a=a^b;
题[2,3]
计算中如何最高效的求出2的3次方。
计算144-237之间所有数字累加的和(禁用循环)
[>> << >>>]运用
*2 *4 *8 *16 *32
<<1 <<2 <<3 <<4 <<5
/2 /4 /8 /16 /32
>>1 >>2 >>3 >>4 >>4
[for循环的运用]
例:比较两者的不同: 打印出1-100之间8的倍数。
for(int i=1;i<=100;i++){
if(i%8==0)
System.out.println(i);
}
//方法2
for(int i=8;i<=100;i+=8){
System.out.println(i);
}
注:仅作为自己的学习笔记,同时供大家学习 ,如果想看视频,那么视频连接为: 视频地址