Java(概略篇)
准备
- 下载并安装Java jdk 和 编辑器(eclipse或Netbeans)
- 配置环境变量
- 第一个程序
public class test{ public static void main(String[] args){ System.out.println("Hello World!"); } }
4. java源程序与编译型运行区
编译型源程序——编译连接——可执行程序exe——执行——操作系统——裸机
Java源程序——编译——字节码程序——解释执行——解释器——操作系统——裸机
基础
一、数据类型
1.命名规范:
- 所有的标识符都应该以字母(A~Z\a~z)、美元符号$、下划线_ 开始,首字母之后可以是字母、$、下划线_ 以及数字。
- 标识符对大小写敏感,且不能用关键字
- 类名:首字母应该大写,若有多个单词,则每个单词首字母都应大写。举例MyFunction
- 方法名:所有方法名都应该以小写字母开头。若有多个单词,则后面每个单词首字母都应大写。
2.基本数据类型:
byte、short、int、long、float、double、boolean、char
数据类型 | 数据类型符号 | 位数 | 最小值 | 最大值 | 默认值 | 举例 |
字节型 | byte | 8 | -2^7 | 2^7-1 | 0 | byte a=100; |
短整型 | short | 16 | -2^15 | 2^15-1 | 0 | short b=1000; |
整型 | int | 32 | -2^31 | 2^31-1 | 0 | int c=100000; |
长整型 | long | 64 | -2^63 | 2^63-1 | 0L | long d=100000L; |
单精度小数 | float | 32 | 0.0f | float f=234.5f; | ||
双精度小数 | double | 64 | 0.0d | double d=123.4; | ||
布尔类型 | boolean | 1 | false | boolean flag=true; | ||
字符型 | char | 16 | \u0000 | \uffff | char e=’A’; |
自动转换类型:由低精度向高精度转换,不会损失精度,自动进行。
强制转换类型:由高精度向低精度转换,会损失精度,例如int a=(int)23.7。
3.String类型:
String str = "Hello World!";
4.数组。
二、运算符及其他
三、控制结构和语句
1.顺序
2.选择
if……else if语句
if(布尔表达式){ //代码语句 }else if(布尔表达式){ //代码语句 }
switch语句
switch(){ case value1: //代码语句 break; case value2: //代码语句 break; default: //代码语句 }
3.循环
while循环和do……while循环
while(布尔表达式){ //循环内容 } do{ //循环内容 }while(布尔表达式);
for循环和Java增强for循环
for(初始化; 布尔表达式; 更新){ //代码语句 } for(申明语句:表达式){ //代码语句 } int[] numbers = {10,20,30,40,50,60}; for(int x:numbers){//循环输出numbers数组 System.out.println(x); }
*排序算法
四、函数(方法)
有参、无参、有返回、无返回
static int result1(int a,int b){//有参有返回 return a+b; } static void result2(){//无参无返回 System.out.println("Hello World!"); }
五、对象和类
1. 类是一个模板,描述一些对象的属性和行为;
对象是类的一个实例,拥有类的共同特征。
2. 变量范围:
局部变量:在方法、构造方法或者语句块中定义的变量称为局部变量。变量申明和初始化都是在方法中,方法结束后,变量自动销毁。
成员变量:成员变量是定义在勒种,方法体外的变量。
类变量:类变量也申明在类中,方法体外,但必须申明为static类型。
3.构造方法
public class People{ public People(){//构造方法 System.out.println("How are you"); } }
六、修饰符
访问修饰符
修饰符 | 当前类 | 同一包内 | 子孙类 | 其他包 |
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
default | Y | Y | N | N |
private | Y | N | N | N |
非访问修饰符
static:静态变量和静态方法
final:final类不能被继承,没有类能够继承finale类的任何特性
abstract:抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充,抽象方法不能声明成final和static。
synchronized:该关键字声明的方法同一时间只能被一个线程访问。
transient
volatile
七、包
格式:import 大包名.小包名1.小包名2.类名;
或 import 大包名.小包名1.*;
1. 官方包
2. 引入第三方包
3. 自己写的包
八、输入输出及文件
九、线程
十、GUI
十一、数据库
十二、Java多媒体