JAVA学习-java基础讲义02

一 进制

1.1 进制介绍

进制也就是进位计数制,是人为定义的带进位的计数方法。 对于任何一种进制---X进制,就表示每一位置上
的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,
x进制就是逢x进位。

Java中常量的四种表现形式
二进制的数据表现形式

由0,1组成,以0b开头(jdk7版本开始的,b可大写)。

八进制的数据表现形式

由0,1…7组成,以0开头。

十进制数据表现形式

由0,1…9组成,整数默认是十进制的。

十六进制数据表现形式

由0,1…9,a,b,c,d,e,f(大小写均可)。 以0x开头(x可大写)
public static void main(String[] args){
	System.out.println(0b10);//二进制 2
	System.out.println(010);//八进制 8
	System.out.println(10);//十进制 10
	System.out.println(0x10);//十六进制 16
}

1.2 二进制

计算机的底层都是二进制(据本人了解,计算机是已补码的形式进行存储数据的)

在计算机中采用二进制数表示各种信息数据,进行运算,主要是因为二进制本身具有一些独特的优点如:
表示简单、运算方便、逻辑简单方便、可靠性高、转换方便。
1 表示方便
二进制只有两个数码0、1,计算机中非常容易表示电子元器件、电子下路、磁芯等物理不见的两种不同的
物理状态表示。如晶体管的导通与截止,电容的充电和放点,开关的接通与断开,电流的有与无,灯的亮与
灭,磁芯磁化极性的不同等两个截然不同的对立状态都可用于表示二进制数。将多个器件排列起来,就可表示
多位二进制数。
如果采用十进制,则需要在硬件上实现十个稳定的物理状态,来表示从 0~9 的 10 个数码,这是非常
困难的。

2 运算简单
二进制的运算法则比较简单,如二进制的加法运算法则只有四条: 0+0=0 0+1=1 1+0=1 1+1=
10(逢二进一),而十进制的加法运算法则有100条。另外,二进制数的乘、除法运算只需要通过加法运算和移
位操作就可以完成,这比十进制数的乘、除法运算要简便得多,据此设计的计算机运算器硬件结构大为简化,
也为计算机软件的设计带来很大方便。

3 逻辑运算
逻辑代数又称布尔代数,是计算机逻辑电路设计的重要理论工具和二值逻辑运算的理论基础。二进制的两
个数码 0 和 1 正好与逻辑代数中的真(True)和假(False)相对应,所以采用二进制,既便于使用逻辑
代数的方法去设计和简化计算机的各种逻辑电路,也可以在计算机中根据二值逻辑进行逻辑运算。

4 可靠性高
二进制数只有 0 和 1 两个基本数码,在存储、传输和处理时不容易出错,可靠性高。

5 转换方便
计算机使用二进制,人们习惯于使用十进制。而二进制与十进制间的转换很方便,二进制与八进制、十六
进制的转换也很简单,因此使人与计算机间的信息交流既简便又容易。

如何用0,1表示数据

两种状态位表示数据只能表示四种类型数据:
用1表示开,0表示关,开开(11),关关(00),开关(10),关开(01)。
四种状态位根本不够表达所有的数据(字母、字符、数字等),国际化组织规定用8个状态位来表示一个数据,
单位:一个字节byte(8bit),字节也是计算机中最小的存储单位。

单位:

8bit的二进制表示:00000000
1byte = 8bit(比特位)1字节 
1k = 1024byte 1k
1m = 1024k 1m
1G = 1024m 1G
1T = 1024G 1T

八进制和十六进制

我们看到的所有数据底层都是二进制表示如:图像、视频、文字等,如果未经过转换将看到的是一堆1110101....二
进制数码。
二进制数码随着数据越大状态位会不断增长,表现形式极长不够友好,科学家们基于二进制基础上进行一定规律优化
后得到八进制和十六进制,优化后进制变得越大表现形式会变得越短。

八进制(简单理解:二进制三个为一组计算十进制得到的结果)

