随笔分类 - java
前序表达式 中序表达式 后序表达式
摘要:中序表达式:中序表达式就是我们日常使用的表达式,由左往右阅读,结构清晰,但需要括号改变优先级,对计算机不友好eg: (1+4)*3+10/5前序表达式(波兰表示法Polish notation,或波兰记法):一种逻辑、算术和代数表示方法,其特点是操作符置于操作数的前面...
阅读全文
java final static
摘要:final:修饰类:类不能被继承 修饰方法:方法不能被重写 修饰变量:不能修改变量的指向,且只能赋值一次 全局变量是有默认值的,所以如果用final修饰全局变量,能在定义的同时赋值,或在构造函数中赋值(注意,其他方法不能给final全局变量赋值,会报错) 局部变量不...
阅读全文
运算表示式求值算法
摘要:表达式由 运算符 ,括号 ,数字 组成E.W.Dijkstra算法将操作数压入操作数栈 将运算符压入运算符栈 忽略左括号 如果遇到右括号,则弹出一个操作符,并弹出操作符所需的操作数,并将结果继续压入操作数栈eg.(1+((2+3)*(4*5))) = 1 + 5 * ...
阅读全文
Java 泛型
摘要:语法:Collection 泛型存在的最根本意义:写程序的时候很难知道类的准确数量,如果要将其储存起来,用数组很难办到,因为数组是固定长度的,或者说对数组进行扩容的代价较大(进行数组复制),所以对象的储存就需要新的东西,这个就是容器。容器长度无限,且可以储存任何数据类...
阅读全文
Java 自增原理
摘要:很多人都知道 i++ 和 ++i 的区别a = i++; a = i; i = i+1; a = ++ i; i = i + 1; a = i; 但碰到 i = i ++;的时候很多人就懵了? i是原来的值,还是 i+1 ?答案是 原来的值。其中的原理其实很简单...
阅读全文
回环变位
摘要:《算法 4edit》1.2.6Q:如果字符串s中的字符循环移动任意位置之后能够得到另一字符串t,那么s就被称为t的回环变位。例如,ACTGACG 就是 TGACGAC 的一个回环变位,反之亦然。判定这个条件在基因组序列中的研究是十分重要的。编写一个算法检查两个给定的字...
阅读全文
System.out.print()执行顺序
摘要:今天使用递归调用计算的时候发现一个很奇怪的问题代码:public class practice20 {public static double nStep(double N) { if (N @1 => @4 => @4 =>@3
阅读全文
java运行时内存分配详解
摘要:一、 基本概念 每运行一个java程序会产生一个java进程,每个java进程可能包含一个或者多个线程,每一个Java进程对应唯一一个JVM实例,每一个JVM实例唯一对应一个堆,每一个线程有一个自己私有的栈。进程所创建的所有类的实例(也就是对象)或数组(指的是数...
阅读全文
浮点型的三个特殊值 Double.NEGATIVE_INFINITY Double.POSITIVE_INFINITY Double.NaN
摘要:Double.NEGATIVE_INFINITY 负无穷 Double.POSITIVE_INFINITY 正无穷 Double.NaN 非数注意:浮点数才有无穷的概念,整数是没有的比如:int a = 1/0;//直接报错抛出运算异常:Exception in th...
阅读全文
Java toBinaryString()函数探究及Math.abs(-2147483648)=-2147483648原理探究
摘要:toBinaryString()函数public class Customer { public static void main(String[] args) { int m=-8; System.out.println(Integer.toBinary...
阅读全文
Java 代理
摘要:代理做一个简单的抽象:代理模式包含如下角色:Subject:抽象主题角色。可以是接口,也可以是抽象类。 RealSubject:真实主题角色。业务逻辑的具体执行者。 ProxySubject:代理主题角色。内部含有RealSubject的引用,负责对真实角色的调用,...
阅读全文
Java 猜字谜游戏
摘要:package fundmental_excise6;import java.util.Arrays;import java.util.Scanner;/** * @author : jeasion * @date 创建时间:2019年4月10日 上午9:35:57 ...
阅读全文
Java中private、protected、public和default的区别
摘要:public:具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。protected:主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子...
阅读全文
Java JRT
摘要:解释器运行步骤:找到环境变量CLASSPATH,CLASSPATH包含一个或者多个目录,用作查找.class文件的根目录 从根目录开始,解释器获取包名并将每个.替换成\或/(取决于操作系统) 得到的路径会与CLASSPATH的各个不同项相连接 解释器就在这些目录中查找...
阅读全文
Java 数组
摘要:申明及初始化申明方式及初始化方式数组的申明及初始化 int[] arr = new int[5]; int arr[1] = 3; int[] arr = {1,2,3,4}; /*不允许分开写,下面是错误的 int[] arr; arr={1,2...
阅读全文
Java 面向对象
摘要:对象创建过程首次创建对象时或者对象的静态方法或静态属性被首次访问,Java解释器查找类路径,定位ClassName.class文件 载入ClassName.class(创建一个对象),所有静态初始化动作执行(首次使用这些动作或属性时),并且所有静态初始化动态只在此时...
阅读全文
java this的用法
摘要:this含义:代表当前对象用法:用于返回对象的引用示例代码public class Test { public Test f() { return this;//获取当前对象的引用 } public static void main(String[] args...
阅读全文
Java 方法重载 方法重写
摘要:方法重载规则参数个数不同 参数个数相同,但参数列表中对应的某个参数的类型不一样 方法的返回类型和参数名称不参与重载 "编译期绑定",,因为未产生对象,只看参数、引用类型绑定方法 public void f(String s,int i) {} public void ...
阅读全文
java 的类型转换方式
摘要:隐式转换byte等整型转int,最高位(符号位保留),中间补0byte bt=-13;bt 源码:1000 1101 反码:1111 0010 补码:1111 0011int it=bt;it 源码:1000 0000 0000 1101 反...
阅读全文
【JAVA】关于向上转型与向下转型
摘要:向上转型: 子类引用的对象转换为父类类型称为向上转型。通俗地说就是是将子类对象转为父类对象。此处父类对象可以是接口 如果子类重写了父类的方法,就根据这个引用指向调用子类重写的这个方法,不是调用父类的,,这个调用过程就称为“动态绑定”。 ”动...
阅读全文
浙公网安备 33010602011771号