一、JAVA应用领域
1.1企业级应用
主要指复杂的大企业的软件系统、各种类型的网站。应用领域包括金融、电信、交通、电子商务等。
1.2Android平台应用
Android 应用程序使用 Java 语言编写。Android 开发水平的高低很大程度上取决于 Java 语言核心能力是否扎实。
1.3移动领域应用
主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括机顶盒、车载的大屏影音娱乐设备、汽车通信设备、扫码的 POS 机等。
二、JAVA概述
2.1程序
计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
2.2写一个1+1的程序
//完成1+1
public class Test{
public static void main(String[] args){
int res = 1+1;
System.out.println("结果是:"+res);
}
}
2.3JAVA诞生小故事
用JAVA8或者JAVA11
2.4Java技术体系平台
2.5Java重要特点
1.Java语言是面向对象的(opp)
2.Java语言是健壮的Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证
3.Java 语言是跨平台性的。即: 一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台。
4.Java语言是解释型的
解释性语言:javascript,PHP, java 编译性语言: c / c++
区别是:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行, 编译性语言, 编译后的代码, 可以直接被机器执行, c /c++
2.6工具选择
我们先选择用文本编辑器本 sublime,到大家对 java 有一定了解后,我们再使用 IDEA 和 Eclipse 开发工具。
2.7Java运行机制及运行过程
Java语言的特点:跨平台性
2.8Java 核心机制-Java 虚拟机 [JVM java virtual machine]
基本介绍
- JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在
JDK 中. - 对于不同的平台,有不同的虚拟机。
- Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
编译:javac Test.java
运行:java Test
2.9什么是JDK,JRE
2.10Java快速入门
//这是Java的快速入门
//1.public class Hello 表示Hello是一个类,是一个public公有的类
//2.Hello{} 表示一个类的开始和结束
//3.public static void main(String[] args)表示一个主方法,即我们程序的入口
//4.main(){}表示方法的开始和结束
//5.System.out.println("hello,World~"); 输出"hello,World~"到屏幕
//6.;表示语句结束
public class Hello{
//编写一个main方法,程序执行的入口
public static void main(String[] args){
System.out.println("hello,World~");
}
}
对于修改过后的test.java文件,要重新编译test.java文件,生成一个新的test.class文件来运行。
2.11 Java开发注意事项和细节说明
- 编译后,每一个类都对应一个.class文件
- 文件名必须和公共类的名字相一致
2.12如何快速学习知识点
2.13 Java转义字符
2.13.1 Java常用的转义字符
在控制台,输入TAB键,可以实现命令补全
- \t: 一个制表位,实现对齐的功能
- \n: 换行符
- \: 一个\
- “:一个”
- ‘:一个’
- \r:一个回车
public class ChangeChar{
public static void main(String[] args){
System.out.println("北京\t天津\t上海");
System.out.println("jack\nsmith\nmarry");
// \\--->代表输出一个\
// \\\\--->代表输出两个\\
System.out.println("hello\\");
// \"---->代表输出一个"
System.out.println("老韩说\"要好好学习JAVA\"");
// \r--->代表一个回车
System.out.println("韩顺平教育\r\n北京"); // 应输出为北京平教育
}
}
课堂练习:要求:请使用一句输出语句,达到输入如下图形的效果
public class practice{
public static void main(String[] args){
System.out.println("书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t1000");
}
}
2.14 初学java易犯错误
1.找不到文件
解决方法:源文件名不存在或者写错,或者当前路径错误。
2.主类名与文件名不一致
解决方法:声明为public的主类应当与文件名一致,否则编译失败。
3.缺少分号
2.15 注释(comment)
2.15.1 介绍:
用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性);注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。
2.15.2 Java中的注释类型
- 单行注释 //
- 多行注释 /* */
- 文档注释 /** */
2.15.3 使用细节
- 被注释的文字,不会被JVM解释执行。
- 多行注释里面不允许有多行注释嵌套。
2.15.4 文档注释:
2.15.5 代码演示
//文档注释
/**
* @author 小明
* @version 1.0
*/
public class Comment02{
//编写一个main方法
public static void main(String[] args){
System.out.println("hhhh...");
}
}
2.16 Java代码规范
2.17 DOS命令(了解)
2.17.1 DOS介绍
Dos: Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构。
2.17.2 相对路径和绝对路径
相对路径:从当前目录开始定位,形成一个路径。
绝对路径:从顶级目录d开始定位,形成的路径。
2.17.3 常用的DOS命令
-
查看当前目录有什么内容
dir -
切换到其他盘下:盘符号 cd: change directory
案例演示:切换到c盘 cd /D c: -
切换到当前盘的其他目录下(使用相对路径和绝对路径演示),…\表示上一级目录
案例演示:cd d:\abc2\test200 or cd …\abc2\test200 -
切换到上一级
案例演示: cd… -
切换到根目录:cd \
-
查看指定的目录下所有的子集目录 tree
-
清屏 cls
-
退出 DOS exit
-
说明:md:创建文件
rd:删除文件
copy:拷贝文件
del:删除文件
echo:输入内容到文件
move:剪切 
第三章 变量
3.1 变量的介绍
3.2.1 概念
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
3.2.2 变量声明的基本步骤
- 声明变量
int a; - 赋值
a = 60;
3.3 变量快速入门
public class Var02 {
//编写一个 main 方法
public static void main(String[] args) {
//记录人的信息int age = 30;
double score = 88.9; char gender = ' 男 '; String name = "king";
//输出信息, 快捷键
System.out.println("人的信息如下:"); System.out.println(name); System.out.println(age); System.out.println(score); System.out.println(gender);
3.4 变量使用注意事项
3.5 程序中+号的使用
public class var04{
public static void main(String[] args){
System.out.println("hello" + 100 + 3);
}
}
输出结果为:hello1003
3.6 数据类型
每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。
3.7 整数类型
3.7.1 基本介绍
Java的整数类型就是用于存放整数值的,比如13,30,3456等等
3.7.2 整型类型
3.8 浮点类型
3.8.1 基本介绍
Java 的浮点类型可以表示一个小数,比如 123.4 ,7.8 ,0.12 等等
3.8.2 浮点型的分类
3.8.3 说明
- 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位
- 尾数部分可能丢失,造成精度损失(小数都是近似值)。
3.8.4 浮点型使用细节 FloatDetail.java
Java的浮点型常量默认为double,声明float时,需加’f’或者’F’
public class FloatDetail {
//编写一个 main 方法
public static void main(String[] args) {
//Java 的浮点型常量(具体值)默认为 double 型,声明 float 型常量,须后加‘f’或‘F'
//float num1 = 1.1; //对不对?错误float num2 = 1.1F; //对的
double num3 = 1.1; //对double num4 = 1.1f; //对
//十进制数形式:如:5.12 512.0f .512 (必须有小数点) double num5 = .123; //等价 0.123
System.out.println(num5);
//科学计数法形式:如:5.12e2 [5.12 * 10 的 2 次方 ] 5.12E-2 [] System.out.println(5.12e2);//512.0
System.out.println(5.12E-2);//0.0512
//通常情况下,应该使用 double 型,因为它比 float 型更精确。
//[举例说明]double num9 = 2.1234567851;float num10 = 2.1234567851F; double num9 = 2.1234567851;
float num10 = 2.1234567851F; System.out.println(num9); System.out.println(num10);
//浮点数使用陷阱: 2.7 和 8.1 / 3 比较
//看看一段代码double num11 = 2.7;
double num12 = 2.7; //8.1 / 3; //2.7 System.out.println(num11);//2.7
System.out.println(num12);//接近 2.7 的一个小数,而不是 2.7
//得到一个重要的使用点: 当我们对运算结果是小数的进行相等判断是,要小心
//应该是以两个数的差值的绝对值,在某个精度范围类判断if( num11 == num12) {
System.out.println("num11 == num12 相等");
}
//正确的写法 , ctrl + / 注释快捷键, 再次输入就取消注释
if(Math.abs(num11 - num12) < 0.000001 ) {
System.out.println("差值非常小,到我的规定精度,认为相等...");
3.9 Java API文档
3.10 字符类型
3.10.1 基本介绍
4.9关键字
定义:被Java语言赋予了特殊含义,用于专门用途的字符串(单词)。
特点:关键字中所有字母都为小写。
4.12 进制(程序员的基本功)
4.12.1 进制介绍
对于整数,有四种表示方式:
1.二进制:0,1,满2进1,以0b或0B开头
2.十进制:0-9,满10进1
3.八进制:0-7,满8进1,以数字0开头
4.十六进制:0-9及A(10)-F(15),满16进1,以0x或者0X开头表示,此处的A-F不区分大小写
4.12.2 二进制转八进制
规则:从低位开始,将二进制每三位一组,转成对应的八进制数即可。
0b11010101转成八进制为:0325(8)
4.12.3 二进制转换十六进制
规则:从低位开始,将二进制每四位一组,转成对应的十六进制即可。
0b1110010110—>0x396(16)
4.12.4 八进制转成二进制
规则:将八进制数的每一位转成对应的一个三位二进制数即可
0237(8)—>0b10011111
4.12.5 十六进制转成二进制
规则:将十六进制的每一位转成对应的一个四位二进制数即可
0x23B = 0b0010 0011 1011
0xAB29 = 0B1010 1011 0010 1001
4.13 原码、反码、补码
对于有符号数而言:
- 二进制的最高位为符号位:0表示正数,1表示负数
- 正数的原码、反码、补码都一样
- 负数的反码为最高位符号位不变,其余位取反(0->1,1->0)
- 负数的补码=它的反码+1,负数的反码 = 负数的补码-1
- 0的反码,补码都是0
- Java中的数都是有符号数
- 在计算机运算的过程中,都是以补码的方式来进行运算的
- 当我们看运算结果的时候,是看其原码
4 .14 位运算符
三种位运算符>>, <<和>>>,运算规则为:
1.算术右移>>:降低溢出,符号位不变,并用符号位补溢出的高位
2.算数左移<<:符号位不变,低位补0
3.>>> 逻辑右移也叫无符号右移,运算规则为:低位溢出,高位补0
4.没有<<<符号
—很重要—
首先把各个数转变成补码,然后对其进行相关操作后,再转换成原码显示在输出台上。*
输出显示是原码,计算机内部运算要用补码运算
作业:将String转换成double类型的语句,以及将char类型转换成String的语句,举例说明即可
package program0921;
public class Chapter04 {
public static void main(String[] args) {
//写出将String转换成double类型的语句
String str1 = "123.5";
double num1 = Double.parseDouble(str1);
System.out.println(num1);
char ch1 = 'h';
String str2 = ch1 + "";
}
}
4.15 switch注意事项和细节讨论
- 表达式数据类型,应该和case后的常量类型一致,或者是可以自动转换成可以相互比较的类型,比如输入的是字符,而常量是int
- switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum【枚举】,String)
- case子句中的值必须是常量,而不能是变量。
- defalut子句是可选的,当没有匹配的case时,执行default
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有写break,程序会顺序执行到switch结尾。