Java 基础(1)

Java SE基础篇
(1)Java语言的概括和编程基础
Java语言的北京,开发环境,变量和数据类型,运算符,流程控制语句
(2)Java语言的面对对象编程(核心,难点,理解)
类和对象集引用.封装,继承,多态,抽象类,接口,内部类等
(3)Java语言的核心库
object类,string类,集合类,异常机ahi,IO流,多线程, 络编程等
1.计算机的体系结构(常识)

1.1 计算机的基本概念

1.2 常见的硬件

计算机中常见的硬件主要有:CPU、内存、磁盘、显卡、键盘、显示器、…

CPU – 中央处理器,是计算机的核心部件,相当于人的大脑
– 主要用于解析并执行计算机指令以及处理软件中的数据

内存 – 是计算机中的存储部件
– 主要用于临时存放CPU要访问的数据内容,效率比较高
– 容量小且不能永久存储数据,一旦断电会造成数据的丢失
– 时刻记得 ctrl+s进行保存

磁盘 – 是计算机中的存储部件
– 容量大且可以实现永久存储数据,断电后数据不会丢失
– CPU不能直接访问磁盘中的数据,效率低,若需要访问则先读取到内存再访问

其中键盘叫做标准输入设备,其中显示器叫做标准输出设备。

科普:
1Tb = 1024Gb
1Gb = 1024Mb
1Mb = 1024Kb
1Kb = 1024byte(字节) 通常一个英文字母占1个字节,1个汉字占2个字节
1byte = 8bit(二进制位) 在计算机的底层只识别0和1组成的二进制序列

思考:
目前主流的硬盘配置有:250G、320G、500G、1Tb、2Tb、为啥我的电脑只有298G呢br> 解析:
硬件厂商是采用1000作为进率设计的,而操作系统是按照1024作为进率显示的

1.3 常见的软件

计算机中常见的软件分为:系统软件 和 应用软件。
其中系统软件主要指操作系统,目前主流的操作系统有:
windows系列/Unix系列/linux系列/Android系列/ios系列
其中应用软件主要指安装在操作系统之上的软件,如:QQ、迅雷、…

1.4 计算机的体系结构

使用者 => 应用软件 => 操作系统 => 硬件设备
=> 其中操作系统分为: 内核(kernel) + 外壳(shell)

2.Java语言的概述(常识)

2.1 Java语言的背景

Java语言诞生于1995年,之前隶属于sun公司,现在隶属于oracle公司。
Java语言在编程语言排行榜占据重要的地位。

2.2 Java语言的主要版本

(1)Java SE(Java Platform, Standard Edition)

  • 称之为“Java平台标准版”,主要学习Java语言的语法格式和编程基础。

(2)Java EE(Java Platform,Enterprise Edition)

  • 称之为“Java平台企业版”,主要学习Java项目的后台开发技术。

(3)Java ME(Java Platform,Micro Edition)

  • 称之为Java 平台微型版,随着Android智能平台的迅速普及,Java ME已经走向淘汰

3.开发环境的搭建和使用(重点)

3.1 jdk的下载和安装

(1)下载方式
方式一: 直接从官 上下载 www.oracle.com www.sun.com
方式二: 可以搜索下载 www.baidu.com www.sogou.com

(2)安装方式
若下载的是绿色版,则直接解压即可
若下载的是安装版,则一路点击下一步进行安装即可
切记安装路径中不能有中文!!!

3.2 相关的概念(记住)

jdk – Java语言开发工具包,只要做Java语言开发就需要下载和安装该软件
jre – Java语言运行时环境,只要运行Java语言开发的程序就需要下载和安装该软件
javac.exe – Java语言的编译器,负责将高级源代码文件翻译成字节码文件
java.exe – Java语言的解释器,负责将字节码文件进行边解释边执行

3.3 编写Java程序的流程

注意:
当文件的后缀无法显示时: 组织/工具 => 文件夹和搜索选项 => 查看 => 隐藏已知文件类型的扩展名 => 去掉勾选 => 确定

3.4 常用的快捷键

ctrl+s – 保存 ctrl+n – 新建 ctrl+c – 复制 ctrl+v – 粘贴
ctrl+x – 剪切 ctrl+o – 打开 ctrl+z – 撤销 ctrl+a – 全选
ctrl+f – 查找

windows + d – 回到桌面 windows + e – 打开计算机
windows + l – 锁屏
windows + r – 打开运行,输入cmd后回车打开dos窗口

windows + tab – 切换任务 alt+tab – 切换任务
ctrl+alt+delete – 启动任务管理器
ctrl+shift – 切换输入法,一旦切换到中文输入法后则使用shift进行中英文切换

3.5 环境变量的配置

(1)基本概念
通常情况下可执行文件只能在该文件所在的路径中使用,若希望该可执行文件可以在任意路径下使用,此时就需要将javac所在的路径配置到环境变量path中。

注意:配置完毕环境变量后重启dos窗口!!!

3.6 跨平台原理(记住)

