目录

java编程前基础

DOS命令

jdk

JRE

JVM

编译and解释

多行注释

标识符开头

数据类型

进制问题

变量

位运算

javadoc生成文档

java编程

Scanner对象

增强for循环

cmd中javac和java

可变长参数

数组声明和使用

JAVA内存

构造器

封装

继承

重写

多态

抽象类

接口

异常处理

常用快捷键


java编程前基础

DOS命令

盘符切换


  1. 盘符切换 E: F:
  2. 查看所有 dir
  3. 切换目录 cd 加路径 进入f盘cd /d f:
  4. 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 有限 离散 舍入误差 大约 接近但是不等于

最好避免使用浮点数比较

字符拓展


  1. char c1='a'
  2. int(c1)//强制转换`

  1. char C3 =' \u0061' ;
  2. System.out. println(C3); //a

变量

特殊的变量——常量

​ 修饰符不存在先后顺序final 可以final static 也可以 final static

作用域


  1. public class Variable{
  2. static int allClicks=0;// 类变量,从属于类
  3. String str= "hello world";//实例变量(除开基本类型,其他默认值都是null,布尔值默认值是false)
  4. int age;//实例变量 从属于对象,如果不进行初始化,这个类型的默认值是0 0.0
  5. public void method( ){
  6. int i=0;//局部变量
  7. }
  8. }

类变量

类变量,从属于类

实例变量

实例变量 从属于对象,如果不进行初始化,这个类型的默认值是0 0.0

实例变量(除开基本类型,其他默认值都是null,布尔值默认值是false)

局部变量

变量命名规范

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则: monthSalar
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线: MAX VALUE
  5. 类名:首字母大写和驼峰原则: Man, GoodMan
  6. 方法名:首字母小写和驼峰原则: run(), runRun()

位运算

<<*2

javadoc生成文档

@version版本号

@author作者名

@since指明需要最早使用的jdk版本

@param参数名

@return返回值情况

@throws异常抛出情况

用命令行 生成文档:


  1. javadoc - encoding UTF-8 -charset UTF-8 Doc.java

java编程

Scanner对象

next

  1. 一定要读取到有效字符后才可以结束输入。
  2. 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  4. next() 不能得到带有空格的字符串。

nextLine()

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白。

增强for循环


  1. int[] num ={10,111};
  2. for (int x:num){
  3. System.out.println(x);//取不到下标
  4. }

cmd中javac和java

javac

​ 是编译命令,将java源文件编译成.class字节码文件。

​ 例如:javac hello.java

​ 将生成hello.class文件。

java

​ 是运行字节码文件;由java虚拟机对字节码进行解释和运行。

​ 例如:java hello


可变长参数


  1. public class importantdemo {
  2. public static void main(String[] args) {
  3. importantdemo importantdemo = new importantdemo();
  4. importantdemo.test(1,1,1);
  5. }
  6. public void test(int...x){
  7. System.out.println(x[0]);
  8. System.out.println(x[1]);
  9. }
  10. }

数组声明和使用


  1. int[] a;//定义,声明一个数组
  2. a=new int[10];//创建一个数组,开辟空间这里面可以存放10个int类型的数字
  3. int[] n =new int[20];//第二种
  4. int[] aaa = {1,2,3};//静态初始化:创建+赋值
  5. int[] nnn =new int[20];//动态初始化
  6. nnn[0]=20;
  7. System.out.println(Arrays.toString(aaa));

  1. int[][] a = { {1,2},{2,3},{3,4},{4,5} };

JAVA内存

存放 new的对象和数组

可以被所有的线程共享,不会存放别的对象引用

存放基本变量类型(会包含这个基本类型的具体数值)

引用对象的变量(会存放这个引用在堆里面的具体地址)

方法区

可以被所有的线程共享

包含了所有的class和static变量


构造器

构造器:

  1. 和类名相同
  2. 没有返回值

