看过马上收藏,关于java的最重要的基础知识(6-10)

      这两天真是雨水不断,接二连三的下了好几场雨,其实我是个喜欢雨天的人,记得上学的时候,遇到没有课又正好是下雨的天气,我就趴在宿舍的床上看雨,听雨水哗哗的声音,那时候真是少年不懂愁滋味啊呵呵。现在下雨不会再去听雨了,但是淋雨的时候多了很多哈哈。 

       还是回到正题,昨天给大家分享了java学习的一些基础知识,今天把剩下的完成了。第一节到第五节的内容大家需要看的话可以再复习一下java基础知识(1-5)。大家学习java可以去网上找一些免费的视频教程,如果不知道看什么好,可以直接打开最下面的链接,java300集这个视频教程也是口口相传的好作品,大家看了之后自己就能感觉到的。

6、表达式

 

7、数据类型的转换

在8大基本数据类型中,boolean不属于数值类型,所以不参与转换,其他类型的转换规则如下图。一般的,byte、short、char三种类型相互之间一般不参与转换操作,按照转换方式,有两种(注意:boolean类型不参与类型转换):

  1. 自动类型转换:范围小的数据类型直接转换成范围大的数据类型,小->大
  2. 强制类型转换:范围大的数据类型强制转换成范围小的数据类型,大->小

 

8、运算符

对常量和变量进行操作的符号称为运算符

常见的运算符分为:算术运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符

8.1、算数运算符

8.2、自增和自减
自增:++,递增操作符,使变量值增加1,有前置和后置之分,只能操作变量
自减:-- ,递减操作符,使变量值减去1,有前置和后置之分,只能操作变量
以++为例:
a++和++a结果都是让a的值自增1,如果只是需要自增的话,使用哪一种都可以
但是他们俩有唯一的区别:

  1. 前置(++a): 表示对a加1之后的结果进行运算,先加后用
  2. 后置(a++):表示对a变量加1之前的值(原始值)进行运算,先用后加
public class ArithmeticOperatorsDemo2{
    public static void main(String[] args) {
        int a1 = 5;
        int b1 = ++ a1;
        System.out.println("a1=" + a1 + ",b1=" + b1);//a1=6,b1=6
        int a2 = 5;
        int b2 = a2 ++;
        System.out.println("a2=" + a2 + ",b2=" + b2);//a2=6,b2=5
    }
}
复制代码

比较底层的解释

++a表示取a的地址,增加它的内容,然后把值放在寄存器中
a++表示取a的地址,把它的值装入寄存器,然后增加内存中的a的值

9、数组

9.1、JVM初探究

  1. 程序计数器:当前线程所执行的字节码的行号的指示器
    本地方法栈:为虚拟机使用的native方法服务
  2. 方法区:线程共享的内存区域,存储已经被虚拟机加载的类的信息、常量、静态变量,这个区域的内存回收的目标主要是针对常量池的回收和对类型的卸载
  3. Java虚拟机栈:简称栈,每个方法被执行的同时会创建一个栈帧用于存储该方法的局部变量、操作栈、动态链接、方法出口等信息
  4. Java堆:被所有线程共享的一块内存区域,在虚拟机创建的时候启动,所有对象的实例(new出来的对象)以及数组都要在堆上分配内存空间,所以堆占的内存空间远比栈大
  5. 每当调用一个方法时,创建一个栈帧,存放了当前方法的局部变量,当方法调用完毕时,该方法的栈帧就被销毁了

每次new一个对象的时候,就表示在内存中开辟了一块新的存储空间

10、方法

10.1、方法的定义

方法:为了完成某一特定功能(如:求和,统计数量等)的代码块

语法格式

修饰符] 返回值类型 方法名称(参数类型 参数名1,参数类型 参数名2,…)
{
方法体;
[return 返回值;]
}
复制代码

格式分析

  • 修饰符:public、static等,static修饰的方法直接使用类名调用即可,用static修饰的方法都属于类的
  • 返回值类型:限定返回值的类型,方法在完成一个功能后,是否需要给调用者返回一个结果?
  1. 如果需要给调用者返回结果,就写上返回数据的类型
  2. 如果不需要给调用者返回结果,就用关键字void,表示没有返回结果
  • 方法名称:用于调用方法,遵循标识符规范,首字母小写,采用驼峰命名法,见名知意

  • 形式参数:方法中圆括号中的变量,可以有多个形式参数

  • 方法体:编写如何完成该功能的代码

  • return关键字的作用

  1. 把返回值给方法的调用者
  2. 结束该方法,在return后不可以再学任何语句
  3. 当方法体中没有return时,方法的返回值类型必须为void
  • 实际参数:在调用某一个具体方法1时,实际传递的参数值

  • 如果一个需要返回值,那么一定要保证在任何条件下都必须得有返回值

注意事项

  1. 方法必须定义到类中,在java中最小的程序单元是类
  2. 一个类中可以定义多个方法
  3. 方法和方法之间是平行的,不能在一个方法中定义另一个方法(相当于不可以在一个房子里面建房子)
  4. 方法定义没有先后顺序

10.2、方法的调用
如果方法有static修饰,可以直接用方法所在的类的类名调用,如果没有static修饰,那么必须使用实例化对象来调用\

10.3、方法的重载
参数列表:参数的类型+参数的个数+参数的顺序
方法签名:方法名称+方法的参数列表
在同一个类中,方法签名是唯一的,否则编译报错
方法的重载:在同一个类中,允许某方法存在一个或者多个同名的方法,但是必须参数列表不同

10.3.1、如何是否是方法重载
方法重载判断的原则:两同一不同

两同:在同一个类中方法名相同
一不同:方法的参数列表不同(参数类型、参数个数、参数顺序),只要参数类型、参数个数、参数顺序其中有一个不同,都成为参数列表不同
方法的重载和返回值类型无关,只是一般都要求返回值类型相同

10.3.2、方法重载的作用
解决了同一功能的方法由于参数不同所造成的方法名称不同而需要重复命名的问题

好了,时间不多了,就写到这了,同学们,少壮不努力老大徒伤悲,一定要加油哦!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值