新闻资讯

新闻资讯 媒体报道

java知识点汇总

编辑:016     时间:2021-11-04

1.java基础

--java起源:1991年由Sun Microsystems公司的James Gosling等人开发,最初名为Oak,1995年更名为Java.

--java是一种计算机语言,一种程序设计语言.

--java继承C的语法,java的对象模型从C++改编而来.

--java主要术语:简单,安全,可移植,跨平台,面向对象等.

--java核心:面向对象程序设计(OOP)语言,OOP主要三个特性:封装,多态性和继承.

--javac(编译器)将.java源文件编译为.class字节码文件; java(解释器)在JVM(JRE一部分)上运行.class字节码文件

2.基本规范

--注释:// 单行注释 /* */ 多行注释不生成文档 /** */ 多行注释且自动生成文档

--java区分大小写 类名大驼峰,方法名/变量名小驼峰

--源代码的文件名和公共类的名字相同.java

--java虚拟机总是从指定类中的main方法的代码开始执行

--大括号划分代码块,代码句子必须以分号结束,回车不是语句结束的标志

--System.out.println(); 输出之后增加换行符 / print(); 输出之后不增加换行符

--标识符:给变量,方法等命名的名称,以字母/下划线/$头 + 字母/数字/$/下划线

3.常量和变量

(1)常量:final关键字指示常量,常量名一般大写 值不可更改 final double PI = 3.14;

(2)类常量:须位于main方法外定义 public static final double PI = 3.14; 该类常量属于类,类中的方法都可调用

数学函数与常量: Math.sqrt(); 不处理任何对象,属静态方法 Math.PI / Math.E 常量

(3)变量:先声明,再赋值初始化 int a = 1; 值可更改

(4)基本类型(数据类型)的变量:保存一个基本类型

(5)引用类型(数据类型)的变量:引用一个对象 可以用==判断一个引用变量是否为null (a==null)

--变量的作用域和生命期:变量在进入作用域时创建,在离开作用域时销毁

4.运算符

--算术运算符 + - * /(余数将被删除) % ++(自增) --(自减) (15.0%2 7.5)

注意,整数被0除将会产生一个异常,浮点数被0除会得到无穷大或NaN结果

表达式:由运算符,变量和常量组成

--关系运算符 == != > >= < <= 结果为boolean类型 操作数可为对象( == !=),数值类型,char, String等

--逻辑运算符 || && ! 结果为boolean类型 操作数必须为boolean类型

&&优先级比||高

--赋值运算符 = 右侧的值赋给左侧的变量/常量

--组合赋值运算符 +=(x = x + 100, x += 100;) -=(x = x - 100, x -= 100;) 等

--三元运算符 x < y(condition) ? x (true):y(false)

--位运算符 & | ^(异或) >>(右移) >>>(无符号右移) <<(左移) ~(1的补码)

位运算符可用于byte,short,int,long或char类型 不能用于boolean,float,double类型

5.java数据类型(8种基本数据类型)

--java是一种强类型语言,必须为每个变量/常量声明一种类型

--java基本类型:8种基本数据类型(非面向对象类型/内置数据类型) + 面向对象类型(由类定义/内置数据类型)

(1)4种整型(有正负值之分):byte 8位 short 16位 int 32位 long 64位(后缀l / L)

16进制前缀 0x / 0X 8进制前缀0 2进制前缀0b / 0B

(2)2种浮点类型:float 32位(单精度,后缀f / F) double 64位(双精度,无后缀或后缀d / D)

表示溢出和出错的3个浮点数 正无穷大(一个正数除以0就是正无穷大) 负无穷大 NaN(0/0 或负数的平方根结果为NaN)

(3)字符型:char 表示单个字符 如'A' 使用unicode字符集编码字符 无符号16位 dividendSettlementOption.equals("DVAC")

(4)boolean型:true / false if (isCashPayout == false )

--自动类型转换:两种类型兼容,目标类型比源类型大, 否则,需强制类型转换.

--格式化输出:System.out.printf("%8.2f", x); 3333.33 8个字符,小数2位

f表示浮点数 s表示字符串 d表示十进制整数

--一般文件路径格式 “c:\\mydirectory\\myfile.txtc:\\mydirectory\\myfile.txt"

6.java数据类型(其他数据类型)

(1)字符串类型String

--java中,字符串是对象

--构造字符串 String str = new String("Hello"); 或 String str = "Hello"; 然后即可操作字符串

--字符串是Unicode字符序列

--equals方法检测两个字符串的值是否相等,==判断两个对象引用所指的是不是同一对象

--空串“ ”是长度为0的字符串,是一个java对象,有自己长度和内容,if (str.equals(" "))