由于不同的操作系统中都提供了Java虚拟机,因此可以将同一份字节码文件翻译成不同的机器指令在不同的系统中执行,从而实现跨平台的效果,赢得了”一次编译,到处使用”的美名。

code:
public class HelloWorld/类名/ {/类体/

}
1.简答题
简述jdk、jre、javac.exe、java.exe的概念和作用

2.编程题
编程实现HelloWorld.java文件的所有代码,注释不用写

作业:
常见的错误:
a.错误: 需要class, interface或enum => class单词拼接错误
b.错误: 找不到符 => 单词拼接错误或没有该单词
c.错误: 需要’;’ => 缺少分
d.错误: 非法字符: ‘uff1b’ => 出现了中文符 ,改成英文符 就行
e.在类 PrintTest 中找不到 main 方法 => main写成mian


今天内容:
(1)变量和注释
(2)数据类型

1.变量和注释(重中之重)
1.1 变量的基本概念
当需要在Java程序中记录单个数据内容时,则声明一个变量即可,而声明变量的本质就是在内存中申请一块存储单元,由于该存储单元中的数据内容可以改变,因此得名为”变量”。
由于存放的数据内容大小不同导致所需存储单元的大小不同,在Java语言中使用数据类型的概念加以描述,为了便于下次访问就需要给该存储单元指定一个名称,叫做变量名

1.2 变量的声明方式
数据类型 变量名 = 初始值; – 其中=初始值可以省略,但分 不可以省略
如:
int age = 18;
int age;

1.3 标识符(变量名)的命名规则
(1)要求由字母、数字、下划线以及美元$等组成,其中数字不能开头;
如:age、name、nianling、age2、name2等
(2)要求不能与Java语言中关键字同名,所谓关键字就是Java语言中用于代表特殊
含义的单词;
如:public、class、void、int等
(3)区分大小写,长度没有限制但不宜过长;
如:day和Day代表不同的标识符,但该方式不推荐使用
(4)尽量做到见名知意,支持中文但不推荐使用;
如:year、month、day、hour、minute、second、size、time等

1.4 注释
// – 表示单行注释,从//开始一直到本行末尾的所有内容都是注释
/**/ – 表示多行注释,从/开始一直到/之间的所有内容都是注释

注意:
多行注释不允许嵌套使用!

2.数据类型
2.1 基本分类
在Java语言中将数据类型分为两大类:
(1)基本数据类型(记住)
byte、short、int、long、float、double、boolean、char
1 2 4 8 4 8 1 2
(2)引用数据类型(了解)
数组、类、接口、标注、枚举

2.2 常用的进制
在现实生活中通常都采用十进制,逢十进一,十进制的权重:100、101、…
在计算机的底层采用二进制,逢二进一,二进制的权重:20、21、…其中二进制的最高位(最左边)代表符 位,若该位是0则表示非负数,若该位是1则表示负数。
如:

10^3 10^2 10^1 10^0
千 百 十 个
1 2 3 4 => 读作:一千两百三十四

2.3 常用的进制转换(尽量理解、原理)
(1)正十进制转换为二进制的方式
a.除2取余法,让十进制整数不断地除以2并取出余数,直到商为0时将余数逆序排列
b.拆分法,将十进制整数拆分为若干个二进制权重的和,若有该权重下面写1否则写0
如:
45 => 32 + 8 + 4 + 1

(2)正二进制转换为十进制的方式
a.加权法,让二进制中的每个数字乘以当前位的权重再累加起来
(3)负十进制转换为二进制的方式
a.先将十进制整数的绝对值转换为二进制,再进行按位取反并加1
如:
-45 => 绝对值转换为二进制:0010 1101
=> 进行按位取反: 1101 0010
=> 再加1: 1101 0011

(4)负二进制转换为十进制的方式
a.先减1再进行按位取反,最后合并为十进制整数后增加负
如:
1101 0011 => 先减1: 1101 0010
=> 按位取反: 0010 1101
=> 合并十进制:45
=> 添加负 : -45

2.4 单个字节表示的整数范围(重中之重)
在计算机中单个字节表示8位二进制位,其中最高位(最左边)代表符 位,若该位是0代表非负数,若该位是1则代表负数,因此单个字节表示的整数范围如下:

非负数的范围:0000 0000 ~ 0111 1111 => 0 ~ 2^7-1 => 0 ~ 127
0111 1111 => 02^7 + 12^6 + 12^5 + 12^4 + 12^3 + 12^2 + 12^1 + 12^0
=> 0 + 64 + 32 + 16 + 8 + 4 + 2 + 1
=> 127

负数的范围: 1000 0000 ~ 1111 1111 => -2^7 ~ -2^0 => -128 ~ -1
1000 0000 => 先减1: 0111 1111
=> 按位取反:1000 0000
=> 转十进制:128
=> 添加负 :-128
1111 1111 => 先减1: 1111 1110
=> 按位取反:0000 0001
=> 转十进制:1
=> 添加负 :-1
综上所述:
计算机中单个字节所能表示的整数范围是:-2^7 ~ 2^7-1, 也就是-128 ~ 127.

