目录
前言
本文章比较适合已经学过java的人,这篇文章的主要目的也是为了帮助自己巩固看过的java的知识点。
第一章 计算机、程序和java概述
1.2 什么是计算机
- CPU通常由两部分组成:控制单元和算术/逻辑单元。控制单元用于控制和协调其他组件的动作。算术/逻辑单元用于完成数值运算和逻辑运算。
- CPU从内存中获取指令并执行
- 比特,bit就是二进制数0和1
- 字节是最小存储单元,每个字节是由8个bit组成的
- 内存是一个有序的字节序列,每个字节有一个唯一的地址。可以按任意顺序存取字节,因此内存也称为RAM,随机访问存储器
1.3 编程语言
- 机器语言故名思义就是给机器看的语言,是一套内嵌的原子指令集,指令都是以二进制代码的形式存在的
- 汇编语言是一种低级语言,相比于机器语言来说,汇编语言的可读性会更强。需要使用汇编器将汇编语言变成机器语言。
- 高级语言是平台独立的
- 解释器:从源代码当中逐行读取并翻译成机器代码或者虚拟机器代码,然后立刻执行
- 编译器:将整个代码编译成可执行文件
- 编译语言和解释语言的区别:编译语言只需要编译一次,后面就可以直接执行可执行文件,而不需要再次进行编译,解释语言每次执行都需要解释一次,因此效率上来说解释语言会差一些;编译语言的平台移植性不如解释语言,可执行文件依赖于操作系统
- java是编译-解释语言,因为java需要将.java文件编译成.class文件,然后交给jvm翻译成机器语言,然后执行。第一个过程是编译,后面的过程是解释
- multiprogramming、multithreading、multiprocessing的定义:允许多个程序共享CPU、允许单个程序同时执行多个任务、允许两个或者多个处理器同时执行子任务,然后合并得到任务的结果(后面应该会补充对进程、线程、多进程、多线程的一些知识)
- JDK是java开发工具包
10.java程序的执行:.java文件编译成.class文件,.class文件交给JVM执行。JVM的存在使得java具有良好的跨平台特性
第二章 基本程序设计
2.6 赋值语句和赋值表达式
- 赋值语句本质上就是计算出一个值并将它赋给操作赋左边变量的一个表达式,也被称为赋值表达式
2.7 命名常量
- 使用final来命名常量
2.9 数值数据类型和操作
- java的数据类型分为:内置数据类型(基本数据类型)和引用数据类型。
- 内置数据类型:byte(8位),short(16),int(32),long(64),float(32),double(64),boolean,char(16)
- 引用数据类型:对象、数组、string都是引用数据类型
- 引用数据类型的默认值都是null
- 直接量是直接出现的常量值
第三章 选择
3.13 switch语句
- switch的case后面的value当中是不能有变量的,只能是常量
3.15 操作符的优先级和结合规则
- 一元操作符优先级最高:后置(x++),前置(++x),类型转换,非
- 二元算术操作符优先级次高:乘、除、求余,±
- 二元关系操作符优先级次低:比较(大于、大于等于、小于、小于等于),相等(等于、不等)
- 二元逻辑操作符优先级次次低:异或,与,或
- 赋值操作赋优先级最低
第四章 数学函数、字符和字符串
4.3 字符数据类型和操作
- 将字符映射到它的二进制形式的过程称为编码
- char型数据可以转换成任意一种数值类型,反之亦然
- 将整数转换成char型数据时,只用到低16位
- 浮点数转换成char时,需要先转换成整数
- 所有数值操作符都可以用在char类型操作数上,如果其中一个操作数是数字或者字符,那么char类型操作数就会被自动转换成数字。如果是字符串,就会拼接成新的字符串
4.4 String类型
- String是引用数据类型而不是内置数据类型
- string.length()获得字符串的长度,length()是一个函数
- compareTo是从左到右第一个不一样的字符,两者相减作为返回值
- substring(start,end)获得index从start到end-1的子字符串
第六章 方法
6.2 定义方法
- 方法由方法头和方法体组成,方法头:修饰符、返回值、方法签名(方法名+参数列表)
- 形参:定义在参数列表当中的参数;实参:调用方法时传入的值
6.5 通过传值进行参数传递
- 调用带参数的方法时,实参的值传递给形参,这个过程称为按值传递
6.8 重载方法
- overload,重载,方法同名,参数列表不同。这里的参数列表不同指的是形式参数的类型或者数量不同,仅仅名字不同是没有用的
- 编译器在选择重载方法时,会选择实际参数与形式参数匹配最精确的方法进行执行。如果最精确的匹配结果不止一个,就会报