我是靠谱客的博主 寂寞小蚂蚁,最近开发中收集的这篇文章主要介绍00.Java基础知识兜底,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JDK(Java Development Kit)[Java开发工具包]

JRE(Java Runtime Evironment)[Java运行环境]

JVM(Java Virtual Machine)[Java虚拟机]

Java中8种基本数据类型
  • 整型:byte,short,int,long
  • 浮点数型:float,double
  • 字符型:char
  • 布尔型:boolean(作为局部变量单独使用和int一样,作为成员变量或数组元素和byte一样)
char

java中char是占16位

Math.round()的修约规则:

round方法:
static long round(double a)
此方法返回的参数最接近的long.
static int round(float a)
此方法返回的参数最接近的整数.
Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。

switch

当switch(x)x一定要与case中的类型相匹配。否则会出现类型不匹配(imcompatibal types)问题。

default可以放在case的前面,不影响判断。

switch()里面必须是int和enum–即枚举类型,(short,char,byte)都会自动转化成int。但是long不可以自动转化成int,因为会丢失精度,所以switch()里面也就不可以是long。java把string也’转化’成int了,用string的hash值(int型,hashCode()的返回值)代替string进行switch,然后再对string做一遍equals()判断。把你的程序编译成字节码再反编译回来,看看有什么不一样就行了
!图一
图二

递归的理解

提问:为什么递归那么多次返回,最后的出来的是正确结果。这是因为最终的返回值是第一次函数调用的返回值,那么多次重新调用只是对第一次函数返回的值的求解。例如:
递归能加快程序的运行速度

public static int jieCheng(int num){
	if(num==1){
		return 1;
	}	
	return jieCheng(num-1)*num;
	}

实际上return只有第五行一条语句,其他的调用本方法只是对该结果的计算。最后从1开始向上返回结果也成为回溯。

逗号运算符
public class Test11 {
    public static void main(String[] args) { 
        for(int i = 1, j = i + 10; i < 5; i++, j = i * 2) {	//j 前面不用加int
            System.out.println("i= " + i + " j= " + j); 
        } 
    }
}
参数测试
/**
 * create by Damon on 2019/5/8
 * 这道题的运行结果是199,参数传值是变量的
 * 复制,方法不影响基本数据类型的值
 */
public class TestParameter {
    public static void main(String args[]) {
        int i = 99;
        mb_operate(i);
        System.out.print(i + 100);
    }

    static void mb_operate(int i) {
        i += 100;
    }
}
创建对象四个步骤
  1. 分配对象空间,并将对象成员变量初始化为0或空 所以构造函数并没有返回值(解释:“构造函数是一种很特殊的函数,因为他没有返回值。这和‘返回值为void’有极大的差别。返回void时,一般函数并不返回任何东西,但是一般的函数能够选择是否要返回些什么东西。构造函数则绝对不返回任何东西,而且你也没有任何选择。如果它有一个返回值,而且你有权利选择你自己的返回型别(return type),编译器势必得通过某种方式来知道如何处理那个返回值。”
    很明显,其意思是void更想一种mark,告诉编译器我目前没有返回值,但这是可选的,将来未必没有,但构造函数从概念上来说将肯定没有返回值,于是通过某种特殊的设计将其变为不带任何返回参型(包括void)的函数。)

  2. 执行属性值的显示初始化

  3. 执行构造方法

  4. 返回对象的地址相关变量

this的本质

this的本质就是已经创建好的对象的地址!
必须要注意,一个类的构造函数中,this()和super()不可同时出现

代码块

静态代码块:在类加载的时候运行一次

动态代码块:作为类的属性

自动类型转换中long可以自动转换成float,这是因为浮点数不是直接表示大小的,而是通过符号位,指数域,小数域相乘得出来的结果,所以四字节的float表示的范围比八字节的long更大。

这也就使得

float x( int a,int b ) { return (a-b); }

这样的语句是合法的。虽然实际返回值是int,但是int在float内,会自动进行类型转换,不报错。

最后

以上就是寂寞小蚂蚁为你收集整理的00.Java基础知识兜底的全部内容,希望文章能够帮你解决00.Java基础知识兜底所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部