精华内容
下载资源
问答
  • JAVA程序设计

    千次阅读 2016-12-08 12:19:19
    实验过程 ... 创建java类-Test,以及程序的入口方法-main。 1-2. 判断main函数参数-args,长度是否大于0: 1-2.1. 如果长度大于0,则继续完成后续代码; 1-2.2. 否则不做任何处理。 1-3. 通过fo

    实验过程

    1、通过命令行窗口带参运行Java文件,并打印出启动时传入的参数。

    推荐步骤:

    1-1. 新建项目工程,工程名CORE_C02_031:

    1-1.1. 创建java类-Test,以及程序的入口方法-main。

    1-2. 判断main函数参数-args,长度是否大于0:

    1-2.1. 如果长度大于0,则继续完成后续代码;

    1-2.2. 否则不做任何处理。

    1-3. 通过for循环依次将String数组类型的参数-args的元素打印到控制台。

    1-4. 在系统点击“开始”,在命令行界面输入cmd进入标准dos界面。

    1-5. 在命令行中输入命令来编译源码文件:

    1-5.1. 编译目录:javac + Test.java;

    1-5.2. 注意:源码文件需要带上路径,这里省略路径是因为文件在dos根目录下。

    1-6. 在命令行输入java Test + 参数1 + 参数2 ... 来运行程序。

    1-6.1. 参数1:123

    1-6.2. 参数2:abc

    1-6.3. 参数3:ttt

    2、打印出100~1000所有的 "水仙花数 ", "水仙花数 "指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

    推荐步骤:

    2-1. 新建项目工程,工程名为CORE_C02_009:

    2-1.1. 新建一个java类-DaffodilsNum,并构建入口方法main。

    2-2. 通过条件判断一个数是否为水仙花数,以下为获取各位数的方法:

    2-2.1. 个位数:n%10。

    2-2.2. 十位数:n/10%10。

    2-2.3. 百位数:n/100。

    2-3. 循环遍历100~999所有三位数,判断是否为水仙花数。

    2-4. 如果是水仙花数,则使用system.out.println将结果输出到控制台。

    3、随机生成10个0~99的整数,使用冒泡算法对它们进行升序排序。

    推荐步骤:

    3-1. 新建项目工程,工程名为CORE_C02_023:

    3-1.1. 新建一个java类-ListNum,并构建类和入口方法main。

    3-2.  定义包含10个0~100随机数的数组:

    3-2.1. 通过Random类的nextInt方法获取10个随机数。

    3-2.2. 将随机数存放到int数组中。

    3-3. 通过双重for循环实现数组排序:

    3-3.1. 创建外层for循环,循环范围[0~10);

    3-3.2. 创建内层for循环,循环范围[N~10),N为当前外层循环的次数,每次循环比较外层索引和内层索引对应元素的大小:1)如果外层循环索引位置的元素比内层循环索引位置的元素大,则交换元素值。

    3-4. 交换2个元素的方法:

    3-4.1. 创建临时变量,初始值是内层循环索引对应的元素;

    3-4.2. 将外层循环索引对应的元素赋值给内层循环索引对应的元素;

    3-4.3. 将临时变量值赋值给外层循环索引对应的元素。

    3-5. 循环结束后,使用system.out.printIn将结果输出到控制台。

    4、在控制台输入一串字符串,通过本实验的程序计算出该字符串中“sh”出现的次数。

    推荐步骤:

    4-1. 新建项目工程,工程名:CORE_C03_010:

    4-1.1. 创建一个测试类,类名:AppearTime。

    4-1.2. 在该类中添加程序入口函数-main,并在main方法中完成以下内容。

    4-2. 获取控制台输入串:

    4-2.1. 通过System.in创建一个Scanner对象。

    4-2.2. 利用Scanner对象的nextLine方法获取控制台输入的内容。

    4-3. 定义一个计数器变量:

    4-3.1. 数据类型为整型,初始值为0。

    4-4. 使用for循环遍历输入的字符串:

    4-4.1. 循环边界为【0 ~ 字符串长度-1】。

    4-5. 在for循环中做匹配判断:

    4-5.1. 使用if判断相邻的两个字母组成的字符串是否为“sh”,如果是,则计数器变量加1。1) 通过字符串的substring方法截取子串,参数为【循环变量,循环变量+2】。2) 通过字符串的equals方法进行匹配检查。

    4-6. 向控制台输出计数器变量,用于显示字符串“sh”出现的次数。

    4-7. 调用Scanner对象的close方法,关闭该流。

    展开全文
  • Java程序设计复习总结

    千次阅读 多人点赞 2019-08-05 19:25:48
    Java程序设计期中复习总结 第一章 概述 1. 应用程序的结构:package import class 2. 源文件的扩展名.java,字节文件的扩展名:.class 3. Java语言的工作原理:先编译后解释 4. 一个源文件中最多可以有一个public类...

    Java程序设计期中复习总结

    第一章 概述

    1. 应用程序的结构:package import class
    2. 源文件的扩展名.java,字节文件的扩展名:.class
    3. Java语言的工作原理:先编译后解释
    4. 一个源文件中最多可以有一个public类,并且文件名与public类名相同。
    5. 常用命令javac编译,java运行。
    6. 一个应用程序最少有一个main方法。

    第二章 Java基础

    1. 标识符命名规则,能够区分合法标识符
    标识符命名规则
    1. 标识符由26个英文字符大小写(a~zA~Z)、数字(0~9)、下划线(_)和美元符号($)组成。
    2. 不能以数字开头,不能是关键字。
    3. 严格区分大小写。
    4. 标识符的可以为任意长度。
    
    2. 所有关键字都是小写
    3. 基本数据类型的名称、长度和默认值,注意float类型的定义方法:float f=3.14F;float f=3.14f;没有大写或者小写f是错误的。
    4. while和do-while的区别
    • do-while语句

      后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。

    • while语句

      前测试循环语句,即在循环体内的代码被执行之前,就会对出口条件求值。

    5. 数组使用length属性获得长度
    int[] arr={"11","22",33"};
    arr.length;//3
    
    6. int [] a,b,c是定义了3个数组,int a[],b,c是定义了一个数组a,两个变量b,c
    7. 掌握基本数据类型的名称、长度、默认值和数据类型对应的封装类

    8. 字符串转基本类型的方法
    • 字符串转换为基本类型

      1. Integer包装类的parseXxx静态方法
      2. Integer包装类的valueOf()方法[自动拆箱]

      String str = “123”;

      int a = Integer.parseInt(str);

      int b = Integer.valueOf(str);

    • 基本类型转换为字符串

      1. Integer包装类的toString()方法
      2. String类的valueOf()方法
      3. n + “”

      int n = 6;

      String str = Integer.toString(n);

      String str = String.valueOf(n);

      String str = n + “”;


    第三章 类和对象

    1. 什么是方法的重载
    • 名字相同,参数列表不同的两个(或多个)方法

      1. 参数类型不同
      2. 参数个数不同
    • 重载方法的依据方法参数列表的不同,是编译器用来区分调用哪一个

    2. 构造方法是用来进行成员变量初始化的
    3. 构造方法的名字和类名相同
    4. 构造方法可以有也可以没有,没有系统会自动添加一个无参的方法,也可以有多个构造方法,构造方法可重载
    5. static关键字可以修饰变量和方法,可以使用类名直接调用,也可以使用对象调用
    6. public、private、默认、peorected修饰符可以修饰什么?作用范围分别是什么
    • public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
    • private:私有.就是除了class自己之外,任何人都不可以直接使用,即便是子女,朋友,都不可以使用。
    • protected:对于子女、朋友来说,是public可以自由使用,没有限制,而对于其他的外部class,protected就变成private。
    • 默认(无修饰词),同一个包内可以访问,包级访问权限;

    权限修饰符用来修饰类、接口、方法、变量。

    • 修饰类:public、默认(default)。
    • 修饰接口:public、默认(default)。
    • 修饰方法:private、默认、protected、public
    • 修饰变量:private、默认、protected、public

    在这里插入图片描述

    7. 类、方法和变量等可以使用多个修饰符修饰
    8. 所有类的直接或者间接父类是Object类

    第四章 继承

    1. 类之间使用extends关键字继承
    2. 子类继承父类成员后,在子类中定义与父类相同的成员叫重写(覆盖)
    3. final修饰类、变量和方法,不能被继承和改写
    4. Java所有的类都是java.lang.Object类的子类

    第五章 抽象类、接口

    1. 定义接口使用interface,实现接口implements
    2. abstract修饰的类为抽象类,方法为抽象方法,抽象方法没有方法体
    3. 抽象类可以没有抽象方法,有抽象方法的类必定是抽象类
    4. 使用interface关键字定义接口,类使用implements实现(继承)接口
    5. 接口中只有常量和抽象方法,并且都是public abstract的抽象方法,都是public static final的常量
    6. 接口可以实现多重继承,定义类的模板
    7. 多态有两种体现重载和重写(覆盖),重载称为编译时多态,重写为运行时多态

    第六章 字符串

    1. 字符串分为静态字符串(String)和动态字符串(StringBuffer)
    2. 使用length()方法获得字符串的长度
    String str="asdfghjkl";
    str.length();//9
    
    3. 其他常用方法chatAt()、equals()
    • chatAt()

      • 返回位于字符串的指定索引处的字符
    • equals()

      1. 所有的对象都拥有标识(内存地址)和状态(数据),“==”比较两个对象的的内存地址,使用Object的equals()方法是比较两个对象的内存地址是否相等,即若object1.equals(object2)为true,则表示equals1和equals2实际上是引用同一个对象。
      2. String、Math等封装类都对equals()方法进行了重写。比较的是两个对象的状态

    第七章 异常处理

    1. 什么是异常
    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。
    在程序执行期间发生的事件,它中断正在执行的程序的正常指令流。
    
    2. 为什么要进行异常处理

    为了能够及时有效地处理程序中的运行错误,必须使用异常类。

    • 用户输入了非法数据。
    • 要打开的文件不存在。
    • 网络通信时连接中断,或者JVM内存溢出。
    3. 所有异常的父类是Throwable类,它有两个直接子类为Error和Exception
    • Error:程序无法处理的错误,表示运行应用程序中较严重问题。恢复不是不可能但很困难的情况下的一种严重问题。

      例如,内存溢出,Java虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。

    • Exception:是程序本身可以处理的异常。
      exception 设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况

    4. 异常分为运行时异常和非运行时异常

    unchecked exception 非检查异常

    • 运行时异常(RuntimeException)
    • Error

    对于运行时异常,java编译器不要求必须进行异常捕获处理或者抛出声明,由程序员自行决定。

    checked exception 非运行时异常(运行时异常以外的异常就是非运行时异常)

    • java编译器强制程序员必须进行捕获处理,比如IOExeption和SQLException。
    • 对于非运行时异常如果不进行捕获或者抛出声明处理,编译都不会通过。
    5. 异常的处理过程是先抛弃后捕获
    6. 处理方法有三种:
    • 运行时异常可回避
    • throws可回避交给上级调用模块处理
    • try-catch-finally自行处理
    7. 进行异常捕获时,先发生的放在前面,后发生的放后面;子类异常放前面,父类放后面
    8. 使用throw制造异常

    throw 抛出的只能够是可抛出类Throwable 或者其子类的实例对象


    第八章 输入输出

    1. 输入输出需要引入java.io包
    2. 文件和目录使用File类
    3. InputStream和OutputStream是字节输入输出流父接口,Reader和Writer是字符输入输出流父接口
    4. 完成文件内容拷贝练习题

    第九章 JDBC

    1. 需要引入的包是java.sql

    第十章 事件处理

    1. 事件处理模型是授权处理模型
    2. 常用的五种布局管理器是哪些?
    • FlowLayout 流式布局
    • BorderLayout 边框式布局
    • GridLayout 网格布局
    • CardLayout 卡片布局
    • BoxLayout 盒式布局
    3.JFrame的默认布局管理器是BorderLayout
    4. JPanel是FlowLayout,FlowLayout的控件大小不随容器大小变化而改变

    第十章 多线程

    1 .线程的状态:初始状态、就绪状态、运行状态、阻塞状态、终止状态;新建的线程不能立即运行
    2. 启动线程需要调用start()方法,不需要调用run()方法
    3. 在定义Thread类时,run()方法必须要重写
    4. 线程提供了wait、notify和notifyAll方法实现线程的同步
    • start():启动线程

    • wait():将当前线程置入休眠状态

    • notify():唤醒在此对象监视器上等待的单个线程。

    • notifyAll():唤醒在此对象监视器上等待的所有线程。

    • setPriority():更改线程的优先级。

    • join():使其他线程等待当前线程终止

    • interrupt():中断线程

    • isAlive():测试线程是否处于活动状态。
      static:

    • sleep():线程休眠

    • yield():暂停当前正在执行的线程对象,并执行其他线程。

    • currentThread():返回对当前正在执行的线程对象的引用。

    5. 线程的优先级从1到10,程序员可以在编程时定义
    6. 创建线程的方法继承Thread类和实现Runnable方法

    第十一章 网络编程

    1. TCP编程使用ServerSocket和Socket,采用流式进行通讯,Socket代表客户端,ServerSocket代表服务器端
    2. 与网络通讯相关的类都封装在java.net包下

    编程题

    1、评委打分

    package dafen;
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class a1 {
    	
    	public static void main(String[] args) {
    		//评委打分
    		Scanner scanner = new Scanner(System.in);
    		int N=scanner.nextInt();
    		int[] arr = new int[N];
    		for (int i = 0; i < arr.length; i++) {
    			arr[i] = scanner.nextInt();
    		}
    		Arrays.sort(arr);
    		int score=0;
    		for (int i = 1; i < arr.length-1; i++) {
    			score += arr[i];
    		}
    		System.out.println("最终得分:"+score/(arr.length-2));	
    	}
    	
    	
    }
    
    

    2、工厂零件

    //Area.java
    package area;
    
    import java.util.Scanner;
    
    import area.JieKou.Jiekou;
    
    
    public class Area {
    
    	public static void main(String[] arg)
    	{
    		//工厂零件求面积
    		Scanner scanner = new Scanner(System.in);
    		double r;
    		r=scanner.nextDouble();
    		Jiekou jk = new Yuan(r);
    		System.out.println(jk.getArea()+" "+jk.getZhouchang());
    		h=scanner.nextDouble();
    		Jiekou jk = new YuanZhu(r,h);
    		System.out.println(jk.getArea()+" ");
    	}
    }
    
    //JieKou.java
    package area;
    
    public class JieKou {
    
    	public interface Jiekou
    	{
    		double getArea();
    		double getZhouchang();
    	}
    }
    
    //Yuan.java
    package area;
    
    import area.JieKou.Jiekou;
    
    public class Yuan implements Jiekou{
    
    	private final double PI = 3.14;
    	private double r;
    	
    	public Yuan() {}
    	
    	public Yuan(double r)
    	{
    		this.r = r;
    	}
    	
    	public double getArea()
    	{
    		return PI*r*r;
    	}
    
    	public double getZhouchang()
    	{
    		return 2*PI*r;
    	}
    }
    //YuanZhu.java
    package area;
    
    public class YuanZhu extends Yuan{
    
    	private double h;
    	
    	public YuanZhu(double r,double h)
    	{
    		super(r);
    		this.h=h;
    	}
    	public double getArea() {
    		return (super.getArea()*h);
    	}
    	
    }
    
    
    

    3、文件copy操作

    package file;
    
    import java.io.*;
    public class filecopy {
    
    	public static void main(String[] avg) throws Exception
    	{
    		try {
    			//复制
    			song();
    			//字符读写 切割处理
    			rwFileSplitEnglish();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    
    	private static void rwFileSplitEnglish() throws Exception {
    		String str = "";
    		//FileReader reader = new FileReader("fileIn\\txt1");
    		BufferedReader reader = new BufferedReader(new FileReader("fileIn\\txt1"));
    		
    		int len;
    		while((len = reader.read())!=-1)
    			str +=(char)len;
    		reader.close();
    		
    		System.out.println(str);
    		
    		String re  = " ";
    		String s[] = str.split(re);
    		
    		for (int i = 0; i < s.length; i++) {
    			System.out.print(s[i]);
    		}
    		System.out.println(str.length());
    	}
    	
    	private static void song() throws Exception {
    		InputStream in = new FileInputStream("fileIn\\你一生的故事.mp3");
    		
    		OutputStream out =  new FileOutputStream("fileOut\\你一生的故事2.mp3");
    		int len;
    		long begintime = System.currentTimeMillis();
    		while((len=in.read())!=-1)
    		{
    			out.write(len);
    		}
    		long endtime = System.currentTimeMillis();
    		System.out.println(endtime-begintime);
    		in.close();
    		out.close();
    	}
    }
    
    

    4、JDBC

    Dao模式

    展开全文
  • Java程序设计》 实验报告 20 19~20 20学年第 1学期 学 院 信息学院 班 级 计算机科学技术18(3) 姓 名 申屠志刚 学 号 ...

    浙江理工大学

    Java程序设计》

     实验报告

     20 19~20 20学年第 1学期     

     

    信息学院

     

    计算机科学技术183

     

    申屠志刚

     

    2018329621200

    任课教师

    任祝

    ( 第4周 周二 345节)

       计算机科学技术专业

    20 19 年 9 月

    《Java程序设计》实 验 报 告(一)

    实验名称:Java的基本程序设计结构

    实验地点:10-306

    所使用的工具软件及环境:

    JDK1.7或1.8与Eclipse

     

     

    一、实验目的:

    熟悉Java开发环境,建立Java工程,练习编程,会使用变量,字符串,数组,输入与输出等API。

     

    二、实验内容:

    1. 利用eclipse建立Java工程
    2. 必做题

    (1)编程实现浙大ACM题库中1001(Calculate a + b),目的是学会JAVA开发环境搭建

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1001

    1001:calculate a+b

     

    1. 选做题,从下列题目中选择2题

    (1)编程实现浙大ACM题库中1048(Financial Management),具体见“实验1-题目3(1).pdf”

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1048

    (2)编程实现浙大ACM题库中1292(Integer Inquiry),具体见“实验1-题目3(2).pdf”

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1292

    (3)编程实现浙大ACM题库中1338(Up and Down Sequences),具体见“实验1-题目3(3).pdf”

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1338

     

    三、要求:

    (1)说明原理

    ZOJ 1001

    简单JAVA程序设计

    ZOJ 1048

    简单JAVA程序计算应用

    ZOJ 1292

    JAVA Biginteger类应用

    ZOJ 1338

    复杂模拟编程

    (2)源代码

    ZOJ 1001

    import java.io.*;

    import java.math.*;

    import java.util.*;

    import java.text.*;

     

    class Main{

    public static void main(String[] args) {

        Scanner cin = new Scanner (System.in);

            int a, b;

            while(cin.hasNext()){

                a = cin.nextInt();

                b = cin.nextInt();

                System.out.println(a+b);

            }

    }

    }

    ZOJ 1048

    import java.io.*;

    import java.math.*;

    import java.util.*;

    import java.text.*;

     

    class Main{

    public static void main(String[] args) {

        Scanner cin = new Scanner (System.in);

            float sum=0;

        for(int i=0;i<12;i++) {

            sum+=cin.nextFloat();

        }

            System.out.printf("$%.2f",(sum/12));

            System.out.println();

           

    }

    }

    ZOJ 1292

    import java.io.*;

    import java.math.*;

    import java.util.*;

    import java.text.*;

     

    class Main{

    public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);

        int N=sc.nextInt();//块的个数

        int i=0;

        while(i<N){//输入每一块

            BigInteger sum;

            sum=BigInteger.valueOf(0);

            while(sc.hasNextBigInteger()){

                //s=sc.nextLine();//获得下一行

                BigInteger b=sc.nextBigInteger();

                if(b.equals(BigInteger.ZERO)){

                    System.out.println(sum);

                    if(i!=N-1)System.out.println();

                    break;

                }

                sum=sum.add(b);

            }

            i++;

        }

    }

    }

    ZOJ 1338

    import java.io.*;

    import java.util.*;

     

    class Main{

    public static void main(String[] args) {

        Scanner cin = new Scanner (System.in);

        int a[]=new int[102];

        int x,i,j,u,d,t,fu,fd,nu,nd;

        while(cin.hasNextInt()){

        x=cin.nextInt();

        if(x==0)break;

            a[0]=x;

            j=1;

            while(cin.hasNextInt()) {

            x=cin.nextInt();

            if(x==0)break;

            a[j++]=x;

            }

            u=d=nu=nd=t=0;

            fu=fd=0;

            for(i=0;i<j-1;i++){

                if(a[i]==a[i+1]){

                    if(fu==0&&fd==0)

                    t++;

                    if(fu!=0)

                    u++;

                    if(fd!=0)

                    d++;

                }

                if(a[i]<a[i+1]){

                    fd=0;

                    if(fu==0){

                        fu=1;

                        nu++;

                    }

                    u++;

                    u+=t;

                    t=0;

                }

                if(a[i]>a[i+1]) {

                    fu=0;

                    if(fd==0){

                        fd=1;

                        nd++;

                    }

                    d++;

                    d+=t;

                    t=0;

                }

            }

            double m,n;

            if(nu==0)

            n=0.0;

            else

            n=(double)u/nu;

            if(nd==0)

            m=0.0;

            else

            m=(double)d/nd;

            System.out.printf("Nr values = %d:  %.6f %.6f\n",j,n,m);

        }

    }

    }

    (3)结果截图

    ZOJ 1001

    ZOJ 1048

    ZOJ 1292

     

    ZOJ 1338

    四、实验收获与体会:

    搭建与熟悉Java开发环境,学会建立Java工程,练习简单编程。

    学会使用各种变量类型,字符串,数组,标准输入与输出等API。

    学会JAVA Biginteger类简单操作与应用。

        利用JAVA语言解决较复杂的程序问题。

     

     

     

    展开全文
  • 1 java程序设计概述

    千次阅读 2015-10-02 20:58:54
    第一章 java程序设计概述 ● java程序设计平台 ● java“白皮书”的关键术语 ● java applet与Internet ● java发展简史 ● 关于java的常见误解  1996年java第一次发布就引起了人们的极大兴趣。关注java的...

    《java 核心技术卷 Ι 基础知识(第九版)》学习笔记


    第一章  java程序设计概述

    ●  java程序设计平台

    ●  java“白皮书”的关键术语

    ●  java  applet与Internet

    ●  java发展简史

    ●  关于java的常见误解

        1996年java第一次发布就引起了人们的极大兴趣。关注java的人士不仅限于计算机出版界,还有诸如《纽约时报》、《华盛顿邮报》、《商业周刊》这样的主流媒体。java是第一种也是唯一一种在National Public Radio上占用了10分钟时间来介绍的程序设计语言,并且得到了$100000000的风险投资基金。这些基金全部用来支持用这种特别的计算机语言开发的产品。重温那些令人兴奋的日子是很有意思的。

    1  java程序设计平台

        此书第一版是这样描写java的:“作为一种计算机语言,java的广告词确实有点夸大其词。然而,java的确是一种优秀的程序设计语言。作为一个名副其实的程序设计人员,使用java无疑是一个好的选择。有人认为:java将有望成为一种最优秀的程序设计语言,但还需要一个相当长的发展时期。一旦一种语言应用于某个领域,与现存代码的相容性问题就摆在了人们的面前”。

         。。。。。。

        java并不只是一种语言。在此之前出现的多种语言也没有能够引起那么大的轰动。java是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。

        作为一名程序设计人员,常常希望能有一种语言,它具有令人赏心悦目的语法和易于理解的语义。与许多其他的优秀语言一样,java恰恰满足了这些需求。有些语言提供了可移植性、垃圾收集等,但是,没有提供一个大型的库。如果想要有奇特的绘图功能、网络连接功能和数据库存取功能就必须自己动手编写代码。java这种功能齐全的出色语言,具有高质量的执行环境以及庞大的库。证书因为它集多种优势于一身,所以对广大的程序设计人员有不可抗拒的吸引力。


    2  java“白皮书”的关键术语

        java的11个关键术语:简单性、面向对象、网络技能、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程和动态性。

    2.1  简单性

        人们希望构建一个无须深奥训练就可以进行编程的系统,并且需要符合当今的标准惯例。因此尽管人们发现C++不太适用,但在设计java的时候还是尽可能接近C++,以便系统更易于理解。java剔除了C++中的头文件、指针运算、结构、联合、操作符重载、虚基类等很少使用、难以理解、易混淆的特性。不用过度关注内存分配和垃圾回收,java提供了垃圾回收机制;C++中可以多几次,java只是单继承(对于类来说,接口可以多继承。)

        简单的另一方面是小。java目标之一是支持开发能在小型机器上独立运行的软件。现在有一个独立的具有较小类库的java微型版用于嵌入式设备。

    2.2  面向对象

        面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。如:一个“面向对象”的木匠始终关注的是所制作的椅子,第二位才是所使用的工具;一个“非面向对象的”木匠首先考虑的是所用的工具。java的面向对象特性与C++旗鼓相当。java与C++主要不同在于多继承,在java中,取而代之的是简单的接口概念,以及java的元类模型。

    2.3  网络技能

        java有一个扩展的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就像访问本地文件一样。Java的网络能力强大而且易于使用,另外,远程方法调用机制使得分布式对象之间可以进行通信。

    2.4  健壮性

        Java编译器能够检测许多在其他语言中仅在运行时刻才能检测出来的问题。Java在编译和运行时程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾回收机制来管理内存,防止程序员在管理内存时容易的错误。

    2.5  安全性

        Java主要用于网络应用程序的开发,因此对安全性要求有较高要求。

    2.6 

    2.7  可移植性

        源代码可移植,任意一个JAVA程序,不论它运行在何种CPU、操作系统或JAVA编译器上,都将产生同样的结果。

        CPU可移植,JAVA编译器产生的目标代码(J-Code)是针对一种并不存在的CPU–JAVA虚拟机(JAVAVirtualMachine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。

    2.8  解释性

        Java解释器可以在任何移植了解释器的机器上执行Java字节码。

    展开全文
  • 南邮JAVA程序设计实验3 流处理程序设计
  • Java程序设计基础笔记 • 【目录】

    千次阅读 2020-05-08 14:26:09
    持续更新中… 我的大学笔记>>> 章节 内容 实践练习 Java程序设计基础作业目录(作业笔记) ... Java程序设计基础笔记 • 【第1章 初识Java】 ... Java程序设计基础笔记 • 【第2... Java程序设计...
  • 200道Java程序设计练习题 PDF

    千次下载 热门讨论 2012-11-06 10:45:05
    Java程序设计练习题 PDF版,一共有200道,涵盖的内容当然也比较多,面向初学者,也面向高级用户,后面还附有习题答案,如果你正想参加一场Java面试,那么你正好可参考一下这些练习题。
  • 南邮JAVA程序设计实验1 综合图形界面程序设计
  • Java程序设计 试卷A

    千次阅读 2016-12-31 13:04:29
    2016 – 2017 学年第一学期 期末考试试卷 课程名称:Java程序设计 试卷类型:A卷 共10页 考试形式:闭卷 一、单选题(每题1分,共1×15=15分) 1、Java 程序执行起点的main方法,其形参为( ) A. String args...
  • Java程序设计入门 ​ copyright © 2020 by 宇智波Akali 目录 文章目录第1章 Java基础语法1、数据类型​​1.1 八种基本数据类型1....
  • 南邮JAVA程序设计实验2 小应用程序Applet设计
  • Java程序设计语言(第4版)高清pdf

    千次下载 热门讨论 2012-04-06 17:40:12
    Java程序设计语言(第4版)(包括Java之父在内的三位顶级专家撰写)
  • 2019年Java程序设计讲课笔记目录

    千次阅读 多人点赞 2019-05-09 08:14:19
    2019年Java程序设计讲课笔记目录 1、Java讲课笔记01:Java快速入门 2、Java讲课笔记02:初识集成开发环境Intellij IDEA 3、Java讲课笔记03:Java语法基础 4、Java讲课笔记04:流程控制结构 5、Java讲课笔记05:...
  • Java程序设计学习知识点总结

    千次阅读 2017-11-27 16:05:24
    Java程序设计学习知识点总结Java语言简单,面向对象,分布式,解释性,健壮,安全与系统无关,可移植,高性能,多线程,动态语言。什么是框架可以认为是某种应用的半成品,就是一组组件,提供给用户,完善自己的应用...
  • 南邮JAVA程序设计实验4 线程程序设计(指针式时钟)
  • 2013年第四届蓝桥杯Java程序设计本科B组决赛 2014年第五届蓝桥杯Java程序设计本科B组决赛 2015年第六届蓝桥杯Java程序设计本科B组决赛 2016年第七届蓝桥杯Java程序设计本科B组决赛 2017年第八届蓝桥杯Java程序...
  • Java程序设计基础------Java基础

    千次阅读 多人点赞 2019-03-04 23:08:48
    这学期学校开了一门Java程序设计基础,我想利用博客这个平台来记录我的学习过程。在这一系列的博客中,我只记录学习中的问题,以此来学习Java! Java语言定义了几种基本数据类型? Java语言中定义了 4类8种基本...
  • Java程序设计大作业之 FlappyBird

    千次阅读 2019-03-30 00:08:22
    大二上半学期选修了Java程序设计,老师要求最终要做一个成品出来,于是和钟天声组成一个小组,提交了一个纯 模仿FlappyBird的Java程序,最后算上考试得了85分,算是这门课比较高的分数吧。 开发文档 ...
  • Java程序设计》 实验报告 20 19~20 20学年第 1学期 学 院 信息学院 班 级 计算机科学与技术18(3) 姓 名 申屠志刚 学 号 ...
  • Java程序设计之简单计算器

    千次阅读 2019-03-06 19:26:44
    问题描述:请使用Java编程语言设计...Java程序源码: import java.awt.*; import java.awt.event.*; import javax.swing.*; class simplecalculator { static String point=new String(); static String Amal=...
  • java程序设计基础

    千次阅读 2018-07-03 19:28:15
    创建源程序文件其实不管是什么语言的程序文件,如C语言(.c)、C++语言(.cpp)或者是Java(.java),其本质上都是文本文件,也就是说可以使用任何文本编译器(如记事本)进行编辑。之所以提供各种开发工具,只是为了更方便...
  • Java程序设计的基本结构

    千次阅读 多人点赞 2019-12-21 23:02:38
    结构化程序设计有三种基本结构:顺序结构、选择结构和循环结构。结构化程序设计本身是一种编程的方式和思想,与语言并没有直接关系。但是不同的编程语言对于三种基本结构的表达方式是不同的,比如使用的关键字、语法...
  • java 程序设计题库

    千次阅读 2019-06-18 09:25:00
    答题要求:单选题,每题只有一个正确答案,选择正确给分,不正确不给分。...2、以下的选项中能正确表示Java语言中的一个整型常量的是( B ) A、12. B、-20 C、1,000 D、4 5 6 3、下列的变量定义...
  • Java程序设计的感想

    千次阅读 2013-07-05 12:03:23
    Java程序设计的感想 Java学习已经近4个多月了,虽然很累,但是觉得学习JAVA非常充实,在学习JAVA过程中,对学习JAVA有了一些深刻的体会。   我本人觉得JAVA就是一门语言,是人类发明的语言,就像我们学习...
  • 教材为:Java程序设计精编教程(第3版) 第12章——Java多线程机制 课后习题11: 张某、李某和赵某买电影票,售票员只有三张5元的钱,电影票5元钱一张。张某拿20元一张的人民币排在李某的前面买票,李某排在赵某的...
  • Java程序设计经典300例

    千次阅读 2013-12-04 17:16:02
    Java程序设计经典300例》共分为3篇。  第1篇 基础篇(第1~5章)本篇主要内容包括:Java语言基础、流程控制、数组、字符串和面向对象编程。通过本篇的学习,读者可以掌握Java开发环境的配置和Eclipse开发工具的...
  • 背单词java程序设计

    千次阅读 热门讨论 2018-07-12 23:00:35
    山东科技大学济南校区程序设计 功能要求:可以读入一个单词表文本文件, 能够将背错的单词重复记忆,直到全记住。 package java课程设计; import java.io.*; import java.util.*; public class word14T { ...
  • 购物流程的java程序设计

    千次阅读 2014-03-29 19:31:51
    购物流程的java程序设计 完成一个购买商品的功能 菜单如下(【】方括号中是程序提示信息): 【1.程序开始运行,出现如下的菜单】  “我行我素”购物管理系统 * * * * * * * * * * * * * * * * * * * * * * * * * *...
  • 本章目录 1.1 程序的概念及Java语言介绍 1.1.1 生活中的程序 1.1.2 计算机程序 1.1.3 算法和流程图 1.1.4实践练习 1.2 配置JDK环境 1.2.1 Java的发展 ...1.3 Java程序编写基础 1.3.1 Java程...
  • java程序设计方法

    千次阅读 2018-05-01 16:18:28
    (按照一定的流程去实现或者达到某种需求)程序设计:规划步骤并描述编制者的要求:①懂业务②掌握一种描述语言计算机程序与我们一般意义上的程序是一样的,不同的是怎样描述语言和执行者不同。程序员的要求:①懂...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,818
精华内容 35,527
关键字:

java程序设计

java 订阅