2.5 整数类型
在Java语言中用于描述整数数据的数据类型有:byte、short、int、long,推荐int;
其中byte类型在内存空间中占1个字节,表示的整数范围是:-2^7 ~ 2^7-1.
-128 ~ 127.
其中short类型在内存空间中占2个字节,表示的整数范围是:-2^15 ~ 2^15-1.
-32768 ~ 32767.
其中int类型在内存空间中占4个字节,表示的整数范围是:-2^31 ~ 2^31-1.
正负二十一亿之间.
其中long类型在内存空间中占8个字节,表示的整数范围是:-2^63 ~ 2^63-1.
比int类型还大的数.
对于Java程序中直接写出的整数数据来说,叫做直接量/字面值/常量,如:66等,而直接量默认为int类型,若希望表达比int类型还大的直接量,则需要在直接量的后面加上l或者L,推荐使用L。

扩展:
若希望表示比long类型范围还大的数据,则借助java.math.BigInteger类型加以描述
2.6 浮点类型
在Java语言中用于描述小数数据的类型有:float、double,推荐使用double类型
其中float类型在内存空间中占4个字节,叫做单精度浮点数,小数点后通常有效到7位
其中double类型在内存空间中占8个字节,叫做双精度浮点数,小数点后通常有效15位
对于Java程序中直接写出的小数数据来说,叫做直接量/字面值/常量,如:3.14等,而直接量默认为double类型,若希望表达float类型的直接量就需要在直接量的后面加上f或者F都可以。
2.7 布尔类型
在Java语言中用于描述真假信息的数据类型有:boolean,数值只有:true 和 false
其中boolean类型在内存空间中所占的大小没有明确的规定,通常认为是1个字节
1.数据类型

在Java语言中基本数据类型主要有8种:
byte、short、int、long、float、double、boolean、char

1.1 字符类型

在Java语言中用于描述单个字符的数据类型:char类型,如:‘1’, ‘a’, ‘中’等
其中char类型在内存空间中占2个字节并且没有符 位,表示范围是:0 ~ 65535,但现实生活中很少有数据可以用单个字符加以描述,更多地是由多个字符组成的字符串加以描述,在Java语言中使用String类型描述。
在计算机的底层识别0和1组成的二进制序列,而对于’a’这样的图案来说无法采用二进制序列加以描述,也就是无法在计算机中直接存储,此时就可以给图案指定一个编 ,然后将编 存储到计算机中,而这个编 就叫做 ASCII。
要求大家记住的ASCII有:
‘0’ – 48 ‘A’ – 65 ‘a’ – 97 空格 – 32 换行符 – 10
要求大家记住的转义字符有:
” – ” ’ – ’ – n – 换行符 t – 制表符

1.2 数据类型之间的转换

在Java语言中数据类型之间的转换主要分为两种:自动类型转换 和 强制类型转换
其中自动类型转换主要指小范围到大范围之间的转换;
其中强制类型转换主要指大范围到小范围之间的转换;
语法格式:目标类型 变量名 = (目标类型)源类型变量名;

注意:
强转有风险,操作需谨慎!

2.运算符(重点)

2.1 算术运算符

  • 表示加法运算符 – 表示减法运算符 * 表示乘法运算符
    / 表示除法运算符 % 表示取模/取余运算符

2.2 关系/比较运算符

表示是否大于运算符 >= 表示是否大于等于运算符
== 表示是否等于运算符 != 表示是否不等于运算符

所有关系运算符作为最终运算的表达式结果一定是boolean类型

2.3 自增减运算符

  • 表示加法运算符 ++ 表示自增运算符,用于让当前变量自身的数值加1的功能
  • 表示减法运算符 – 表示自减运算符,用于让当前变量自身的数值减1的功能

2.4 逻辑运算符

&& 表示逻辑与运算符,相当于”并且”,同真为真,一假为假
|| 表示逻辑或运算符,相当于”或者”,一真为真,同假为假
! 表示逻辑非运算符,相当于”取反”,真为假,假为真

短路特性:
对于逻辑与运算符来说,若第一个条件为假则整个表达式为假,此时第二个条件跳过
对于逻辑或运算符来说,若第一个条件为真则整个表达式为真,此时第二个条件跳过

2.5 条件/三目运算符

条件表达式 表达式1: 表达式2;
=> 判断条件表达式是否成立
=> 若成立,则执行表达式1;
=> 若不成立,则执行表达式2;

2.6 赋值运算符

(1)简单赋值
= 表示赋值运算符,用于将=右边的数据赋值给=左边的变量,覆盖变量原来的内容。 笔试题:
ia == 3; – 表示判断ia的数值是否等于3
3 == ia; – 表示判断3是否等于ia的数值,推荐该方式
ia = 3; – 表示将3赋值给变量ia,覆盖ia原来的内容
3 = ia; – 编译 错

(2)复合赋值
+=、 -=、 *=、 …

2.7 运算符的优先级

a. ()的优先级极高;
b. = 的优先级极低;
c. 若实在不确定执行次序,则使用()来确保优先级;

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91764 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月11日
下一篇 2019年7月11日

相关推荐