标签:img instance pre volatil 识别 goto 详细设计 this ansi
主板 CPU 内存 硬盘
windows linux macOS
(盘符:(回车) 切换到哪个盘
cd.. 返回上一级目录
cd 目录名 切换目录
切换目录的时候需要注意一下当前目录在哪里
比如当前在c:/test
cd d:/game/lol 这里并没有直接跳到这个目录
d:(回车)
cd / 跳转到根目录
cls 清屏
dir 显示当前目录下的所有文件和目录
dir /s 显示当前目录下所有内容
md 目录名 创建一个新目录
rd 目录名 删除一个目录(目录下是空的)
ipconfig -all 查看计算机上所有IP相关的地址(重要)
ping 网关 百度)
.exe .bat 其他的后缀名,其实都是相应的软件在运行
打开文件后缀名 文件夹与文件的命名不要再用中文
Typora
需求分析 概要设计 详细设计 编码 测试 软件交付 验收 维护
( java SE development kit)
( javaSE Runtime Environment java 运行时环境)
( java Virture Matchine)
( jdk里面的东西更多 java源代码,java 文档 其实两个本质一样的,都能运行java代码)
现在最新是jdk13 jdk8 jdk6 java有几个重要的版本5,8
面向对象 平台的可移植性
( write once run anywhere)
分布式 多线程 安全性 健壮性 开源
(1.编写java源代码
2.通过javac命令将java源代码.java编程字节码文件.class
3.通过java命令启动Java虚拟机,加载类文件,经过一下步骤翻译成系统能够识别的内容)
(1.编写java源代码 Game.java
请按照固定的格式编写
2.使用javac命令将.java文件编译成.class字节码文件 javac Game.java
3.使用java命令,将Game.class文件加入到jvm中运行)
位
( 0 1)
计算机最小的存储单位--字节(byte)
KB
(1024B = 1KB)
MB
( 1024KB = 1MB)
GB
TB
(十进制 0-9 10-19 20-----99 100
二进制 0 1 0 1 十进制 二进制 2 ---- 10 3 11 4 100 5 101 6 110 7 111 8 1000 )
二进制如何进位 二进制与十进制的基本转换
VSCode eclipse Intellij IDEA myeclips
有特殊意义的单词
(abstract,assert,boolea,break,byte,case,catch,char,class,constcontinue defaul do double elseenum extends final finally floatfor goto if implements import instanceof int interface long nativenew package private protected public return strictfp short static superswitch synchronized this throw throws transient try void volatile while)
单行(//)
多行(*
*/) 文档(/** * * * */
主要作用就是给类或者方法,变量生成具体文档说明的时候使用)
byte(1) short(2) int(4)
double
char(2)
(字符在计算机中是不存在在,其实都是由数字关系进行比对转换而来的
ASCII 97 a 98 b
65 A)
boolean(true false)
自动的数据类型转换(小的数据类型转换为大的数据类型)
强制数据类型转换(浮点型与整型之间的转换注意转换之后会丢失精度)
?
变量赋值 (数据类型 变量名 = 值)
标识符(变量名,类名,方法名) (数据类型 变量名 = 值)
标识符大小写敏感 ( int a = 19;
int A = 20
;a和A是不一样的)
/
取模(取余)运算符
%
Scanner input = new Scanner(System.in);
System.out.println("请输入一个四位整数:");
int num = input.nextInt();
System.out.println("你输入的是:" + num);
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100 % 10;
int qian = num / 1000;
System.out.println("" + ge + shi + bai + qian);)
= 右边的值赋值给左边
+=
a += 2; //a = a + 2;
-= a -= 4; // a = a - 4; *=
/= %=
// a *= 4; // a = a * 4 // a /= 4; a %= 4;)
System.out.println("请输入第一个数:");
int a = input.nextInt();
System.out.println("请输入第二个数:");
int b = input.nextInt();
System.out.println(a != b);
逻辑运算符(短路运算符) && || 最终返回的也是boolean的值 一般逻辑运算符都会和关系运算符结合一起使用 && 当条件全部满足的时候才会返回true,否则就返回false 而且由于是短路运算,只有第一个条件能够直接得到答案,那么就不会再执行后面的结果
// boolean b = 10 > 8 && 9 < 98 && 8 < 10; // System.out.println(b); // Scanner input = new Scanner(System.in); // System.out.println("请输入小明语文成绩:"); // int yuwen = input.nextInt(); // // System.out.println("请输入小明的数学成绩:"); // int math = input.nextInt(); // // boolean flag = yuwen >= 90 && math >= 95; // // System.out.println(flag);
//|| 只要有一个条件满足返回就是true,由于是短路运算,如果第一个条件满足,后面的就不用再运算了
// boolean b = 10 > 8 || 8 < 7; // // System.out.println(b); // Scanner input = new Scanner(System.in); // // System.out.println("请输入第一个数:"); // int a = input.nextInt(); // // System.out.println("请输入第二个数:"); // int b = input.nextInt(); // // boolean flag = ( a + b >= 10 ) && ( a / b > 4 ); // // System.out.println(flag);)
同一优先级的运算符,结合次序由结合方向所决定。(意思是从左到右)
简单记就是: ! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
记不住,就打上()
内存的分类 栈 堆 静态区 代码区
定义:按照信息隐藏的原则,将数据组织在一起。
作用:复用代码,便于维护。
特点:1.信息的集合 2.信息的隐藏
封装的级别:
1.方法的封装
2.类的封装
3.模块的封装
4.系统的封装
1.2.1:子类在同一个包下面能够范文父类除了私有private修饰的所有属性和方法
1.2.2:在不同包的情况下子类智能访问public修饰的属性和方法。
1.2.3:在子类内部,如果不同包的情况下,可以访问protected修饰的属性和方法,但是不能访问默认的访问修饰符修饰的属性和方法
1.2.4:子类在初始化的时候会先调用父类的默认不带参数构造器,如果没有,就会报错,我们只有人为的修改
定义:允许使用父类变量指向子类对象,允许使用接口变量指向实现类对象,但反过来不行。
使用:多态引用时,父类变量指向子类对象,调用的属性和方法只限于父类中定义的属性和方法,不能调用子类特有的属性和方法。
一句话描述多态:相同的行为,不同的实现。
总结:
** 使用父类类型的引用指向子类的对象**
** 该引用只能调用父类中定义的方法,不能调用子类中独有的方法,**
** 如果子类中重写了父类中的一个方法,那么在调用该方法的时候,将会调用子类中的这个方法**
** 在多态中,子类可以调用父类中的所有方法**
** 多态主要体现为重载和重写,相同的行为不同的实现方式**
** 多态主要应用为多态参数和多态集合**
①、多态参数:形参定义为父类类型,所有子类对象均可以通过实参传递
②、多态集合:利用父类类型创建集合或数组,可以将多个子类重写的方法放于集合中。
当对象初始化之后,成员变量就会有初始值 ? String null ? 整型 0 ? 浮点型 0.0 ? boolean false ? char (char)0
所有和动作相关的,都应该放入到方法中
也都具有属性和方法
对象都是属于某个类
一切皆对象
注意:对象是 new XXX(),而不是具体的哪个名字,名字只是一个引用
1.代表当前对象本身 ? 2.有时候需要把当前调用对象进行传递,那么就可以使用this替代当前调用对象 ? 3.在构造器中可以使用this([参数])调用本类的其他构造器
1.指代父类 ? 2.super() 调用父类的构造器 ? 3.super()如果放在子类构造器中调用,只能放在子类构造器代码的第一行 ? 4.使用super.xxx()可以在子类中调用父类中的方法
1.The local variable type may not have been initialized 局部变量还没有被赋值 ? 2.成员变量当对象初始化的时候会自动给上初始值 ? 3.局部变量不会自动给初始值 ? 4.如果要给成员变量赋初始值,就只能写在一行,不能再另外一行重新赋值
1.继承 ? 2.子类重写父类的方法 ? 3.方法名一样 ? 4.参数类型,参数个数一样 ? 5.返回值一样 ? 6.注意父类private修饰的方法,子类不能重写 ? 7.子类重写方法的访问修饰符可见度,必须比父类方法的访问修饰符可见度高 ? 8.注意:如果只是方法名一样,参数不一样,这个样子是一个子类的重载而已
1.对象转型 2.向上转型 3.向下转型 4.转型需要的条件 4.1.继承关系 4.2.要有相互引用的关系 4.3.查看内存图形
1.继承 ? 2.重写 ? 3.父类引用指向子类对象
只要使用new关键字,就是创建一个新的对象 ? 要注意一个问题.不要觉得有时候参数需要一个对象,就直接new 一个对象传过去
1.每个类都默认有构造方法 ? 2.默认构造方法就是一个无参数的,没有任何函数体的方法 ? 3.自己手动写构造方法 ? 4.构造方法格式: 访问修饰符 类名([参数...参数]){} ? 5.构造方法可以重载 ? 6.如果我们手动写了一个带参数的构造器,会自动的覆盖系统自带的默认构造器 ? 7.习惯:如果手动添加了一个带参数的构造器,最好写一个无参数的构造器 ? this()
public
private
protected
friendly(默认的)
1.所有的属性都是private ? 2.为每个属性建立setter和getter方法 ? 3.这个其实就是为了以后装数据用的一个类
1.静态的属性和静态的方法属于整个类 ? 2.静态的值只有一个(基本数据类型可以看出此特点) ? 3.静态的值只会初始化一次(引用数据类型) ? 4.静态属性,方法或者静态块会在jvm加载的时候就加载 ? 5.一般情况下,静态的常量属性,我们一般写为 public static final 数据类型 大写常量名 = 值
一个类是另一个类的属性
一个类是另外一个类方法的参数
标签:img instance pre volatil 识别 goto 详细设计 this ansi
原文地址:https://www.cnblogs.com/zzc622446/p/11966748.html