JavaSE总结
目录java编程前基础DOS命令jdkJREJVM编译and解释多行注释标识符开头数据类型进制问题变量位运算javadoc生成文档java编程Scanner对象增强for循环cmd中javac和java可变长参数数组声明和使用JAVA内存构造器封装继承重写多态抽象类接口异常处理常用快捷键java编程前基础DOS命令盘符切换盘符切换 E: F:查看所有 dir
目录
java编程前基础
DOS命令
盘符切换 E: F:查看所有 dir切换目录 cd 加路径 进入f盘cd /d f:cd..
jdk
Java Development Kit 开发者工具
JRE
jAVA Runtime Environment 运行环境 配置时也要配置改环境
JVM
JAVA virture machine 跨平台的核心,屏蔽底层系统区别
编译and解释
先编译成class文件,再解释给os
多行注释
/**
*
*/
标识符开头
所有的标识符都应该以字母(A-Z 或者a-z) ,美元符($)、或者下划线(_)开始
数据类型
-
整数(byte1字节 short2 int4 long8 num=300L)
iint money =10_0000_0000//不会被输出下划线
-
字符 (char2)
-
浮点 (float4 num = 50.4F double8)
-
布尔(boolean 1位)
-
注意事项:
小数的优先级大于整数
byte,short,char->int->long->float->double
低—————————————————————————->高
强制类型转化 (类型)变量名 高—->低
自动转换 低—->高
不能对布尔类型转化
不能把对象类型转化为不相干的类型
在转化时候注意内存溢出,先转化(转型),再计算
类 接口 数组
进制问题
二进制0b
十进制
八进制0
十六进制0x
float 有限 离散 舍入误差 大约 接近但是不等于
最好避免使用浮点数比较
char c1='a'int(c1)//强制转换`
char C3 =' \u0061' ;System.out. println(C3); //a
变量
修饰符不存在先后顺序final 可以final static 也可以 final static
public class Variable{static int allClicks=0;// 类变量,从属于类String str= "hello world";//实例变量(除开基本类型,其他默认值都是null,布尔值默认值是false)int age;//实例变量 从属于对象,如果不进行初始化,这个类型的默认值是0 0.0public void method( ){int i=0;//局部变量}}
类变量,从属于类
实例变量 从属于对象,如果不进行初始化,这个类型的默认值是0 0.0
实例变量(除开基本类型,其他默认值都是null,布尔值默认值是false)
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则: monthSalar
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线: MAX VALUE
- 类名:首字母大写和驼峰原则: Man, GoodMan
- 方法名:首字母小写和驼峰原则: run(), runRun()
位运算
<<*2
javadoc生成文档
@version版本号
@author作者名
@since指明需要最早使用的jdk版本
@param参数名
@return返回值情况
@throws异常抛出情况
用命令行 生成文档:
javadoc - encoding UTF-8 -charset UTF-8 Doc.java
java编程
Scanner对象
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。
增强for循环
int[] num ={10,111};for (int x:num){System.out.println(x);//取不到下标}
cmd中javac和java
是编译命令,将java源文件编译成.class字节码文件。
例如:javac hello.java
将生成hello.class文件。
是运行字节码文件;由java虚拟机对字节码进行解释和运行。
例如:java hello
可变长参数
public class importantdemo {public static void main(String[] args) {importantdemo importantdemo = new importantdemo();importantdemo.test(1,1,1);}public void test(int...x){System.out.println(x[0]);System.out.println(x[1]);}}
数组声明和使用
int[] a;//定义,声明一个数组a=new int[10];//创建一个数组,开辟空间这里面可以存放10个int类型的数字int[] n =new int[20];//第二种int[] aaa = {1,2,3};//静态初始化:创建+赋值int[] nnn =new int[20];//动态初始化nnn[0]=20;System.out.println(Arrays.toString(aaa));
int[][] a = { {1,2},{2,3},{3,4},{4,5} };
JAVA内存
存放 new的对象和数组
可以被所有的线程共享,不会存放别的对象引用
存放基本变量类型(会包含这个基本类型的具体数值)
引用对象的变量(会存放这个引用在堆里面的具体地址)
可以被所有的线程共享
包含了所有的class和static变量
构造器
构造器:
- 和类名相同
- 没有返回值
作用:
- new本质在调用构造方法
- 初始化对象的值
注意点:
1.定义有参构造之后,如果想使用无参构造, 显示的定义一 个无参的构造
封装
属性私有
get方法进行设置
set方法获得
作用:
- 提高程序的安全性,保护数据
- 隐藏代码的实现细节
- 统一接口
- 系统可维护增加了
继承
◆继承的本质是对某-批类的抽象,从而实现对现实世界更好的建模。
◆extends的意思是“扩展”。子类是父类的扩展。
◆JAVA中类只有单继承,没有多继承!
◆继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
◆继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。 子类继承父类,使用关键字extends来表示。
◆子类和父类之间,从意义上讲应该具有”is a”的关系.
-
super调用父类的构造方法,必须在构造方法的第-一个
2.super必须只能出现在子类的方法或者构造方法中! -
super和this不能同时调用构造方法!
-
Vs this:
代表的对象不同:
this:本身调用者这个对象
super:代表父类对象的应用
前提:
this:没继承也可以使用
super:只能在继承条件才可以使用
构造方法:
this() ; 本类的构造
super():父类的构造
重写
重写:需要有继承关系,子类重写父类的方法!
-
方法名必须相同
-
参数列表列表必须相同
-
修饰符:范围可以扩大但不能缩小:
public>Protected>Default>private
-
抛出的异常:范围,可以被缩小,但不能扩大; ClassNqtFoundException —>
Exception(大)
重写,子类的方法和父类必要一致; 方法体不同!
为什么需要重写:
父类的功能,子类不一定需要,或者不一定满足!
Alt + Insert override ;
多态
◆即同一方法可以根据发送对象的不同而采用多种不同的行为方式。
◆一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多
◆有继承关系
◆子类重写父类方法
◆父类引用指向子类对象
1.多态是方法的多态,属性没有多态
2.父类和子类,有联系 类型转换异常! ClassCastException!
3.存在条件: 继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son();
◆注意:多态是方法的多态,属性没有多态性。
◆instanceof 类型转化
-
static方法,属于类,它不属于实例
-
final 常量;
-
private 方法;
1.父类引用指向子类的对象
2.把子类转换为父类,向上转型;
3.把父类转换为子类,向下转型: 强制转换,但是会导致丢失方法(同精度丢失)
4.方便方法的调用,减少重复的代码!
抽象类
不能new这个抽象类,只能靠子类去实现它;约束!
抽象类中可以写普通的方法
抽象方法必须在抽象类中心
抽象的抽象:约束~
接口
接口中定义都是抽象的,里面的方法可以省略public abstract
也可以定义常量(但一般不这样),可省略public static final
- 约束
- 定义一些方法,让不同的人实现10—->1
- public abstract
- public static final
- 接口不能被实例化~,接口中没有构造方法~
- implements可以实现多个接口
- 必须要重写接口中的方法~
异常处理
public static void main(String[] args) {int a=1;int b=0;try { //try监控区域System.out.println(a/b);}catch (ArithmeticException e){ //catch捕获异常System.out.println("程序出现异常,变量b不能为0");}finally { //处理善后工作System.out.println("finally");}
常用快捷键
ctrl +alt +t :包裹代码块,将选中的代码使用if,while, try/catch等包装
Ctrl+Y:删除当前行
Ctrl+Shift+J:将选中的行合并成一行
Ctrl+Alt+L:格式化代码
alt+Enter:处理异常的快捷键
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐



所有评论(0)