文章目录
概述
Java语言的主要特点
- 多线程 (可以同时调用多个进程)
- 分布式(系统)(多个服务器支持,功能模块化)
- 跨平台(由于JVM的应用)
- 安全性
- 面向对象
.java的文件可以通过编译器生成.class后缀的字节码,字节码可以在不同操作系统的虚拟机上运行。
java中的名词介绍
- JVM(Java Vitual Machine) Java虚拟机
- JRE(Java Runtime Environment)Java运行时环境
- JDK (Java Development Kit)Java开发工具包
- Java SE(Standerd Edition) 桌面应用开发
- Java EE(Enterprise Edition) 企业应用开发
- Java ME(Micro Edition) 微小型开发
- Android 开发
三种名词之间的(包含)关系:
[cmd]命令
java -vertion 显示版本
javac 帮助文档
javadoc 显示各种命令
1.编译 “javac (绝对路径)” ——>得到.class文件
2.读取字节码文件 “java 文件名” ——>即可运行
文件类型
bin文件夹存放可执行文件
include文件夹放头文件
lib .jar 第三方函数库
src.zip java源代码
编码
输入,输出
System.out表示标准的输出设备
System.out.println(); //换行
System.out.print(); //不换行
System.out.printf();//要求特定格式输出(可以应用在强制转换中)
System.in表示标准的输入设备;需要用到Scanner的对象来读取来自该设备的输入。
Scanner类包含在java.util中。
import java.util.Scanner;
public class Demo{
public static void main(String arg[]){
Scanner input = new Scanner(System.in);
double radius=input.nextDouble();
//String nextLine()
//boolean nextBoolean()
//short nextShort()
//int nextInt()
//long nextLong()
//double nextDouble()
}
}
标识符
只能以字母‘_’和‘$’开头。
类和接口名。每个单词首字母大写。
方法名。首字母小写,其余单词首字母大写,含大小写。
常量名。基本数据类型的常量名使用全部大写字母,单词与单词之间下滑线分割。
变量名。可以大小写混写,首字符小写,不用下划线。
数据类型
- 基本数据类型
整数类型 byte short int long
浮点类型 double float
字符类型 char
布尔类型 boolean - 引用数据类型
类,接口,数组,枚举
//变量初始化时,含小数点的数被默认为double类型,因此将类型强制转换。
float num = 10.0f;
float num = (float)10.0;
float num = 10;//将int型转换为float
char类型是两个字节的无符号类型(也是唯一的无符号类型)
关键字final
final int N;//不能在被改变的常量
运算符和表达式
分支语句与循环语句
循环语句:
- for循环
- while循环
- do……while循环
- 增强型for循环
分支语句:
- if … else…
- switch … case …
增强型for循环
for ( 类型 变量名: 数组或集合 ) {
循环体
}
int arr[5]={1,2,3,4,5};
for(int i:arr[]){
System.out.print(i);
//结果是12345
}
数组
一维数组
数组的声明
char[] arr;//推荐使用这种,便于直接看出类型
char arr[];
数组的初始化
未初始化的值不能使用
// 静态初始化
int[] a={1,2,3,4};
int a[4]={1,2,3,4};
// 动态初始化
int series[] = new int[4];
数组的数组
数组的声明
int[][] arrays;
int [] arrays[];
int arrays[][];
数组的初始化
// 静态初始化
int number[ ] [ ] = { {1,2},{3,4},{5,6}};
char ch[ ] [ ] = { {'a', 'b'},{'c', 'd'},{'e', 'f'}};
// 动态初始化
int arrays[][] = new int[2][3];
String[ ][ ] names = new String[3][4];
Arr类的常用方法
//copyOf 实现数组的复制
copyOf(int[] a,int newLenths);
//fill 实现数组元素的初始化
fill(int[] a,int val);
//sort 实现数组的排序
sort(int[] a);
//binarySearch 实现排序后的数组元素查找
binarySearch(int[] a,int key);
类和对象
类:通常即包含成员属性和成员方法的抽象数据类型。(抽象化)
对象:按照类类型创建的实例(实例化)
类是对象的抽象,对象是类的实例。
面向对象
将数据及其操作封装为类,以类的对象作为程序的基本元素,通过向对象发送消息,从而调用相应方法完成各种功能。
类的特点
- 封装(面向对象程序设计语言实现信息隐藏(private的方法公用的(public)
- 继承(继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。)
- 多态(同一操作作用于不同的类的对象,将产生不同的执行结果 。)
封装
- 就是将属性(数据)和处理这些属性(数据)的行为(方法)结合起来,仅对外公开接口以达到信息隐藏的目的。
封装的优势 - 封装是面向对象程序设计语言实现信息隐藏的方法。
- 封装隐藏了具体的实现细节,使某些成员设为私有从而提高了安全性和可靠性。
封装的实现:通过访问修饰符来实现信息隐藏
- 一般将成员属性使用private修饰
- 定义用来访问成员属性的方法,并使用public修饰
继承
- 在软件开发中,若已有类A,要创建类B,而类A和类B属性和行为基本相同,则只需在A的基础上增加些新的内容即可。
继承的优势 - 提高了代码的重用率,提高了编程效率。
多态
- 多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。
- 在面向对象理论中,多态性的定义是:同一操作作用于不同的类的对象,将产生不同的执行结果 。
多态的优势 - 增强了程序的灵活性