回顾Java基本数据类型/作业管理

基本数据类型

相关知识点
Java的简单数据类型(也称基本数据类型)包括byte、short、int、long、float、doble和char。
简单数据类型按精度级别由低到高的顺序是:byte short char int long float double

简单类型的数据转换规则是”当把级别低的变量的值赋给级别高的变量时系统自动完成数据类型的转换:当把级别高的变量的值赋给级别低的变量时,适用类艰转换运算。要观察一个字符在Unicode表中的顺序位置,需使用n类型转换,如(int)'a'。要得到
一个0~65535的数所代表的Unicode表中相应位置上的字符,需使用char型转换。char型数据和byte、short、int运算的结果是int型数据。

输出相同偏旁的汉字的例子

public class Example_1 {
    public static void main(String[] args) {
        char ch = '研';
        int c = ch; //低到高是自动转换的
        for (int i = 0; i < 5; i++) {
            c = c + 1;
            System.out.println((char) c);    //高转低要强制转换
        }
    }
}

运行结果

C:\Users\Administrator\.IntelliJIdea2019.3\config\jdbc-drivers\Apache Derby\10.14.1.0\derby-10.14.1.0.jar" Experiment_2.Example_1
砕
砖
砗
砘
砙

进程已结束,退出代码 0

相关知识点2

Scanner是JDK1.5新增的一个类,可以使用该类创建对象:
Scanner reader = new Scanner(System.in);

然后reader对象调用下列方法,读取用户在命令行(如MS-DOS窗口)输入的各种简单类型
nextBoolean(),nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble()//
(上述方法执行时都会堵塞)程序等待用户在命令行输入数据后按Enter键确认。

录入学生信息的例子

import java.util.Scanner;

public class Example_2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);   //系统中输入
        System.out.println("请输入学生的姓名:");
        String name = scanner.nextLine();
        System.out.println("请输入学生的学号:");
        long number = scanner.nextLong();
        System.out.println("请输入学生的年龄:");
        int year = scanner.nextInt();
        System.out.println("--------");
        System.out.println("姓名:"+name+" "+"学号:"+number+" "+"年龄:"+year);
    }
}

运行结果
在这里插入图片描述
相关知识点3

对于特别大的数,无法使用long型变量来处理大整数的加法.那么可以使用数组来解决,通过大整数的每个位数的数存放到逐个存放到数组里面,需要注意的是要声明三个数组,并且每个数组的长度都要相同,并且大数字的长度必须小于数组的长度,以便保证数组a和数组b的首元素的值为0,然后对每个数组项进行加法运算

超大整数的加法例子

public class Example_3 {
    public static void main(String[] args) {
        int a[] = {0, 3, 4, 5, 4, 7, 6, 8, 2, 4, 8, 5, 8, 2, 1, 1, 6, 7};
        int b[] = {0, 0, 6, 5, 4, 7, 9, 4, 9, 8, 7, 7, 1, 6, 9, 3, 5, 5};
        int c[] = new int[a.length];
        int k = 0;
        for (int i = 0; i < a.length; i++) {    //该循环的目的是找到第一个不为0的i
            if (a[i] != 0) {
                k = i;
                break;
            }
        }
        for (int i = k; i < a.length; i++) {
            System.out.printf("%d", a[i]);   //从第一个不为0的数开始遍历
        }
        System.out.println("\n" + "加上");
        for (int i = 0; i < b.length; i++) {    //该循环的目的是找到第一个不为0的i
            if (b[i] != 0) {
                k = i;
                break;
            }
        }
        for (int i = k; i < b.length; i++) {
            System.out.printf("%d", b[i]);   //从第一个不为0的数开始遍历
        }
        System.out.println("\n" + "等于");
        for (int i = 0; i < c.length; i++) {
            if (a[i] + b[i] < 10) { //如果两个数相加
                c[i] = a[i] + b[i];
            } else if (a[i] + b[i] >= 10) {
                c[i] = (a[i] + b[i]) % 10;  //除以10取余
                c[i - 1] = c[i - 1] + 1;    //前一个数加一
            }
        }
        for (int i = 0; i < c.length; i++) {    //该循环的目的是找到第一个不为0的i
            if (c[i] != 0) {
                k = i;
                break;
            }
        }
        for (int i = k; i < c.length; i++) {
            System.out.printf("%d", c[i]);   //从第一个不为0的数开始遍历
        }
    }
}

运行结果
在这里插入图片描述

作业管理

作业是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和。例如,对用户编写的源程序,需要经过编译、连接、装入以及执行等步骤得到结果,这其中的每一个步骤称为一个作业步。操作系统中用来控制作业进入、执行和撤销的一组程序称为作业管理程序,操作系统可以进一步为每个作业创建作业步进程,完成用户的工作。

  • 作业控制

可以采用脱机联机两种控制方式控制用户作业的运行。在脱机控制方式中,作业运行的过程是无须人工千预的,因此,用户必须将自己想让计算机干什么的意图用作业控制语言(JCL)编写成作业说明书,连同作业一起提交给计算机系统。在联机控制方式中,操作系统向用户提供了一组联机命令,用户可以通过终端输入命令,将自己想让计算机干什么的意图告诉计算机。以控制作业的运行过程,此过程需要人工干预

作业由程序数据作业说明书三部分组成。作业说明书包括作业基本情况、作业控制、作业资源要求的描述,它体现用户的控制意图。其中,作业基本情况包括用户名、作业名、统程语言和最大处理时间等;作业控制包括作业控制方式、作业步的操作顺序、作业执行出错处理;作业资源要求的描述包括处理时间、优先级、主存空间、外设类型和数量、实用程序要求等

作业的状态及其转换
作业状态分为4种:

提交。作业提交给计算机中心,通过输入设备送入计算机系统的过程称为提交状态。
后备。通过Spooling系统将作业输入到计算机系统的后备存储器(磁盘)中,随时等待作业调度程序调度时的状态。
执行。一旦作业被作业调度程序选中,为其分配了必要的资源,并建立相应的进程后,该作业便进入了执行状态。
完成。当作业正常结束或异常终止时,作业进入完成状态。此时,由作业调度程序对该作业进行善后处理。如撤销作业的作业控制块,收回作业所占的系统资源将作业的执行结果形成输出文件放到输出井中,由Spooling系统控制输出。

作业控制块和作业后备队列

作业控制块(JCB)是记录与该作业有关的各种信息的登记表。JCB是作业存在的唯一标 志,主要包括用户名、作业名和状态标志等信息。作业后备队列由若干个JCB组成。由于在输入井中有较多的后备作业,为了便于作业调度通常将作业控制块排成一个或多个队列,而这些队列称为作业后备队列。

CET4P207

  • bachelor
  • bracket
  • elite
  • app
  • persevere
  • integrity
  • trifle
  • deficit
  • biochemistry
  • exile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值