将二进制从右往左,3个2进制数码分一组,如果不够用0补齐。计算出每一组2进制数据的10进制结果,再将这几组结
果拼接起来就是8进制。
10010111
010 010 111
----- ----- -----
10进制结果 10进制结果 10进制结果
---------------------------------------
2 2 7
三组10进制结果拼接起来就是8进制
0 227

十六进制(简单理解:二进制四个为一组计算十进制得到的结果)

将二进制从右往左,4个2进制数码分一组,如果不够用0补齐。计算出每一组2进制数据的10进制结果,再将这
几组结果拼接起来就是16进制。
10010111
1001 0111
------- ------
10进制结果 10进制结果
------------------------------------
9 7
两组10进制结果拼接起来就是16进制
0x97

1.3 任意进制到十进制转换

三要素:数位、基数、位权

数位

“数位”是指一个数的每个数字所占的位置。数位顺序表从右端算起,第一位是“个位”,第二位是“十位”,第三
位是“百位”,第四位是“千位”,第五位是“万位”,等等。同一个数字,由于所在的数位不同,它所表示的数值
也就不同。例如,在用阿拉伯数字表示数时,同一个‘6’,放在十位上表示6个十,放在百位上表示6个百,放
在亿位上表示6个亿等等。

基数

基数是指在某种进位计数制中,每个数位上所能使用的数码的个数。
二进制:
二进制两个数码(0,1),基数为2
八进制:
八进制包含8个数码(0,1,2,3,4,5,6,7),基数为8
十进制:
十进制包含10个数码(0~9),基数为10
十六进制:
十六进制包含16个数码(0~9、A~F),基数为16
例:
10进制转换为其他进制,基数为10,2进制转换为其他进制基数为2,其他进制同理。

位权

又称权,数码所在的位置的加权值,可以理解为权重,倍率。
例如:
从右往左,从零开始。二进制第2位的位权为1,第3位的位权为2。
简单的可理解为是对每一个位上的数进行编号,编号是从右往左,从0开始。
二进制:111001
对应权:543210

计算公式

数位的值 * 基数 ^ 权
注:
^表示基数的幂次,幂的次数去却与权的大小。

十进制到十进制的转换

10进制数8848转换为10进制
8848
= 8000 + 800 + 40 + 8
= 8*10^3 + 8*10^2 + 4*10^1 + 8*10^0
= 8000 + 800 + 40 + 8
= 8848
10进制12345转换为10进制
12345
= 10000 + 2000 + 300 + 40 + 5
= 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
= 10000 + 2000 + 300 + 40 + 5
= 12345

二进制到十进制的转换

2进制数0b100转换为10进制
0b100
= 1*2^2 + 0*2^1 + 0*2^0
= 4 + 0 + 0
= 4

八进制到十进制之间的转换

8进制数0100转换为10进制
0100
= 1*8^2 + 0*8^1 + 0*8^0
= 64 + 0 + 0
= 64

十六进制到十进制之间的转换

16进制数值0x100到10进制之间的转换
0x100
= 1*16^2 + 0*16^1 + 0*16^0
= 256 + 0 + 0
= 256

1.4 十进制到任意进制之间的转换

10进制到任意进制之间的转换方式,除以基数取余直到商为0,余数反转。

十进制转为十进制

10进制数8848转换为10进制
8848 除 10 = 884 余 8
884 除 10 = 88 余 4
88 除 10 = 8 余 8
8 除 10 = 0 余 8
-------------------------------
余数反转 = 8848

十进制到二进制之间的转换

10进制数100转换为2进制
100 除 2 = 50 余 0
50 除 2 = 25 余 0
25 除 2 = 12 余 1
12 除 2 = 6 余 0
6 除 2 = 3 余 0
3 除 2 = 1 余 1
1 除 2 = 0 余 1
-------------------------------
余数反转 = 1100100

十进制到八进制之间的转换

10进制数100转换为8进制
100 除 8 = 12 余 4
12 除 8 = 1 余 4
1 除 8 = 0 余 1
-------------------------------
余数反转 = 144

