栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数字媒体技术大一下期末复习笔记

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数字媒体技术大一下期末复习笔记

提示:马上就要期末了,真的无语啦~~~~~~~

笔记目录
  • 前言
  • 一、Java随记
    • Part Ⅰ| 待分类
      • 0. 考试范围
      • 1.判断字符类型的方法
        • 1) Java自带语法 Character.getType();
        • 2) ASCII码 & 在Java中如何获取输入字符的ASCII码 (int)s.charAt(0);
      • 2.在无参构造方法中调用有参构造方法 this(2,1);
      • 3. 接口
        • 3.1 如何定义 & 被实现?
        • 3.2 多继承
      • 4. 抽象类
        • 4.1 如何理解抽象类?
        • 4.2 抽象类的定义
      • 5.异常
        • 5.1 捕获异常
        • 5.2 throw/throws 关键字
        • 5.3 声明自定义异常
      • 6.Java对象类型转换
        • 转换规则
      • 7.线程
        • 7.1 线程的生命周期
        • 7.2 创建一个线程的三种方法
    • PART Ⅱ | 错题集
      • 1. 判断题
      • 2. 选择题
      • 3. 函数题
      • 4. 编程题
  • 二、C语言随记
    • PART Ⅰ | 待分类
      • 1.求字符串长度 strlen();
      • 2.double类型的输入格式 : %lf
      • 3.结构体 struct
      • 3.1 定义一个标准的结构体的方法如下:
        • 3.2 如何初始化
        • 3.3 如何使用指针?void printBook(struct Book *book)
      • 4. C语言中的真假
    • PART Ⅱ | 错题集
      • 1. 判断题
      • 2. 选择题
      • 3. 函数题
      • 4. 编程题


前言

这里是提示&分隔符


一、Java随记 Part Ⅰ| 待分类 0. 考试范围
题型数量分值总分方式范围
判断10110从题库抽
选择10220从题库抽
函数31648题库抽1个,新加2个类定义、接口、线程
编程21122题库抽1个,新加2个类定义、综合:抽象类、集合
1.判断字符类型的方法 1) Java自带语法 Character.getType();
	for(String t : s1)
	{
		//System.out.print(Character.getType(t.charAt(0)) + " ");
		// 小写字母 2;数字 9;大写字母 1;其他字符 24 27 21;空格 12;
		switch(Character.getType(t.charAt(0))) {
		case 1:
		case 2:
			n_letters++;
			break;
		case 9:
			n_digits++;
			break;
		case 12:
			n_blanks++;
			break;
		default:
			n_other++;
		}
	}
2) ASCII码 & 在Java中如何获取输入字符的ASCII码 (int)s.charAt(0);
	Scanner in = new Scanner(System.in);
	String a = in.next();
	System.out.println((int)a.charAt(0));
2.在无参构造方法中调用有参构造方法 this(2,1);
	Cylinder(int r, int h){
		System.out.println("Constructor with para");
	}
	Cylinder(){
		this(2,1);
		System.out.println("Constructor no para");
	}

运行结果如下:

Constructor with para
Constructor no para
3. 接口 3.1 如何定义 & 被实现?

接口定义如下:
(接口内部的方法只用写个方法头)

interface Animal {
   public void eat();
   public void travel();
}

接口中的每个方法都需要被实现:

public class MammalInt implements Animal{
   public void eat(){
      System.out.println("Mammal eats");
   }
   public void travel(){
      System.out.println("Mammal travels");
   } 
   public static void main(String args[]){
      MammalInt m = new MammalInt();
      m.eat();
      m.travel();
   }
}
3.2 多继承
public interface Hockey extends Sports, Event
4. 抽象类 4.1 如何理解抽象类?

抽象类通常用于一些无法被实例化的东西,即这个类没有包含足够的信息来描绘一个具体的对象,比如:Shape类。

4.2 抽象类的定义

抽象类的定义里面可以填写具体的方法,不用只写一个语句来说“我要哪些方法”。

public abstract class Test{
	public void print(){
	}
}

注意:
1. 如果一个类包含抽象方法,那么该类必须是抽象类。
2. 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。

5.异常 5.1 捕获异常

一个基本的捕获异常程序如下:

try{
  // 程序代码
}catch(异常类型1 异常的变量名1){
  // 程序代码
}catch(异常类型2 异常的变量名2){
  // 程序代码
}finally{
  // 程序代码
}

其中,finally关键字表示无论是否发生异常,finally代码块中的代码终会被执行。

5.2 throw/throws 关键字

一般在抓到异常之后,无法处理的情况下,再次将异常抛出。
用法如下:

import java.io.*;
public class className
{
   public void withdraw(double amount) throws RemoteException,InsufficientFundsException
   {
       	// Method implementation
	    throw new RemoteException();
   }
   //Remainder of class definition
}

区别如下:

  1. 作用不同:
    throws用于声明该方法内抛出了异常
    throw用于程序员自行产生并抛出异常
  2. 使用的位置不同:
    throw位于方法体内部,可以作为单独语句使用
    throws必须跟在方法参数列表的后面,不能单独使用
  3. 内容不同:
    throw抛出一个异常对象,且只能是一个
    throws后面跟异常类,而且可以有多个

