zoukankan      html  css  js  c++  java
  • Java第一天

    Java语言概述:

    是SUN(Stanford University Network,斯坦福大学网络公司)1885年推出的一门高级汇编语言。

    是一种面向Internet的编程语言

    随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。

    是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。

    跨平台性

    命令行方式:

    dos命令行,常见的命令:

    dir:列出当前目录下的文件及文件夹

    md(make directory):创建目录

    rd(remove directory):删除目录

    cd(change directory):进入指定目录

    cd..:退回到上一级目录

    cd:退回到根目录

    del:删除文件

    exit:退出dos命令行

    临时配置方式:通过dos命令中set命令完成

    set:用于查看本机的所有环境配置变量的信息。

    set 变量名:查看具体一个环境变量的值。

    set 变量名=:清空一个环境变量的值。

    set 变量名=具体值:给指定变量定义具体值。

    在原有环境变量值基础上添加新值:

    set path =新值;%path%

    注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。

    标识符:由26个英文字母大小写、数字:0-9、符号:_ $组成。

    定义合法标识符规则:

    1.数字不可以开头

    2.不可以使用关键字

    例:

    需求:练习一个hello world程序

    思路:

    1.定义一个类,因为java程序都定义在类中,java程序都是以类的形式存在的,类的形式其实就是一个字节码文件最终体现。

    2.定义一个主函数,为了让该类可以独立运行。

    3.因为演示hello world,在控制台上看到该字样,所以需要使用输出语句完成。

    步骤:

    1.用class关键字来完成类的定义,并起一个阅读性强的类名。

    2.主函数:public static void main(String[] args)这是固定形式,jvm认识。

    3.使用输出语句:System.out.println("hello world");

    5%-2=1

    -5%2=-1

    int a=3,b;

    b=a++;

    结果:a=4,b=3

    过程:1.开辟一块空间temp用来存放a的初值。2.a++。3.b=temp

    int a=3,b;

    b=++a;

    结果:a=4,b=4;

    int i=1;

    i=i++;

    System.out.println(i);

    结果:1

    short s=3;

    s+=4;

    System.out.println(s);

    结果:7

    short s=3;

    s=s+4;

    System.out.println(s);

    结果:报错,s可能丢失精度

    原因:前一种情况s+=4就相当于s=short(s+4);做了加法运算之后进行了强制,而后面一种s+4之后变成了int型,不能赋值给低精度的类型,会丢失精度。

    &和&&的区别:

    &和&&的运算结果是一致的,但是运算过程有点小区别:

    &:无论左边的运算结果是什么,右边都参与运算。

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

    一个数异或一个数两次,结果还是这个数。

    3<<2=3*2(2)=12

    左移几位其实就是该数据乘以2的几次方。<<:可以完成2的次幂运算

    6>>1=3=6/2(1)

    右移其实就是该数据除以2的次幂。>>:对于高位高位出现的空位,原来高位是什么就用什么补这个空位。

    >>>无符号右移:数据进行右移是,高位出现的空位,无论原高位是什么,空位都用0补。

    最有效率的方式算出2乘以8的结果?

    2*8=2*2(3)=2<<3=16

    两个值进行交换:

    1)这种方法不要用,如果两个整数的数值过大,会超出int范围,会强制转换,数据会变化

    a=a+b;

    b=a-b;

    a=a-b;

    2)一个数异或一个数两次,结果还是这个数。

    a=a^b;

    b=a^b;

    a=a^b;

    内存的划分:

    1.寄存器。

    2.本地方法区。

    3.方法区。

    4.栈内存。

      存储的都是局部变量。

      而且变量所属的作用域一旦结束,该变量就自动释放。

    5.堆内存。

      存储的是数组和对象(其实数组就是对象) 凡是new建立的都在堆中。

      特点:

      1,每一个实体都有首地址值。

      2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或0.0f,boolean:false,char:'u0000'

      3,垃圾回收机制。当实体没有被指向时,会自动回收。

    折半查询的方法找到被插入数的角标

     1 import java.util.*;
     2 public class Demo
     3 {
     4     public static void main(String[] args)
     5     {
     6         int[] arr=new int[]{1,4,7,9,12,15,42,67,78,80,89};
     7         System.out.println(HalfSearch(arr,100));
     8         int index=Arrays.binarySearch(arr,100);//如果存在,返回具体的角标位置,不存在返回的是 -插入点-1
     9         System.out.println(index);
    10     }
    11     //折半查插入的角标
    12     public static int HalfSearch(int[] arr,int key)
    13     {
    14         int max,min,mid;
    15         min=0;
    16         max=arr.length-1;
    17         while(min<=max)
    18         {
    19             mid=(min+max)/2;
    20             if(arr[mid]<key)
    21                 min=mid+1;
    22             else if(arr[mid]>key)
    23                 max=mid-1;
    24             else
    25                 return mid;
    26         }
    27         return -min-1;
    28         
    29     }
    30 }

    int转成Hex

     1 public static String intToHex(int num)
     2     {
     3         char[] chs={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
     4         String hex="0x";
     5         char[] arrHex=new char[8];
     6         int i=0;
     7         while(num>0)
     8         {            
     9             int n=num&15;    
    10             arrHex[i]=chs[n];
    11              
    12             num=num>>>4;
    13             i++;
    14         }
    15           for(int j=i-1;j>=0;j--)
    16           {
    17               hex+=arrHex[j];
    18           }
    19         return hex;
    20     }

    十进制转其他进制

     1 //十进制转16进制
     2     public static String toHex(int num)
     3     {
     4         return trans(num,15,4)+"H";
     5     }
     6     //十进制转8进制
     7     public static String toOctal(int num)
     8     {
     9         return trans(num,7,3)+"O";
    10     }
    11     //十进制转2进制
    12     public static String toBinary(int num)
    13     {
    14         return trans(num,1,1)+"B";
    15     }
    16     public static String intToHex(int num)
    17     {
    18         char[] chs={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
    19         String hex="0x";
    20         char[] arrHex=new char[8];
    21         int i=0;
    22         while(num>0)
    23         {            
    24             int n=num&15;    
    25             arrHex[i]=chs[n];
    26              // if(n>=0&&n<=9)
    27              // {
    28                  // //hex+=n;
    29                  // arrHex[i]=(char)n;
    30              // }
    31              // else
    32              // {
    33                 //hex+=(char)(n-10+'A');
    34                 //arrHex[i]=(char)(n-10+'A');
    35                 // switch(n)
    36                 // {
    37                     // case 10:
    38                         // hex+="a";
    39                         // break;
    40                     // case 11:
    41                         // hex+="b";
    42                         // break;
    43                     // case 12:
    44                         // hex+="c";
    45                         // break;
    46                     // case 13:
    47                         // hex+="d";
    48                         // break;
    49                     // case 14:
    50                         // hex+="e";
    51                         // break;
    52                     // case 15:
    53                         // hex+="f";
    54                         // break;
    55                 // }
    56             //}
    57             num=num>>>4;
    58             i++;
    59         }
    60           for(int j=i-1;j>=0;j--)
    61           {
    62               hex+=arrHex[j];
    63           }
    64         return hex;
    65     }
    66     
    67     public static String trans(int num,int base,int offset)
    68     {
    69         char[] chs={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
    70         String hex="";
    71         char[] arrHex=new char[32];
    72         int i=0;
    73         while(num>0)
    74         {            
    75             int n=num&base;    
    76             arrHex[i]=chs[n];        
    77             num=num>>>offset;
    78             i++;
    79         }
    80           for(int j=i-1;j>=0;j--)
    81           {
    82               hex+=arrHex[j];
    83           }
    84         return hex;
    85     }
  • 相关阅读:
    java笔记之连接数据库
    关于数据集合的使用
    ubuntu下安装MySql
    Android笔记之Broadcast广播机制
    InputStream
    Android笔记之Toast
    jqGrid 复选框实现单选
    layer弹出框包含页面
    input不显示边框
    UUID
  • 原文地址:https://www.cnblogs.com/pushudepu/p/5984675.html
Copyright © 2011-2022 走看看