十进制到十六进制之间的转换

10进制数100转换为16进制
100 除 16 = 6 余 4
6 除 16 = 0 余 6
-------------------------------
余数反转 = 64

1.5 快速转换法

8421码又称为BCD码,是十进制代码中最常用的一种。在这种编码方式中,每一位二值代码的“1”都代表一个
固定数值。将每位“1”所代表的二进制数加起来就可以得到它所代表的十进制数字。

快速转换表
在这里插入图片描述
二进制和十进制相互快速转换

2进制数0b1010100转换为10进制(按照位数填值相加)
0+0+4+0+16+0+64
= 84
10进制数100转换为2进制(从最高位开始减,有用到的写1,没有用到的写0;直到减为0)
100-64-32-4=0
100 - 64 = 36
36 - 32 = 4
4 - 4 = 0
= 0b1100100

二进制快速转化为八进制(三个为一组算十进制)
二进制快速转换为十六进制(四个为一组算十进制)

1.6 有符号数据表示法

计算机中有符号数据表示法三种:原码、反码、补码。
在计算机中是用补码方式进行存储及用补码进行运算,补码可以让同一套电路即可表示正数和负数以及解决负
数运算等问题。
正数:原码、反码、补码相同
负数:原码符号位为1,反码是符号位不变对数值位进行逐个取反,补码是符号位不变在反码的末尾加1

原码

二进制的左边为高位,右边为低位(一个字节为8bit,就是八个零,第一个是符号位,不参与运算)
二进制最高位作为符号位,0表示正数、1表示负数。
案例:原码表示正7和负7
十进制7的二进制111
符号位 数值位
+7 0 0000111
-7 1 0000111

反码

原码:
符号位 数值位
+7 0 0000111
-7 1 0000111
反码:(正数反码和原码一致,负数符号位不变,数值位按位取反)
+7 0 0000111
-7 1 1111000

补码

原码:
符号位 数值位
+7 0 0000111
-7 1 0000111
反码:
+7 0 0000111
-7 1 1111000
补码:(正数补码和原码一致,负数在反码的末尾加1)
+7 0 0000111
-7 1 1111001
给你一段补码,求补码的十进制。
补码: 1 1111001
- 0 0000001
————————————————
反码: 1 1111000
————————————————
原码: 1 0000111

二 Java变量和数据类型

1.1 变量概述

什么是变量

在程序运行的过程中其值可以在某个范围改变的量

变量的作用

在程序运行过程中存放某一个不断发生改变的值,在运行时JVM会为变量分配一块内存空间

如何定义变量

数据类型 变量名 = 变量值;
在java中定义变量时必须指定数据类型

1.2 数据类型

数据类型概述

在java中数据类型用于限制变量在内存中开辟内存空间大小

数据类型分类

基本数据类型
整数、浮点数、字符、布尔
引用数据类型
类、数组、接口

基本数据类型表
在这里插入图片描述

1.3 变量定义

变量定义前提

指定数据类型
指定变量名
指定变量的值

变量定义的格式

数据类型 变量名 = 变量值;
注意:
1.变量值必须与其数据类型符合
2.在同一级大括号{}内不能出现两个相同名称的变量
3.变量未赋值不能使用(局部变量)
4.float类型变量值建议最后加上f,double类型变量值建议最后加
public class Variable {
	public static void main(String[] args){
		//定义字节型变量
		byte b = 100;
		System.out.println(b);
		//定义短整型变量
		short s = 1000;
		System.out.println(s);
		//定义整型变量
		int i = 123456;
		System.out.println(i);
		//定义长整型变量
		long l = 12345678900L;
		System.out.println(l);
		//定义单精度浮点型变量
		float f = 5.5F;
		System.out.println(f);
		//定义双精度浮点型变量
		double d = 8.5;
		System.out.println(d);
		//定义布尔型变量
		boolean bool = false;
		System.out.println(bool);
		//定义字符型变量
		char c = 'A';
		System.out.println(c);
	}
}

