一、
1.java语言是跨平台性的;是面向对象的;是健壮的;是解释性语言。
2.java的开发工具:sublime Text; Eclipse;IDEA;editplus;notepad++;
3.jdk(java开发工具包)=jre+java开发工具(javac,javadoc,javap);
jre(java运行环境)=JVM+JAVA核心类库
如果想要运行一个开发好了的Java程序,计算机中只需要安装JRE即可。
编译过程: test.java(源文件)---->编译.javac----->test.class(字节码文件)----->运行java(在jvm上)---->结果。
有了jvm实现了java的跨平台性。
4.java开发细节:程序入口是main方法;严格区分大小写;由一条一条语句构成,分号结束; 一个源文件只能有一个public类;大括号都是成对出现,缺一不可。
5.转义字符: \t 制表位,实现对齐功能;\n 换行;\r 一个回车。
6.注释:提高代码可读性;被注释的文字不会被jvm机执行。
//单行注释
/* 注释文字 */多行注释
/** * **/ 文档注释
7.代码规范:类、方法的注释,要以javadoc的方式来写;源文件要用UTF-8。
8.Dos(磁盘操作系统)原理:
常用的Dos命令:dir 查看当前目录; cd 切换到其他盘下;cd.. 返回上一级 ; 切换到根目录 cd\
tree查看目录下的所有结构(目录树);exit 退出Dos ;md 创建目录; rd 删除目录;copy拷贝文件;del 删除文件。
9.路径详解:
二、
1.变量:程序的基本组成单位 ;变量=(类型+名称+值)。
变量的基本原理:
2.变量的概念:相当于内存中一个数据存储空间的表示。
变量的使用步骤:声明变量、赋值、输出。
3.程序中+号的使用:当左右两边是数值型的时候,做加法运算;当左右两边有一方为字符串,做拼接运算; 运算顺序是从左到右。
4.数据类型:每一种数据类型都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。
//基本数据类型:short;int;long;byte;double;float;char;;boolean; //引用数据类型: 类class ;接口interface;数组[]
long n1=1l;
5.整数类型:
6.浮点类型:java浮点类型可以表示一个小数。
7.Java API 文档:是java提供的基本编程接口;中文在线文档 :
https://www.matools.com java语言提供了大量的基础类,因此,Oracle公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里面包含的方法。
8. 字符类型:可以表示单个字符,char是两个字节(可以存放汉字),多个字符用字符串String。
9. ASCLL码:有128个字符编码,不能表示所有字符。
10. Boolean类型:只允许取值true和false.不可以用0或非0代替true和false。
11. 基本数据类型转换:精度小的类型可以自动转换为精度大的数据类型,这就是自动类型转换。
//int a='c';对 //double d=80;对 int n2=1.1;错
12.自动类型转换细节:有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
int n1=10 //ok
float d1=n1+1.1 //错
-
当我们把精度大的数据类型给精度小的,就会报错。
-
byte,short和char之间不能进行自动类型转换。
-
boolean类型不参与自动类型转换。
-
自动提升原则:表达式结果类型自动提升为操作数中最大的类型。
-
强制类型转换:自动类型转换的逆过程,大的转为小的,在转换是要加(),只对最近的操作数有效,会造成精度的损失。
13.基本类型转String类型:将基本类型的值+" "即可; String类型转基本数据类型: 通过基本类型的包装类调用parseXX方法即可。
14.运算符
-
算数运算符:+、-、*、/、正号、负号、%、++、--
-
关系运算符: == 、!=、<、>、<=、>= 关系运算符的结果都是boolean型。
-
逻辑运算符:
-
赋值运算符:+=、-=、/=、%= 运算符特点:复合赋值运算符会进行类型转换。
-
三元运算符:条件表达式?表达式1:表达式2 运算规则:如果为真,运算后的结果为表达式1,如果为假,表达式的结果为表达式2。 三元运算符可以转换为(if else)语句
-
运算符优先级:() {} > 单目运算符> 算数运算符>位移运算符> 比较运算符> 逻辑运算符> 三元运算符 。 只有单目、赋值运算符是从右向左运算。
15. 标识符的命名规则和规范:
-
不可以使用关键字和保留字
-
由26个英文字母和0-9,$组成。
-
数字不可以开头
-
java严格区分大小写
-
标识符中不能包含空格
-
包名:由多个单词组成时所有字母小写
-
类名、接口名所有单词首字母大写
-
常量名所有字母大写,多单词是用下划线
16. 关键字:
17. 键盘输入语句:
Scanner myscanner=new Scanner(System.in)
三、 控制结构
-
顺序控制
-
分支控制
-
循环控制
1.顺序控制是从上到下的执行,中间没有任何判断和跳转。
2.分支控制 if else
3.嵌套分支:不要超过三层
4.switch分支结构: 表达式数据类型,应该和case后的常量类型一致。default是可选的。
5. for循环控制:
6.while循环 :返回条件是boolean表达式
7.do while循环 :先执行,再判断,至少执行一次
8.多重循环(重点):
-
经典的打印金字塔
9.跳转控制语句:break , contiune(结束本次循环,继续下次循环) ,return(跳出所在方法).
四、 数组:可以存放多个同一类型的数据,数组也是数据类型,是引用类型。
1. 定义数组:double [ ] hens={3,5,20,50};
2.用循环遍历数组:可以通过(数组名.length)得到数组的大小
3.数组的使用:
4.数组使用细节:数组是多个相同类型数据的组合,实现对这些数据的统一管理。
5.数组中的元素可以是任何数据类型,但是不能混用。
6.数组创建后,如果没有赋值,有默认值。
7.数组下标是从0开始。
8.数组的下标必须在指定的范围内,否则会报下标越界异常。
9.数组型数据本质是对象。
10.基本数据类型的赋值,赋值方式是值拷贝。 数组在默认情况下是引用传递,赋值方式为引用赋值,是一个地址。
11.数组拷贝:
12.数组翻转:
13.数组添加:
14. 排序: 内部排序,外部排序。
-
冒泡排序法:一共5个元素,一共进行了4轮排序,可以看成外层循环,每一轮排序可以确定一个数的位置,当进行比较时,如果前面的数大于后面的数,就交换。
第1轮
24
69
57
13
80
第2轮
24
57
13
69
80
第3轮
24
13
57
69
80
第4轮
13
24
57
69
80