作用:

  1. new本质在调用构造方法
  2. 初始化对象的值

注意点:

1.定义有参构造之后,如果想使用无参构造, 显示的定义一 个无参的构造


封装

属性私有

get方法进行设置

set方法获得

作用:

  1. 提高程序的安全性,保护数据
  2. 隐藏代码的实现细节
  3. 统一接口
  4. 系统可维护增加了

继承

◆继承的本质是对某-批类的抽象,从而实现对现实世界更好的建模。
◆extends的意思是“扩展”。子类是父类的扩展。
◆JAVA中类只有单继承,没有多继承!
◆继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
◆继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。 子类继承父类,使用关键字extends来表示。
◆子类和父类之间,从意义上讲应该具有”is a”的关系.

super注意点

  1. super调用父类的构造方法,必须在构造方法的第-一个
    2.super必须只能出现在子类的方法或者构造方法中!

  2. super和this不能同时调用构造方法!

  3. Vs this:

    代表的对象不同:

    ​ this:本身调用者这个对象

    ​ super:代表父类对象的应用

    前提:

    ​ this:没继承也可以使用

    ​ super:只能在继承条件才可以使用

    构造方法:

    ​ this() ; 本类的构造

    ​ super():父类的构造


重写

重写:需要有继承关系,子类重写父类的方法!

  1. 方法名必须相同

  2. 参数列表列表必须相同

  3. 修饰符:范围可以扩大但不能缩小:

    ​ public>Protected>Default>private

  4. 抛出的异常:范围,可以被缩小,但不能扩大; ClassNqtFoundException —>

    Exception(大)

重写,子类的方法和父类必要一致; 方法体不同!

为什么需要重写:

​ 父类的功能,子类不一定需要,或者不一定满足!
​ Alt + Insert override ;


多态

多态定义

◆即同一方法可以根据发送对象的不同而采用多种不同的行为方式。
◆一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

多态存在的条件

​ ◆有继承关系
​ ◆子类重写父类方法
​ ◆父类引用指向子类对象

多态注意事项:

1.多态是方法的多态,属性没有多态
2.父类和子类,有联系 类型转换异常! ClassCastException!
3.存在条件: 继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son();

◆注意:多态是方法的多态,属性没有多态性。
◆instanceof 类型转化

哪些方法不能重写

  1. static方法,属于类,它不属于实例

  2. final 常量;

  3. private 方法;

类型转化

1.父类引用指向子类的对象

2.把子类转换为父类,向上转型;

3.把父类转换为子类,向下转型: 强制转换,但是会导致丢失方法(同精度丢失)

4.方便方法的调用,减少重复的代码!


抽象类

不能new这个抽象类,只能靠子类去实现它;约束!

抽象类中可以写普通的方法

抽象方法必须在抽象类中心

抽象的抽象:约束~


接口

接口中定义都是抽象的,里面的方法可以省略public abstract

也可以定义常量(但一般不这样),可省略public static final

接口作用

  1. 约束
  2. 定义一些方法,让不同的人实现10—->1
  3. public abstract
  4. public static final
  5. 接口不能被实例化~,接口中没有构造方法~
  6. implements可以实现多个接口
  7. 必须要重写接口中的方法~

异常处理


  1. public static void main(String[] args) {
  2. int a=1;
  3. int b=0;
  4. try { //try监控区域
  5. System.out.println(a/b);
  6. }catch (ArithmeticException e){ //catch捕获异常
  7. System.out.println("程序出现异常,变量b不能为0");
  8. }finally { //处理善后工作
  9. System.out.println("finally");
  10. }

常用快捷键

ctrl +alt +t :包裹代码块,将选中的代码使用if,while, try/catch等包装

Ctrl+Y:删除当前行

Ctrl+Shift+J:将选中的行合并成一行

Ctrl+Alt+L:格式化代码

alt+Enter:处理异常的快捷键

本文链接:https://www.kuangstudy.com/bbs/1357180125355016194

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