• java基础——第一章概述


    jdk1.0包括两个部分:运行环境(jre)和开发环境(jdk)
    jre(java runtime environment),就是java程序的运行环境,包括五个部分:核心API、集中API、用户界面API、发布技术、java虚拟机(jvm)
    五个部分,
    以及编译java程序的编译器。
    1998年12月,jdk1.2问世,JSP/servlet、EJB规范,并将java分成了J2EE,J2SE,J2ME三个版本,其中:
    J2ME:主要用于控制移动设备和信息家电等有限存储的设备;
     J2SE:是整个java的核心与基础
     J2EE:应用最广泛,提供了企业应用开发相关的完整解决方案;
    至此,java语言在企业应用领域大放异彩,大量基于java语言的开源框架涌现:struts、webwork、hibernate、spring等。
    当java编译器编译java程序时,生成的是与平台无关的字节码,这些字节码不面向任何具体平台,它只面向jvm,JVM是可运行java字节码文件的虚拟机,
    不同平台的JVM不同,所有平台的JVM向编译器提供相同的编程接口。JVM是一个抽象的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域,
    它负责执行指令,还要管理数据、内存和寄存器。JVM有如下细节:指令集,寄存器,类文件格式,栈,垃圾回收堆,存储区。 

    public class hello
    {
    public static void main(String[] args)
    {
    for(int i=0;i<3;i++)
    {
    System.out.println("i="+i);
    if(i==1)
    {
    return;
    }
    System.out.println("continue后的输出语句");
    }
    }
    }
    结果:

           

    
    

     数组:   java语言是面向对象语言,能很好地支持类与类之间的继承关系,这样可能产生一个数组里可以存放多种数据类型的假象;注意,定义数组时不能指定数组的长度,只有对数组进行初始化以后才能使用;

    所谓初始化就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值,不能只分配内存空间而不分配初始值,初始值可以为空null;有两种初始化方式,静态初始化及动态初始化。

    foreach循环:  foreach循环遍历数组和集合元素时,无须获得数组和集合长度,无须根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素;

    格式用法:for(type  variableName:array|collection)type是数组元素和集合元素的类型,variableName是一个形参名,foreach循环将自动将数组元素和集合元素依次赋给该变量。

     
    public class hello
    {
    public static void main(String[] args)
    {
       String[] books={"李四","王二","张三"};
       for(String book:books)
    {
        System.out.println(book);
    }
    }
    多维数组:
    public class hello
    {
    public static void main(String[] args)
    {
      int[][] a;
      a=new int[3][];
      for(int i=0;i<a.length;i++)
      {
        System.out.println(a[i]);
    }
     a[0]=new int[2];
     a[0][1]=6;
    for(int i=0;i<a[0].length;i++)
    {
    System.out.println(a[0][i]);
    }
    }
    }

      

    操作数组的工具类:java提供的Arrays类里包含了一些static修饰方法可以直接操作数组,这个Arrays类里包括了:
    1. int binarySearch(type[] a,type key):使用二分法查询key元素值在a数组出现的索引;(不包括key则返回负数)(该方法要求数组中元素已经按升序排列)
    2. binarySearch(type[] a,int fromIndex,int tolndex,type key);
    3. type[] copyOf(type[] original,int newLength):将original数组复制成一个新数组,其中length是新数组的长度。若length大于orignal数组的长度,则后补充0;false;null;
    4. type[] copyOfRange(type[] original,int from,int to)
    5. boolean equals(type[] a,type[] a2)
    6. void fill(type[] a,type val):把a数组所有元素值都赋值为val;
    7. void fill(type[] a,int fromIndex,int toIndex,type val);
    8. void sort(type);
    9. void sort(type[]a,int fromIndex,int toIndex,type val);
    10. String toString(type[] a):将数组转换成一个字符串。多个数组元素使用逗号和空格隔开;

    返回一个数组:

    public String[] divide(double money)
        {
            long zheng=(long)money;
            //获得小数部分的前两位;
            int xiao=(int)Math.round((money-zheng)*100);
            return new String[]{zheng+"",String.valueOf(xiao)};
        }

     java支持形参可变的方法

    public class parameterChange {
        public static void test(int a,String... name)
        {
            for(String name1:name)
            {
                System.out.print(name1+"  ");
            }
        }
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
              test(33,"yhq","www","aaa","www");
        }
    
    }




    失败并不可怕
  • 相关阅读:
    FloatingActionButton
    OpenWrt for WR720N
    OpenWrt
    shell修改文件名(二)
    shell修改文件名(一)
    POJ 1300 Door Man(欧拉通路)
    USACO zerosum DFS 1A
    hadoop源代码解读namenode高可靠:HA;web方式查看namenode下信息;dfs/data决定datanode存储位置
    Leetcode-subsets
    单链表的各种操作 笔试 面试
  • 原文地址:https://www.cnblogs.com/huiqin126/p/6405186.html
Copyright © 2020-2023  润新知