1,软件:一系列按照特定顺序组织的数据和指令的集合。java
软件 = 指令+数据数组
2,软件开发的过程:安全
1.明确需求:就是肯定要作什么东西; 好比说作个电子商务网站;jvm
2.肯定怎么作;函数
3.具体编码;工具
4.测试;开发工具
专业术语:测试
明确业务需求》整理逻辑》完成项目》测试》上线》维护+二次开发网站
3,人机交互的方式:编码
4,Java语言的平台介绍:
Java5.0版本后,改名为 : JAVAEE JAVASE JAVAME
5,Java语言的特色:
6,Java语言是如何实现跨平台的?(“一次编写,到处运行”)
JAVA 能够实现可移植性的缘由,主要在操做系统上(WINDOWS、Linux、MAC X) 植入 JVM(Java 虚拟机),JAVA 程序就具备可移植性。
7,JDK,JRE,JVM 的做用及关系
JVM (Java Virtual Machine):
是指Java虚拟机,它是整个java实现跨平台的最核心的部分,全部的java程序 会首先被编译为.class的类文件,这种类文件能够在虚拟机上执行;
JRE (java runtime environment):
是指java运行时环境,光有JVM还不能完成class的执行,由于在解释class的 时候 JVM须要调用解释所须要的类库lib,而jvm和 lib和起来就称为jre。
JDK (java development kit JDK):
是指java开发工具包,JDK包含JRE,而JRE包含JVM。
总的来讲JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功 能。(JDK -----> JRE -----> JVM)
8,环境变量配置
方法一:
在系统变量path变量值后英文分号处添加jdk工具包路径,
如C:\Program Files\Java\jdk1.8.0_172\bin
方法二:
在系统变量下新建系统变量,如:
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_172\bin
以后在path变量值末尾分号处加入%JAVA_HOME%;
9,Java关键字特色:
关键字所有都是小写;关键字的用法和写法都是固定的。
10,标识符命名规则:
a,能够由大小写字母、数字、下划线(_)、美圆符号($)组成
b,数字不能开头
c,关键字不能使用
d,严格区分大小写
11,Java中的注释写法:
单行注释: // 被注释的内容,直到这一行结束
多行注释: /* 注释文字 */
文档注释: /** 注释文字 */ (可被javadoc工具提取出来,生成一个帮助文档)
12,常量的命名规则:
必须由大写字母组成,若是由多个单词则单词之间用下划线“_”分割;
常量定义语法格式:
final 常量类型 常量标识符 = 常量值 ;
例如:final int WEEK=7;
13,Java中的基本数据类型:
整数型:
byte:一个字节;-128 ~ 127; 字节 8bit
short:两个字节:-2^15 ~ 2^15-1; 短整型 16bit
int:四个字节:-2^31 ~ 2^31-1; 整型 32bit
long:八个字节:-2^63 ~ 2^63-1; 长整型 64bit
在Java中,整数默认都是int型的;
浮点型:
float:四个字节; -2^127 ~ 2^127;
double:八个字节; -2^1023 ~ 2^1023;
在Java中,浮点数默认都是double型的;
字符型(char):
两个字节; 0 ~65535;
必须使用英文的单引号,并且只能修饰一个字符
布尔型(boolean):
true false;
14,变量的使用注意事项:
1,变量都有使用范围:变量的使用范围在一对{ }中间;
2,变量使用前,都要赋值;
3,给变量赋值,须要和变量的数据类型一致
15,Java数据类型转换:
自动类型转换(隐式类型转换):
将取值范围小的类型的数据,往取值范围大的类型的变量中放,能够直接放进 去,不会损失精度。
强制类型转换(显式类型转换):
将取值范围大的类型的数据,往取值范围小的类型的变量中放,有可能放不进 去,会出现精度损失
若是必须往里面放,就须要使用一种方法:
小的范围的数据类型 变量名=(小的范围的数据类型)变量名;
注意点:
Java中整数默认都是int的:
要声明一个long类型的常量,须要在数字后面加上字母:L(大小写均可以)
Java中浮点数默认都是double的:
要声明一个float类型的常量,须要在数字后面加上字母:F(大小写均可以)
16,三元运算符:
变量名 = 布尔表达式 ? 表达式一 : 表达式二
17,获取输入信息:
Import java.util.Scanner;
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
方法 功能
.next() 读取一个字符串,字符串遇到空格就终止
.nextByte() 读取byte类型的整数
.nextShort() 读取short类型的整数
.nextInt() 读取int类型的整数
.nextLong() 读取long类型的整数
.nextFloat() 读取float类型的整数
.nextDouble() 读取double类型的整数
18,Java中程序流程的种类
顺序流程:是程序的默认流程,不须要什么控制,只要写了,就会按照书写代 码顺序执行;
选择流程:须要书写一些控制语句,主要有两种:判断语句,选择语句;
重复流程:须要书写循环控制语句。
重复流程关键字:
break:结束当前所在语句,用于switch和循环语句中;在嵌套循环中,默认结 束离它最近的这个循环。
continue:表示结束本次循环,继续下一次循环;不会影响循环次数;
19,函数重载的概念
概念:在同一个类中,能够定义多个名称相同、参数列表不一样的函数,这种情 况就叫作函数的重载。函数的重载,只和函数名以及参数列表有关系,和函数 的返回值类型无关。
20,数组的格式:
第一种:
数据类型[] 数组名 = new数据类型[数组的容量];
数据类型 数组名[] = new数据类型[数组的容量];
第二种:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,……};
简写形式:
数据类型[] 数组名 = {元素1,元素2,……};
常见异常:
ArrayIndexOutOfBoundsException(数组下标越界异常)
NullPointerException(空指针异常)
21,面向过程和面向对象的区别
一、关注点不一样:
面向过程:关心的是事件中的每一步功能怎么作;
面向对象:关心的是事件中的每一步功能有没有什么对象已经实现好了,而后直接 拿来使用
二、效率不一样:
面向过程:由于本身要参与每一步的实现,因此效率比较慢;
面向对象:由于大多数都是调用别人已经实现好的功能,因此效率比较高
三、开发质量:
面向过程:由于是本身一步步实现的,大多数状况会有地方会出问题;
面向对象:由于大多数都是调用别人写好的功能,而这些功能通常都通过大量 的验证,质量有保证
四、使用范围不一样:
面向过程:适合解决需求简单的问题;
面向对象:更适合解决复杂的需求;
注意点:面向对象是基于面向过程的