--null 表示目前没任何对象与该变量关联 if ( str == null) if ( str != null && str.length() !=0)

--字符串增强版:StringBuilder(非线程安全) / StringBuffer(线程安全),创建的字符串对象的值可改变,需调用方法改变

--String对象的内容不可改变,但String引用变量可改变它们引用的对象.

--键盘上字符串读取输入:System in = new Scanner(System.in); String name = in.next(); in.nextLine(); in.nextInt(); / in.nextDouble();

读取输入的下一个单词 / 下一行内容 /

--键盘上字符输入:System.out.println("输入:"); char aa =(char) System.in.read(); System.out.println("输入:" + aa);

(2)枚举类型

--针对变量的取值在一个有限的集合内,java将枚举实现为类类型

--enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE 枚举常量,隐式声明为公有静态Size成员} Size s = Size.MEDIUM; 声明和使用枚举变量,定义的类型是一个类,只能赋予枚举定义的值

Size s[] = Size.values(); 获取Size常量数组

Size s = Size.valueOf("SMALL"); 获取名为SMALL的常量

--每一个枚举常量都是一个枚举类型的对象

--所有的枚举类型都是Enum类的子类

(3)数组 (属于对象)

--数组是用共有名称引用的相同类型变量的集合,分为一维数组和多维数组

--格式: 一维数组 type array-name[] = new type[size];

int[] sample = new sample[3];

sample[0] = 1; sample[1] = 2; sample[2] = 3;

或 int[] sample = {1,2,3};

for(int aa:sample){
System.out.println(aa);
} for-each / 增强型for循环

--多维数组

int table[][] = new int[2][2];
table[0][0] = 1;
table[1][0] = 2;
table[0][1] = 3;
table[1][1] = 4;

或 int table[][] ={{1,3},{2,4}};

for(int i = 0;i< table.length;i++){
for(int j = 0;j< table[i].length;j++){
System.out.println(table[i][j]);
}
}

--要想获得数组中元素个数,可用a.length

--创建一个数字数组时,所有元素初始化为0;boolean数组的元素会初始化为false; 对象数组中的元素初始化为null(表示这些元素还未存放对象)

--一旦创建了数组,就不能再改变它的长度,若在程序运行中需要经常扩展数组的大小,应使用另一种数据结构---数组列表 list

--数值型数组进行排序 可用Arrays类(static工具类)中sort方法(从小到大)int[] a = new int[100]....Arrays.sort(a);

7.程序控制语句

(1)选择语句

-- if(condition) {statement;} else {statement;}

-- if(condition) {statement;} else if(condition) {statement;} else if(condition) {statement;} else {statement;}

-- if(condition) {if (condition)statement;} else {statement;}

--switch(expression){case constant1: statement; break; ...default statement; }

(2)迭代语句

-- for(initialization; condition; iteration) {statement;}

-- while(condition) {statement;}

-- do{statement;} while(condition);

(3)跳转语句

--break; 跳出整个循环

--continue; 跳出本次循环

8.异常处理

--异常是在运行时发生的错误。java中,所有异常都由类表示,所有异常类都从Throwable的类派生出来的,因此,发生异常时,会生成某种异常类的一个对象。

--Throwable有两个直接子类:Exception和Error(该错误发生在JAVA虚拟机中,我们无法控制,不会对其处理).

--Exception类有个子类RuntimeException,表示各种常见的运行时错误.

--java异常处理通过5个关键字:try,catch,throw,throws和finally.

try{ // block of code to monitor for errors } 监视可能会产生异常的代码块并抛出异常

catch(ExcepType1 exOb){ // handler for ExcepType1} catch捕获对应异常类型的异常并处理,exOb会接收它的值

catch(ExcepType2 exOb){ // handler for ExcepType2}...

--捕获异常好处是防止程序异常终止, 可继续执行,若不捕获异常,就会被JVM捕获,JVM默认异常处理程序会终止执行

--数组越界异常类型:ArrayIndexOutOfBoundsException, 除以0异常类型:ArithmeticException

--throw语句手动抛出异常对象 try{ // block of code to monitor for errors; throw new ArithmeticException(); }

--重新抛出异常 catch(ExcepType1 exOb){ // handler for ExcepType1; throw exc;}

重新抛出异常,异常不会被同一个catch语句捕获,而是传送到下一个catch语句

--finally代码块是在退出try/catch代码块时执行的代码块

--throws:某些情况下,若一个方法生成自己不做处理的异常,就须在throws语句中声明该异常

凡是Error或RuntimeException的异常都不必在throws列表中指定,其他类型的声明需声明,否则会引起编译错误

public void readTestData() throws IOException, InterruptedException { }

--自定义异常 Exception 继承 Throwable的方法

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