如果在某个方法内要使用throw抛出异常,就必须在方法名后加throws或者使用 try-catch包裹住这个异常。
在使用会抛出异常的方法时,必须使用try-catch语句块处理方法要throws的所有异常

5.3 声明自定义异常
class MyException extends Exception{
}

Tips:
1. 所有异常都必须是 Throwable 的子类。(Exception 继承自 Throwable)
2. 如果希望写一个检查性异常类,则需要继承 Exception 类。
3. 当覆盖一个函数的时候,子类不能声明抛出比父类的版本更多的异常
4. 在子类的构造函数中,必须声明父类可能抛出的全部异常

6.Java对象类型转换 转换规则
  1. 父类可以向子类转型

  2. 如果两种类型之间没有继承关系,那么将不允许进行类型转换。

    Dog dog = new Dog();
    Cat cat = (Cat)dog;    // 编译出错,不允许把Dog对象类型转换为Cat对象类型
    
7.线程 7.1 线程的生命周期

7.2 创建一个线程的三种方法
  • 通过实现 Runnable 接口;
  • 通过继承 Thread 类本身;
  • *(通过 Callable 和 Future 创建线程)。

实现 Runnable:

import java.util.Scanner;

class PrintTask implements Runnable{
	private int n;
	public PrintTask(int parseInt) {
		// TODO Auto-generated constructor stub
		this.n = parseInt;
	}
	@Override
	public void run() {
		// TODO Auto-generated method stub
		for(int i = n - 1; i >= 0; i--)
		{
			System.out.println(i);
		}
		System.out.println(Thread.currentThread().getName());
	}
	
}
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PrintTask task = new PrintTask(Integer.parseInt(sc.next()));
        Thread t1 = new Thread(task);
        t1.start();
        sc.close();
    }
}

实现线程接口都要实现run()方法

继承Thread:

import java.util.Scanner;



class PrintTask extends Thread{
	private int n;
	public PrintTask(int parseInt) {
		// TODO Auto-generated constructor stub
		this.n = parseInt;
	}
	public void run() {
		// TODO Auto-generated method stub
		super.run();
		for(int i = n - 1; i >= 0; i--)
		{
			System.out.println(i);
		}
		System.out.println(Thread.currentThread().getName());
	}
}

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PrintTask task = new PrintTask(Integer.parseInt(sc.next()));
        Thread t1 = new Thread(task);
        t1.start();
        sc.close();
    }
}

继承类必须重写 run() 方法,该方法是新线程的入口点。它也必须调用 start() 方法才能执行。


PART Ⅱ | 错题集 1. 判断题
  1. 语句 System.out.println(4+8+“Hello,world!”); 的输出结果是12Hello,world!。
    答案:√
    解析:由于先计算了 4 + 8, 再结合了字符串,所以这个结果是对的。
  2. 字节码文件是与平台无关的二进制码,执行时由解释器解释成本地机器码。
    答案:√
    解析:暂时联想为Java是一个跨平台高级编程语言。
  3. Java的字符类型采用的是ASCII编码。
    答案:×
    解析:16位Unicode编码
  4. 在Java程序中,可以使用private来修饰一个类。
    答案:√ 解析:内部类
  5. System类不能实例化,即不能创建System类的对象。
    答案:√ 解析:联想System.out.xxx
2. 选择题 3. 函数题 4. 编程题
二、C语言随记 PART Ⅰ | 待分类 1.求字符串长度 strlen();
	char s [100];
	scanf("%s", &s);
	strlen(s);//可求字符串 s 的长度;
2.double类型的输入格式 : %lf
	double test;
	scanf("%lf", &test);
3.结构体 struct

对于结构体,我们可以类比Java当中“类”的概念。结构结构,即是指一个框架、骨架,我们建立好结构体之后,随时可以拿这个骨架来装填肌肉(值)进去,形成一个鲜活的肉体。

3.1 定义一个标准的结构体的方法如下:
struct Books
{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
} book;

注意事项:
1. struct语句大括号后面要加上“;”结束语
3. 在一般情况下,Books、char xxx、book 这 3 部分至少要出现 2 个。

3.2 如何初始化
struct Books
{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
} book = {"Learn More, Study Less", "Scott Young", "Learning", 123456};
3.3 如何使用指针?void printBook(struct Book *book)

为了访问该结构的指针访问该结构的成员,应该使用"->"运算符

即 将Java常用的方式:

book.title

变为了

book->title

实例如下:

void printBook( struct Books *book )
{
   printf( "Book title : %sn", book->title);
   printf( "Book author : %sn", book->author);
   printf( "Book subject : %sn", book->subject);
   printf( "Book book_id : %dn", book->book_id);
}
4. C语言中的真假

C语言中,0代表真,非0表示假。

PART Ⅱ | 错题集 1. 判断题
  1. 预处理命令的前面必须加一个“#”号。(Y)
2. 选择题 3. 函数题 4. 编程题
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号