第四周:程序的控制结构 4.1 程序的分支结构 1.单分支结构 if<条件>: <语句块> 2.二分支结构 if <condition>: <yujukuai1> else: <yujukuai2> 还有一种紧凑表达式: <表达式1>if<条件> else<表达式2> 例如: guess =eval(input()) …
第四周:程序的控制结构 4.1 程序的分支结构 1.单分支结构 if<条件>: <语句块> 2.二分支结构 if <condition>: <yujukuai1> else: <yujukuai2> 还有一种紧凑表达式: <表达式1>if<条件> else<表达式2> 例如: guess =eval(input()) …
第三章 线程(下) 3.1 线程安全与线程兼容与对立 线程安全:当多个线程访问同一个对象时,如果不同考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。它包括: (1)不可变。如果它访问的对象是不可修改的,那么它本身就是安全的。比如: ①final修饰:public final a =100; ②java.lang.String: String s = “String”;string常量 ③枚举类型:…
第三章:基本数据类型 3.1 数字类型及操作 1.整数类型 (1)pow(x,y)函数,计算x的y次方,想算多大算多大。 (2)4种进制表示形式: ①十进制:1010,99等; ②二进制:以0b或者0B开头:0b10,-0B101等; ③八进制:以0o或0O开头:0o123,-0O456等; ④十六进制:以0x或者0X开头:0x9a,-0X89等。 2.浮点数类型 取值范围为-10的308次方到10的308次方,精度数量级10的-16次方。 浮点数间存在不确定尾数,不是bug。为了解决这一个问题,可以使用roud(…
第二章 线程(中) 2.1 线程同步的思想 1.多线程的同步控制 有时候线程之间彼此不独立,需要同步: (1)线程间的互斥:同时运行的几个线程需要共享一个(些)数据;共享的数据,在某一时刻只允许一个线程对其进行操作。 如“生产者/消费者”问题:假设有一个线程负责往数据区写数据,另一个线程从同一数据区中读数据,两个线程可以并行执行,如果数据区已经满了,生产者需要消费者取走一些数据后才能再写入;当数据区空时,消费者要等生产者写入一些数据后再读取。 例:用两个线程模拟存票和售票过程: 假定开始售票处并没有票,一个线程往里…
第一章 线程(上) 1.1 线程的基本概念 一个线程是一个程序内部的顺序控制流。 多进程是指操作系统中,能同时运行多个任务(程序)。 多线程是在同一个应用程序中,有多个顺序流同时进行。 1.进程和线程的比较 (1)每个进程都有独立的代码和数据空间(进程上下文),进程的切换开销大。 (2)线程是轻量的进程,同一类线程共享代码和数据空间,每个线程都有独立的运行栈和程序计数器(PC),线程切换开销小。 2.线程的概念模型 线程在运行中,必须得到CPU资源。在Java中,就有一个类java.lang.Thread来模拟一个…
第七章 图形用户界面 7.1 绘图 1.图形环境和图形对象 (1)坐标:GUI组件左上角默认为(0,0),从左上角到右下角,水平坐标x和垂直坐标y增加,坐标的单位是像素。 (2)Graphics对象:专门管理图形环境。Graphics是一个抽象类,提供了一个与平台无关的绘图接口,这样编写的程序可以符合java平台要求。各平台上实现的JAVA系统将创建一个子类,来实现绘图功能,但是这个子类对程序员来说是透明的。在执行paint方法时,系统会传递一个指向特定平台的Graphics子类的图形对象g(名字随意)。 2.颜色…
第一周:Python基本语法元素 1.3 实例1:温度转换 例:将摄氏度和华氏度互换 利用转换公式如下: C=(F-32)/1.8,F=C*1.8+32 代码: TempStr = input("请输入带有符号的温度值:") if TempStr[-1] in ['F','f']: C=(eval(TempStr[0:-1])-32)/1.8 …