三 Java数据类型转换

3.1 数据类型转换概述

为什么要数据类型转换

Java程序运行时必须保证数据类型一致才能参与运算,如果数据类型不一致就需要进行转换保证数据类型一
致

3.2 数据类型转换之自动类型转换

Java中的默认转换规则

1. boolean类型不能转换为其他的数据类型
2. byte,short,char,int—long—float—double
3. byte,short,char之间不能相互转换,他们参与运算首先转换为int类型

加号说明
在java中+对于整数相加做加法操作,对于字符串做拼接操作

System.out.println('a');//a
System.out.println('a' + 1);//98

ASCII码表的概述

记住三个值:
'0' 48
'A' 65
'a' 97
规则:0 A a:486597;看做是486 597;就是486 (4+1)(8+1)(6+1);后面三位是前面三位加一

案例演示
拼接 加法运算

System.out.println("hello" + 'a' + 1);//hello为字符串,所以拼接helloa1
System.out.println('a' + 1 + "hello");//a为字符,所以做加法运算,98hello

+在有字符串参与中被称为字符串连接符

System.out.println("5+5="+5+5);//字符串,所以为5+5=55
System.out.println(5+5+"=5+5");//基本数据类型 10=5+5

自动转换(隐式转换)案例

int a = 1;//int
byte b = 2;//byte
byte c = a + b;//a转换为byte
int c1 = a + b;//b转换为int
byte a = 1;//byte
byte b = 2;//byte
byte c = a + b;//byte
int c1 = a + b;//a b转换为int
int a = 100;//int
double b = 200d;//double
int c = a + b;//b转换为int
double c1 = a + b;//a转换为double
byte b = 3 + 4;//3和4转换为byte

3.3 数据类型转换之强制转换

目标数据类型 变量名 = (目标数据类型)(被转换的数据);
注意:
强制类型转换可能造成精度损失
byte b1 = 130;
byte b2 = (byte)130;
byte a = 100;
byte b = 100;
byte c = (byte)(a + b);
byte a = 3;
byte b = 4;
byte c = a + b;
int a = 3;
int b = 4;
byte c = (byte)(a + b);

四 Java运算符

4.1 运算符概述

运算符的作用

java中对常量和变量进行操作的符号称为运算符

运算符分类

算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三目运算符

4.2 算术运算符

在这里插入图片描述

// 定义两个int类型的变量
int a = 3 ;
int b = 4 ;
// 使用算术运算符
System.out.println(a + b) ; // 7
System.out.println(a - b) ; // -1
System.out.println(a * b) ; // 12
System.out.println(a / b) ; // 0
System.out.println( a % b) ; // 3
System.out.println( -3 % -4) ; // -3
System.out.println( 3 % -4) ; // 3
System.out.println( -3 % 4) ; // -3

++,–运算符的作用

自加(++)自减(--)运算
++:自加。对原有的数据进行+1
--:自减。对原有的数据进行-1

单独运算

++或--放在前或放在后结果没有区别

参与混合运算

++在前先自增1再参与运算,++在后先参与运算再自增1
--在前先自减1再参与运算,--在后先参与运算再自减1
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
a=?,b=?,c=?
int x = 4;
int y = (x++) + (++x) + (x*10);
x=?,y=?

4.3 赋值运算符

把右边的值赋值给左边变量,值必须与类型匹配。
在这里插入图片描述
下面的程序是否有问题,如果有问题,请指出并说明理由

short s = 1;
s = s + 1;
short s = 1;
s += 1; //+=在底层会进行自动强制类型转换

4.4 比较运算符

比较两个数之间的关系,无论操作时简单还是复杂,结果都是boolean类型
在这里插入图片描述

4.5 逻辑运算符

逻辑运算符一般用于连接boolean类型的表达式或者boolean的值
在这里插入图片描述

4.6 位运算符

底层是二进制补码进行运算,true用1表示,false用0表示
在这里插入图片描述
定义两个变量,无需定义第三方变量的情况下如何实现两个变量的值交换?

