<h2>java学习之路之javaSE基础1</h2>
<div>
###01.01_计算机基础知识(计算机概述)(了解)
* A:什么是计算机?计算机在生活中的应用举例
* 计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。
* 应用举例
* 1:科学计算
* 2、数据处理
* 3、自动控制
* 4、计算机辅助设计
* 5、人工智能
* 6、多媒体应用
* 7、计算机网络
* ...
* B:什么是硬件?硬件举例
* 计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
* 冯.诺依曼体系结构
* 计算机的硬件分成5大组成部件:运算器、控制器、存储器、输入设备和输出设备。
* 运算器和控制器是计算机的核心,合称*处理单元(Central Processing Unit,CPU)或处理器。CPU的内部还有一些高速存储单元,被称为寄存器。其中运算器执行所有的算术和逻辑运算;控制器负责把指令逐条从存储器中取出,经译码后向计算机发出各种控制命令;而寄存器为处理单元提供操作所需要的数据。
* 存储器是计算机的记忆部分,用来存放程序以及程序中涉及的数据。它分为内部存储器和外部存储器。内部存储器用于存放正在执行的程序和使用的数据,其成本高、容量小,但速度快。外部存储器可用于长期保存大量程序和数据,其成本低、容量大,但速度较慢。
* 输入设备和输出设备统称为外部设备,简称外设或I/O设备,用来实现人机交互和机间通信。微型机中常用的输入设备有键盘、鼠标等,输出设备有显示器、打印机等。
* C:什么是软件?软件分类及举例
* 计算机软件(Computer Software)是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序完成特定的功能
* 计算机软件按照其功能划分为系统软件与应用软件
* 系统软件: DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, iOS
* 应用软件:office QQ聊天 YY语言 扫雷
###01.02_计算机基础知识(软件开发和计算机语言概述)(了解)
* A:什么是软件
* 按照特定顺序组织的计算机数据和指令的集合
* B:什么是开发
* 软件的制作过程
* C:什么是软件开发
* 借助开发工具与计算机语言制作软件
* D:什么是计算机语言
* 人与计算机之间进行信息交流沟通的一种特殊语言
* E:计算机语言的分类
* 机器语言:
* 机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。
* 汇编语言:
* 汇编语言是使用一些特殊的符号来代替机器语言的二进制码,计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言。
* 高级语言:
* 使用普通英语进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行。
* 高级语言包括C,C++,C#,JAVA
###01.03_计算机基础知识(人机交互)(了解)
* A:人机交互的两种方式
* a:命令行方式
* 需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
* b:图形化界面方式
* 这种方式简单直观,使用者易于接受,容易上手操作。
###01.04_计算机基础知识(键盘功能键和快捷键)(掌握)
* A:键盘功能键
* a:Tab
* b:Shift
* c:Ctrl
* d:Alt
* e:空格
* f:Enter
* g:Window
* h:上下左右键
* i:PrtSc(PrintScreen)屏幕截图
* B:键盘快捷键
* a:Ctrl+A 全选
* b:Ctrl+C 复制
* c:Ctrl+V 粘贴
* d:Ctrl+X 剪切
* e:Ctrl+Z 撤销
* f:Ctrl+S 保存
###01.05_计算机基础知识(如何打开DOS控制台)(掌握)
* A:xp下如何打开DOS控制台?
* a:开始--程序--附件--命令提示符
* b:开始--运行--cmd--回车
* c:win+r--cmd--回车
* B:win7下如何打开DOS控制台?
* a:开始--所有程序--附件--命令提示符
* b:开始--搜索程序和文件--cmd--回车
* c:win+r--cmd--回车
* C:win8下如何打开DOS控制台
* a:鼠标左击开始--下箭头--命令提示符
* b:鼠标右击开始--搜索--cmd--回车
* c:鼠标右击开始--运行--cmd--回车
* d:win+r--cmd--回车
* D:win10下如何打开DOS控制台
* a:鼠标右击开始--搜索--cmd--回车
* b:鼠标右击开始--运行--cmd--回车
* c:win+r--cmd--回车
###01.06_计算机基础知识(常见的DOS命令讲解)
* A:d: 回车 盘符切换
* B:dir(directory):列出当前目录下的文件以及文件夹
* C:cd (change directory)改变指定目录(进入指定目录)
* D:cd.. : 退回到上一级目录
* E:cd\: 退回到根目录
* F:cls : (clear screen)清屏
* G:exit : 退出dos命令行(分割线上的需要掌握,下的了解)
* /=========================================================
* md (make directory) : 创建目录
* rd (remove directory): 删除目录
* del (delete): 删除文件,删除一堆后缀名一样的文件*.txt
* notepad 创建文件
* 删除带内容的文件夹
* rd + /s 文件夹名称(询问是否删除)
* rd + /q + /s 文件夹名称(直接删除)
###01.07_Java语言基础(Java语言概述)(了解)
* A:Java语言发展史
* 詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。
* SUN(Stanford University Network,斯坦福大学网络公司)
* B:Java语言版本
* JDK 1.1.4 Sparkler 宝石 1997-09-12
* JDK 1.1.5 Pumpkin 南瓜 1997-12-13
* JDK 1.1.6 Abigail 阿比盖尔--女子名 1998-04-24
* JDK 1.1.7 Brutus 布鲁图--古罗马政治家和将军 1998-09-28
* JDK 1.1.8 Chelsea 切尔西--城市名 1999-04-08
* J2SE 1.2 Playground 运动场 1998-12-04
* J2SE 1.2.1 none 无 1999-03-30
* J2SE 1.2.2 Cricket 蟋蟀 1999-07-08
* J2SE 1.3 Kestrel 美洲红隼(sǔn) 2000-05-08
* J2SE 1.3.1 Ladybird 瓢虫 2001-05-17
* J2SE 1.4.0 Merlin 灰背隼 2002-02-13
* J2SE 1.4.1 grasshopper 蚱蜢 2002-09-16
* J2SE 1.4.2 Mantis 螳螂 2003-06-26
* JAVASE 5.0 (1.5.0) Tiger 老虎
* JAVASE 5.1 (1.5.1) Dragonfly 蜻蜓
* JAVASE 6.0 (1.6.0) Mustang 野马
* JAVASE 7.0 (1.7.0) Dolphin 海豚
* JAVASE 8.0 (1.8.0)
* JAVASE 9.0 (1.9.0)
* C:Java语言平台
* J2SE(Java 2 Platform Standard Edition)标准版
* 是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发
* J2ME(Java 2 Platform Micro Edition)小型版
* 是为开发电子消费产品和嵌入式设备提供的解决方案
* J2EE(Java 2 Platform Enterprise Edition)企业版
* 是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发
* C:Java语言特点
* 简单性
* 解释性
* 面向对象
* 高性能
* 分布式处理
* 多线程
* 健壮性
* 动态
* 结构中立
* 安全性
* 开源
* 跨平台
###01.08_Java语言基础(Java语言跨平台原理)(掌握)
* A:什么是跨平台性
* B:Java语言跨平台原理
* 只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
* C:Java语言跨平台图解
* write once ,run anywhere!(一处编译,到处运行)
###01.09_Java语言基础(JRE和JDK的概述)(掌握)
* A:什么是JRE
* 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
* JRE:JVM+类库。
* B:什么是JDK
* JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
* 其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等
* JDK:JRE+JAVA的开发工具。
* C:为什么JDK中包含一个JRE
* 为什么JDK中包含一个JRE呢?
* 开发完的程序,需要运行一下看看效果。
* D:JDK,JRE,JVM的作用和关系
###01.10_Java语言基础(JDK的下载和安装过程图解)(了解)
* A:JDK的下载
* a:官网 http://www.oracle.com
* b:演示下载流程
* B:JDK的安装
* a:傻瓜式安装
* 双击安装程序,然后一路next即可(但是不建议)
* b:安装的推荐方式
* 安装路径不要有中文或者特殊符号如空格等。
* 所有和开发相关的软件最好安装目录统一。
* 举例:我的JDK安装路径
* D:\develop\Java\jdk1.7.0_72
* 当提示安装JRE时,可以选择不安装。建议还是安装上。
* c:演示安装流程
* 可以先在d盘建立一个文件夹develop
* 然后演示安装过程
* C:验证安装是否成功
* a:通过DOS命令,切换到JDK安装的bin目录下。
* D:\develop\Java\jdk1.7.0_72\bin
* b:然后分别输入javac和java,如果正常显示一些内容,说明安装成功
###01.11_Java语言基础(JDK安装路径下的目录解释)(了解)
* a:bin目录:该目录用于存放一些可执行程序。
* 如javac.exe(java编译器)、java.exe(java运行工具),jar.exe(打包工具)和* javadoc.exe(文档生成工具)等。
* b:db目录:db目录是一个小型的数据库。
* 从JDK 6.0开始,Java中引用了一个新的成员JavaDB,这是一个纯Java实现、开源的数据库管理系统。这个数据库不仅轻便,而且支持JDBC 4.0所有的规范,在学习JDBC 时,不再需要额外地安装一个数据库软件,选择直接使用JavaDB即可。
* c:jre目录:"jre"是 Java Runtime Environment 的缩写,意为Java程序运行时环境。此目录是Java运行时环境的根目录,它包括Java虚拟机,运行时的类包,Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。
* d:include目录:由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。
* e:lib目录:lib是library的缩写,意为 Java 类库或库文件,是开发工具使用的归档包文件。
* f:src.zip文件:src.zip为src文件夹的压缩文件,src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。
###01.12_Java语言基础(Java开发工具介绍)(了解)
* A:notepad(微软操作系统自带)
* B:Editplus/Notepad++
* C:Eclipse
* D:MyEclipse
* E:IntelliJ IDEA
* 给大家简单的介绍一下这些工具,然后说说我们使用这些工具的顺序。
* 基础班:先notepad,然后Editplus,再Eclipse/IDEA.
* 就业班:MyEclipse和Eclipse都用。
###01.13_Java语言基础(HelloWorld案例的编写和运行)(掌握)
* A:定义类
* B:写main方法
* C:写输出语句
* D:Java程序开发运行与工作原理
* E:编译和运行程序
class HelloWorld { //定义类
public static void main(String[] args) { //定义main方法
System.out.println("HelloWorld"); //在DOS控制台输出"HelloWorld"语句
}
}
编译和运行程序在DOS控制台切换到java类目录下:
执行javac HelloWorld.java //编译HelloWorld源代码,正常情况下会在目录下生成一个同名称.class文件;若是报错就是程序源代码有问题需要修改。
执行 java HelloWorld //运行该java程序 会在DOS控制台输出"HelloWorld"语句
###01.14_Java语言基础(HelloWorld案例常见问题)(掌握)
* A:找不到文件(都演示一下,让学生看看出现的都是什么问题)
* a:文件扩展名隐藏导致编译失败
* b:文件名写错了
* B:单词拼写问题(都演示一下,让学生看看出现的都是什么问题)
* a:class写成Class
* b:String写成string
* c:System写成system
* d:main写成mian
* C:括号匹配问题(都演示一下,让学生看看出现的都是什么问题)
* a:把类体的那对大括号弄掉一个
* b:把方法体的那对大括号弄掉一个
* c:把输出语句的那对小括号弄掉一个
* D:中英文问题(都演示一下,让学生看看出现的都是什么问题)
* a:提示信息:错误: 非法字符: \????的格式
* 注意:java编程中需要的基本上都是英文字符
###01.15_Java语言基础(Java语言的书写格式(约定俗成)) (掌握)
* 1,大括号要对齐,并且成对写
* 2,左大括号前面有空格
* 3,遇到左大括号要缩进,Tab
* 4,方法和程序块之间加空行让程序看起来清晰
* 5,并排语句之间加空格,例如for语句
* 6,运算符两侧加空格
###01.16_Java语言基础(path环境变量的作用及配置方式1)(掌握)
* A:在JDK的bin目录下开发程序容易产生的问题
* a:如果文件过多,不方便管理
* b:删除自己写过的不需要的文件,可能不小心把JDK自带的工具给删除了
* B:如何解决问题呢
* notepad这样的命令为什么在任何路径下都能够执行,配置path环境变量
* C:配置方式
* a:xp系统
* 右键点击桌面计算机→选择属性→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→将jdk安装目录下的bin目录添加到最左边并添加分号。
* b:win7/win8系统
* 右键点击桌面计算机→选择属性→选择高级系统设置→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→ 将jdk安装目录下的bin目录添加到最左边并添加分号。
* c:win10系统
* 右键点击桌面计算机→选择属性→选择高级系统设置→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path→ 将jdk安装目录下的bin目录添加到最下方后面不要带分号。
* path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的可执行文件
###01.17_Java语言基础(Path环境变量的配置方式2)(掌握)
* A:先配置JAVA_HOME
* B:再修改path
* C:最后说一下path是有先后顺序关系的
###01.18_Java语言基础(classpath环境变量的作用及其配置)(了解)
* A:为什么要配置classpath
* B:classpath配置的原理
* C:如何配置classpath
* path和classpath的区别
* path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的可执行文件
* classpath配置的java的类文件,就是.class文件
###01.19_Java语言基础(Editplus开发程序并编译运行)(了解)
* A:配置快捷键编译运行
* B:去除备份文件
###01.20_Java语言基础(注释概述及其分类)(掌握)
* A:什么是注释
* B:注释的分类及讲解
* //两个斜杠表示单行注释,斜杠后面一行的内容都不会被jvm编译运行。
* /*段落注释,在这个符号之间的文本都不会编译*/
* 文档注释目前不讲,说后面讲解
* 注释的作用
* A:解释说明程序
* B:帮助我们调试错误
###01.21_Java语言基础(关键字的概述和使用)(掌握)
* A:什么是关键字
* 被Java语言赋予特定含义的单词
* B:关键字的特点
* 组成关键字的字母全部小写
* C:常见关键字
* public static void class等
* D:关键字的注意事项
* goto和const作为保留字存在,目前并不使用,类似Editplus这样的高级记事本,针对关键字有特殊的颜色标记,非常直观
###01.22_Java语言基础(标识符的概述和组成规则)(掌握)
* A:什么是标识符
* 就是给类,接口,方法,变量等起名字时使用的字符序列
* B:标识符的组成规则
* 英文大小写字母
* 数字字符
* $和_
* C:标识符注意事项
* 1,不能使用关键字
* 2,不能数字开头
###01.23_Java语言基础(标识符中常见的命名规则)(了解)
* 见名知意
* A:包
* 最好是域名倒过来,要求所有的字母小写
* B:类或者接口
* 如果是一个单词首字母大写
* 如果是多个单词每个单词首字母大写(驼峰标识)
* C:方法或者变量
* 如果是一个单词全部小写
* 如果是多个单词,从第二个单词首字母大写
* D:常量
* 如果是一个单词,所有字母大写
* 如果是多个单词,所有的单词大写,用下划线区分每个单词
</div>
<div>
###02.01_Java语言基础(常量的概述和使用)(掌握)
* A:什么是常量
* 常量使用final关键字标识,在程序执行的过程中其值不可以发生改变。
* B:Java中常量的分类
* 字面值常量
* 自定义常量(面向对象部分讲)
* C:字面值常量的分类
* 字符串常量 用双引号括起来的内容
* 整数常量 所有整数
* 小数常量 所有小数
* 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
* 布尔常量 较为特殊,只有true和false
* 空常量 null(数组部分讲解)
System.out.println("abc"); //字符串常量
System.out.println(123); //整数常量
System.out.println(12.3); //小数常量
//System.out.println('10'); //''中必须放的是单个字符,10代表的是1字符和0字符
//System.out.println(''); //''中什么也不放,也是不可以的,因为代表不了任何字符
System.out.println(' '); //带表空格字符
System.out.println(true); //boolean类只有两个值,true和false
System.out.println(false);
* D:案例演示
* 用输出语句输出各种常量。null不演示
###02.02_Java语言基础(进制概述和二,八,十六进制图解)(了解)
* A:什么是进制
* 进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
* 例如一周有七天,七进制,一年有十二个月,十二进制
* B:十进制的由来
* 十进制的由来是因为人类有十个手指
* C:二进制的由来
* 其实二进制来源与中国,请看史料记载
* 18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻yao- -和__阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。
* D:八进制的由来
* 任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。
* 所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。
* E:十六进制的由来
* 但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
* F:不同进制表现同一个数据的形式特点
* 进制越大,表现形式越短
###02.03_Java语言基础(不同进制数据的表现形式)(掌握)
* A:二进制的数据表现形式
* 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
* B:八进制的数据表现形式
* 由0,1,…7组成。以0开头
* C:十进制的数据表现形式
* 由0,1,…9组成。整数默认是十进制的
* D:十六进制的数据表现形式
* 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
* E:案例演示
* 输出不同进制表现100的数据。
* 0b100
* 0100
* 100
* 0x100
###02.04_Java语言基础(任意进制到十进制的转换图解)(了解)
* A:任意进制到十进制的转换原理
* 系数:就是每一位上的数据。
* 基数:X进制,基数就是X。
* 权:在右边,从0开始编号,对应位上的编号即为该位的权。
* 结果:把系数*基数的权次幂相加即可。
* B:画图练习
* 二进制--十进制
* 八进制--十进制
* 十六进制--十进制
###02.05_Java语言基础(十进制到任意进制的转换图解)(了解)
* A:十进制到任意进制的转换原理
* 除积倒取余
* B:画图练习
* 十进制--二进制
* 十进制--八进制
* 十进制--十六进制
###02.06_Java语言基础(快速的进制转换法)(了解)
* A:8421码及特点
* 8421码是*的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
* B:通过8421码的方式进行二进制和十进制的相互转换
* C:二进制到八进制的简易方式
* D:二进制到十六进制的简易方式
###02.07_Java语言基础(原码反码补码)(了解)
* A:为什么要学习原码反码补码?
* 后面要学习强制类型转换,如果不知道有原反补会看不懂结果
* 运算的时候都是以补码进行运算的
* B:有符号数据表示法的几种方式
* 原码
* 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
* 通过一个字节,也就是8个二进制位表示+7和-7
* 0(符号位) 0000111
* 1(符号位) 0000111
* 反码
* 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
* 补码
* 正数的补码与其原码相同;负数的补码是在其反码的末位加1。
###02.08_Java语言基础(原码反码补码的练习)(了解)
* A:已知原码求补码
* 0b10110100
* B:已知补码求原码
* 0b11101110
###02.09_Java语言基础(变量的概述及格式)(掌握)
* A:什么是变量
* 在程序执行的过程中,在某个范围内其值可以发生改变的量
* B:变量的定义格式
* 数据类型 变量名 = 变量值;
* C:为什么要定义变量
* 用来不断的存放同一类型的常量,并可以重复使用
###02.10_Java语言基础(数据类型的概述和分类)(掌握)
* A:为什么有数据类型
* Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
* B:Java中数据类型的分类
* 基本数据类型
* 引用数据类型
* 面向对象部分讲解
* C:基本数据类型分类(4类8种)
* 整数型
* byte 占一个字节 -128到127
* short 占两个字 -2^15~2^15-1
* int 占四个字节 -2^31~2^31-1
* long 占八个字节 -2^63~2^63-1
* 浮点型
* float 占四个字节 -3.403E38~3.403E38 单精度
* double 占八个字节-1.798E308~1.798E308 双精度
* 字符型
* char 占两个字节 0~65535 没有负数 表示字符
* 布尔型
* boolean
* boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
//整数类型
byte b = 10; //占一个字节,-128 到 127
short s = 20; //占两个字节
int i = 30; //占四个字节 整数默认的数据类型就是int类型
long x = 8888888888L; //占八个字节 如果long类型后面加L进行标识最好加大L,因为小l太像一了
System.out.println(b);
System.out.println(s);
System.out.println(i);
System.out.println(x);
//System.out.println(12345 + 54321l);
//浮点类型
float f = 12.3F; //占四个字节
double d = 33.4; //占八个字节 小数默认的数据类型是double,double类型后面也可以用D或d标识,但是一般不加
System.out.println(f);
System.out.println(d);
//字符类型
char c = 'a'; //占两个字节
System.out.println(c);
//布尔类型
boolean b1 = true;
boolean b2 = false;
System.out.println(b1);
System.out.println(b2);
###02.11_Java语言基础(定义不同数据类型的变量)(掌握)
* A:案例演示
* 定义不同基本数据类型的变量,并输出
* 赋值时候注意float类型,long类型
###02.12_Java语言基础(使用变量的注意事项)(掌握)
* A:案例演示
* a:作用域问题
* 同一个区域不能使用相同的变量名
* b:初始化值问题
* 局部变量在使用之前必须赋值
* c:一条语句可以定义几个变量
* int a,b,c...;
###02.13_Java语言基础(数据类型转换之隐式转换)(掌握)
* A:案例演示
* a:int + int
* b:byte + int
* B:Java中的默认转换规则
* 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
* C:画图解释byte+int类型的问题
###02.14_Java语言基础(数据类型转换之强制转换)(掌握)
* A:强制转换问题
* int a = 10;
* byte b = 20;
* b = a + b;
* B:强制转换的格式
* b = (byte)(a + b);
* C:强制转换的注意事项
* 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同
###02.15_Java语言基础(面试题之变量相加和常量相加的区别)(掌握)
* A:案例演示
* 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
* byte b1 = 3;
* byte b2 = 4;
* byte b3 = b1 + b2;
* 从两方面去回答这个题
* b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
* byte类型的变量在进行运算的时候,会自动类型提升为int类型
* byte b4 = 3 + 4;
* 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
###02.16_Java语言基础(long与float的取值范围谁大谁小)(了解)
* 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
* byte,short,char -- int -- long -- float -- double
* long: 8个字节
* float:4个字节
* IEEE754
* 4个字节是32个二进制位
* 1位是符号位
* 8位是指数位
* 00000000 11111111
* 0到255
* 1到254
* -126到127
* 23位是尾数位
* 每个指数位减去127
* A:它们底层的存储结构不同。
* B:float表示的数据范围比long的范围要大
* long:2^63-1
* float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
###02.17_Java语言基础(字符和字符串参与运算)(掌握)
* A:案例演示
* System.out.println('a');
* System.out.println('a'+1);
* 通过看结果知道'a'的值是多少,由此引出ASCII码表
* B:ASCII码表的概述
* 记住三个值:
* '0' 48
* 'A' 65
* 'a' 97
* C:案例演示
* System.out.println("hello"+'a'+1);
* System.out.println('a'+1+"hello");
* D:+在有字符串参与中被称为字符串连接符
* System.out.println("5+5="+5+5);
* System.out.println(5+5+"=5+5");
###02.18_Java语言基础(char数据类型)(掌握)
* A:char c = 97; 0到65535
* B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
* 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
* 所以,Java中的字符可以存储一个中文汉字
###02.19_Java语言基础(算术运算符的基本用法)(掌握)
* A:什么是运算符
* 就是对常量和变量进行操作的符号。
* B:运算符的分类
* 算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
* C:算数运算符有哪些
* +,-,*,/,%,++,--
* D:注意事项:
* a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
* b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
* c:/获取的是除法操作的商,%获取的是除法操作的余数
* %运算符
* 当左边的绝对值小于右边绝对值时,结果是左边
* 当左边的绝对值等于右边或是右边的倍数时,结果是0
* 当左边的绝对值大于右边绝对值时,结果是余数
* %运算符结果的符号只和左边有关系,与右边无关
* 任何一个正整数%2结果不是0就是1可以用来当作切换条件
###02.20_Java语言基础(算术运算符++和--的用法)(掌握)
* A:++,--运算符的作用
* 自加(++)自减(--)运算
* ++:自加。对原有的数据进行+1
* --:自减。对原有的数据进行-1
* B:案例演示
* a:单独使用:
* 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
* b:参与运算使用:
* 放在操作数的前面,先自增或者自减,然后再参与运算。
* 放在操作数的后面,先参与运算,再自增或者自减。
###02.21_Java语言基础(算术运算符++和--的练习)(掌握)
* A:案例演示
* 请分别计算出a,b,c的值?
*
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
* B:案例演示
* 请分别计算出x,y的值?
int x = 4;
int y = (x++)+(++x)+(x*10);
* C:面试题
* byte b = 10;
* b++;
* b = b + 1;
* 问哪句会报错,为什么
###02.22_Java语言基础(赋值运算符的基本用法)(掌握)
* A:赋值运算符有哪些
* a:基本的赋值运算符:=
* 把=右边的数据赋值给左边。
* b:扩展的赋值运算符:+=,-=,*=,/=,%=
* += 把左边和右边做加法,然后赋值给左边。
###02.23_Java语言基础(赋值运算符的面试题)(掌握)
* A:案例演示
* 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
* short s=1;s = s+1; 需要强制类型转换
* short s=1;s+=1;
###02.24_Java语言基础(关系运算符的基本用法及其注意事项)(掌握)
* A:关系运算符有哪些(比较运算符,条件运算符)
* ==,!=,>,>=,<,<=
* 注意事项:
* 无论你的操作是简单还是复杂,结果是boolean类型。
* "=="不能写成"="。
</div>