【学习笔记三】最基本的JAVA基础[数据类型,运算符]

注:在笔记是从网上看到的视频中学到的,感觉讲的很好,都是基础的知识,也是我们作为程序员经常遗忘的知识,如果有兴趣的同学可以看下,一起进步。


基础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);
           }

                                                   

注:仅作为自己的学习笔记,同时供大家学习 ,如果想看视频,那么视频连接为: 视频地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值