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");
    }

}




失败并不可怕
原文地址:https://www.cnblogs.com/huiqin126/p/6405186.html