用了一个第三方变量

int a = 10;
int b = 20;
int temp = a;
a = b;
b = temp;
int a = 10;
int b = 20;
a = a + b ; // a = 30
b = a - b ; // 30 - 20 = 10 , b=10
a = a - b ; // 30 - 10 = 20 , a=20

一个值被异或两次,其值不会发生改变

int a = 10;
int b = 20;
a = a ^ b ; // 10 ^ 20 = a
b = a ^ b ; // 10 ^ 20 ^ 20 = 10 , b=10
a = a ^ b ; // 10 ^ 20 ^ 10 = 20 , a=20
int a = 10;
int b = 20;
b = (a + b) - (a = b) ; // 30 - 20 = 10 , b=10 , a=20

4.7 三目运算符

什么是三目运算符

三目运算符又称为三元运算符
格式:
(关系表达式) ? 表达式1 : 表达式2;

三元运算符的执行流程

计算关系表达式的值,如果为true, 运算后的结果是表达式1;
如果为false,运算后的结果是表达式2;
int a = 3;
boolean b = a >= 3 ? true : false;
int b1 = a >= 3 ? 3 : -1;

练习题

01.计算机的存储和运算为什么要采用二进制?
02.计算机中的最小表示单位?计算机中的最小存储单位?
03.任意进制到十进制的转换方式?
04.十进制到任意进制之间的转换方式?
05.什么是快速转换法?快速转换法有什么特点?
06.0b1010111转换为10进制,请用快速转换法写出过程?
07.101转换为二进制,请用快速转换法写出过程?
08.什么是有符号数据表示法?
09.为什么要用补码?
10.求十进制-126的补码,写出过程
11.补码0b10000011的原码,请写出过程
12.什么是变量?有什么作用?
13.如果定义一个变量?
14.数据类型分分类?基本类型有哪些?
15.定义变量是有哪些注意事项?
16.java中什么情况数据类型会发生转换?
17.什么是自动转换?转换规则是?
18.什么是强制转换?强制转换可能会导致什么问题?
19.请写出byte b = (byte)130;的运行过程
20.++和--有什么特点?
21.short s = 1;  s += 1;会报错吗?为什么?
22.比较运算法有什么作用?
23.&和&&区别?|和||的区别?
24.定义两个变量,无需定义第三方变量的情况下如何实现两个变量的值交换?
25.请写出一个运算法的格式和案例?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
目 录 第一章 JAVA入门 10 计算机语言发展史 10 机器语言 10 汇编语言 10 高级语言 10 其他高级语言 11 JAVA发展简史 12 JAVA为什么能够流行? 13 JAVA各版本的含义 13 JAVA技术体系架构 14 JAVA的特性和优势 14 JAVA应用程序的运行机制 15 JVM(JAVA VIRTUAL MACHINE) 16 Java运行时环境JRE(Java Runtime Environment) 17 JAVA语言应用范围 18 第一个JAVA程序 18 JAVA开发环境搭建 18 一个典型的JAVA程序的编写和运行过程 19 第一个程序常见错误 20 第一个JAVA程序的总结和提升 20 常用Java开发工具 20 常用dos命令 21 本章笔试作业 21 本章上机操作 21 第二章(1) 编程的基本概念 22 注释 22 标识符 22 关键字/保留字 23 变量(variable) 24 常量(Constant) 25 命名规则(规范) 25 基本数据类型(primitive data type) 26 整型变量 26 浮点型 27 字符型(2个字节): 28 boolean类型 29 运算符(operator) 29 二元运算符 29 一元运算符 30 布尔逻辑表达符 30 位运算符 30 扩展运算符 31 字符串连接符 31 三目条件运算符 31 运算符优先级的问题 31 自动类型转换 32 基本类型转化时常见错误和问题 33 方法 33 简单的键盘输入和输出 33 本章思考作业 34 上机操作 34 第二章(2) 控制语句 35 顺序结构 35 选择结构 35 if单选择结构 35 if-else双选择结构 35 If-elseif-else多选择结构 36 switch多选择结构 37 循环结构 39 While和dowhile的区别 41 For循环 42 break语句和continue语句 47 语句块 48 递归结构 49 本章作业 50 本章上机操作 51 第三章 JAVA面向对象程序开发 52 编程语言发展史 52 类和对象是如何产生发展的?如何进化的? 52 面向对象思想初步(OOP初步Object Oriented Programming) 53 面向对象编程的语言的三大特征简介 56 对象和类的概念 56 类和对象初步 57 测试类的定义方式 57 简单的学生类编写示例 58 内存分析 59 属性(field,或者叫成员变量) 59 引用类型 60 类的方法 60 对象的创建和使用 60 构造器(或者叫做构造方法,constructor) 60 垃圾回收机制(Garbage Collection) 63 方法的重载(overload),构造方法的重载 63 this关键字 65 static 关键字 66 静态初始化块(经常用来初始化类,加载类信息时执行!) 67 package 68 JDK中的主要包 68 import 68 eclipse的使用 69 继承(extend, inheritance) 70 为什么需要继承?继承的作用? 70 继承介绍 70 如何实现继承? 70 继承使用要点 71 Object类 72 toString方法 72 equals方法 73 super关键字 74 方法的重写(override) 74 隐藏/封装(encapsulation) 75 为什么需要封装?封装的作用和含义? 75 使用访问控制符,实现封装 76 封装的使用细节 76 多态(polymorphism) 76 为什么需要多态? 76 如何实现多态? 77 方法绑定(method binding) 77 静态绑定 77 动态绑定 77 多态的使用要点 78 对象的转型(casting) 79 final 81 抽象类 82 抽象类的使用要点 83 接口 83 为什么需要接口? 84 如何定义接口? 84 接口的本质探讨 84 接口使用要点 85 接口的多继承 86 面向接口编程 87 OOP更多应用 87 组合 87 内部类(innerclasses) 88 字符串(java.lang.String类)的使用 90 字符串相等的判断 92 思考作业 93 上机作业 94 第四章 异常机制 95 导引问题 95 异常(Exception)的概念 96 异常分类 96 Error 97 Error和Exception的区别 97 Exception 97 异常的处理办法之一,捕获异常 99 try块 99 catch 99 finally 100 try, catch,finally ,return 执行顺序 100 异常的处理办法之二,声明异常: throws子句 101 方法重写中声明异常原则 102 异常的处理办法之三,手动抛出异常,throw子句 103 自定义异常 103 使用异常机制建议 104 总结 105 思考作业 105 上机作业 105 第五章 数组 106 数组概述和特点 106 创建数组和初始化 106 数组常见操作 108 数组的拷贝 108 数组排序 109 多维数组 110 附录(面试前复习一下!!) 111 冒泡排序 111 二分法查找 112 命令行参数的问题 113 增强for循环 114 思考作业 114 上机作业 115 第六章 常用类的使用 117 基本数据类型的包装类 117 包装类基本知识 117 包装类的用途 118 自动装箱和拆箱?autoboxing,unboxing 119 字符串相关类(String、 StringBuffer 、 StringBuilder) 120 String类的常用方法(已讲过,不再讲!) 120 StringBuffer和StringBuilder 121 String和StringBuffer和StringBuilder使用要点 123 时间处理相关类 124 Date时间类(java.util.Date) 124 DateFormat类和SimpleDateFormat类 125 Calendar日历类 126 可视化日历的编写 128 Math类 131 File类 132 File类的基本用法 132 树状结构展现文件结构 133 枚举 133 上机作业 135 第七章 容器(Collection) 136 容器的作用和概览 136 容器中的接口层次结构 136 Collection接口 137 LIST接口 137 SET接口 138 Map接口 138 Iterator接口 139 遍历集合 140 Collections工具类 141 Comparable接口 141 equals和hashcode方法 143  泛型 144 思考作业 145 上机作业 145 第八章 IO技术 146 为什么需要学习IO技术 146 基本概念 146 数据源 146 流的概念 146 第一个简单的IO流程序及深入(将文件中的数据读入) 146 Java中流的概念细分 148 Java中IO流类的体系 149 四个IO基本抽象类 150 InputStream 150 OutputStream 150 常用InputStream和OutputStream子类用法 150 FileInputStream和FileOutputStream 150 ByteArrayInutStream和ByteArrayOutputStream 154 BufferedInputStream和BufferedOutputStream 156 DataInputStream和DataOutputStream 157 ObjectInputStream和ObjectOutputStream 158 PrintStream 158 Reader 158 Writer 159 FileReader和FileWriter 159 BufferReader和BufferWriter 159 InputStreamReader和OutputStreamWriter 161 JAVA对象的序列化和反序列化 161 为什么需要序列化和反序列化 161 对象的序列化主要有两种用途 161 序列化涉及的类和接口 162 序列化/反序列化的步骤和实例 162 综合的序列化和反序列化练习 163 JAVA.IO包相关流对象用法总结(尚学堂1002班王鑫) 165 IO中其他常用类 165 File类 165 RandomAccessFile 166 思考作业 166 上机作业 166 提高课外作业 166 第九章 多线程技术 167 基本概念 167 程序 167 进程 167 线程 167 线程和进程的区别 167 进程与程序的区别 168 JAVA中如何实现多线程(重点!!) 168 通过继承Thread类实现多线程 168 通过Runnable接口实现多线程 169 线程状态和sleep/yield/join/stop/destroy方法 170 新生状态 170 就绪状态 170 运行状态 170 死亡状态 170 终止线程的典型方法(重要!!!) 171 阻塞状态(sleep/yield/join方法) 171 线程基本信息和优先级别 173 线程同步和死锁问题 175 死锁及解决方案 179 生产者/消费者模式 181 线程回顾总结 184 任务调度(补充内容,了解即可!) 184 思考作业 185 上机作业 185 第十章 网络编程 186 基本概念 186 什么是计算机网络 186 计算机网络的主要功能 186 什么是网络通信协议 186 网络通信接口 186 为什么要分层 186 通信协议的分层规定 186 数据封装 188 数据拆封 188 IP 188 端口 188 URL 189 TCP协议和UDP协议 189 区别 189 TCP协议 189 UDP协议 190 JAVA网络编程 190 InetAddress 190 InetSocketAddress 191 URL类 191 基于TCP协议的SOCKET编程和通信 193 UDP通讯的实现 201 思考作业 203 上机作业(分组完成,3人一组,周末完成) 204 第十一章 JAVA多媒体编程 205 字体 205 字体示例和效果 205 颜色 206 颜色编程示例 206 图形绘制 206 绘制各种图形示例 207 图像处理 208 加载图片示例 208 图片任意缩放并输出新图片 209 使用JMF处理音频和视频 211 JMF的下载 211 JMF的安装和配置 211 使用JMF播放音频文件 212 上机作业 213 第十二章 GUI编程之AWT 214 为什么需要GUI?GUI是什么? 214 AWT是什么? 214 AWT的优势 214 AWT的缺点 214 为什么还需要学习AWT? 215 AWT各组件的整体关系 215 组件 215 容器 216 布局管理器 218 为什么需要布局管理器? 218 FlowLayout布局管理器 218 BorderLayout布局管理器 219 CardLayout布局管理器 220 GridLayout布局管理器 220 GridBagLayout布局管理器 221 综合应用组件和容器和布局管理器 221 AWT事件处理模型 223 问题 223 事件处理模型是什么? 223 最简单的事件处理程序 224 AWT中事件处理代码编写 225 编写过程 225 处理过程 225 简化理解上面过程 225 事件和事件源对象 225 事件适配器 232 为什么需要事件适配器 232 事件监听器常见的定义形式 233 AWT其他组件 233 菜单的实现 233 特点 233 代码示例和效果 233
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立花泷的学习日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值