JAVA学习笔记 day3 数组初始化 增强for循环

day3

1.String.equals

判断字符串是否相等,区别于“==”:

== 的作用:
 基本类型:比较值是否相等
 引用类型:比较内存地址值是否相等

equals 的作用:
 引用类型:默认情况下,比较 **内存地址值**是否相等。可以按照需求逻辑,重写对象的equals方法。


2.switch

与C语言的格式一样

switch (变量){

​ case 值1:

​ 语句1;

​ break;

​ case 值2:

​ 语句2;

​ break;

​ default:

​ 语句3;//所有的值都匹配不上,则到default语句

}

case中存在穿透现象,也就是case会从上到下依次执行,如果没有break语句跳出的话。

区别

从JDK7开始,switch支持String类型的比较。

case “陈某”:

​ 语句;

//字符的本质还是数字。

通过反编译可以知道,给出的中文字符串在class文件反编译后,是一个hashCode,通过哈希值来实现case后的值的比较。


3.循环

增强for循环:

int [] numbers={0,1,2,3,4,5};

for(int x:numbers){

System.out.println(x);

}

将numbers中的每一个数赋值给X


4. 方法

注:java都是值传递

方法的重载

在一个类中,有相同的函数名称,但形式参数不同的函数。

注:方法名必须相同

​ 参数列表必须不同

​ 方法的返回类型可以相同可以不同

​ 仅仅返回类型不同不足以成为方法的重载

实现的理论:方法名称相同时,JVM会根据调用方法的参数个数、参数类型来判断程序调用的时哪一个方法。

命令行传参

通过cmd编译时,javac 不需要退回到src目录下,执行时却需要在src目录下才能执行成功。
在这里插入图片描述

可变参数

java支持将同类型的可变参数传递给一个方法

该参数必须是方法中最后一个参数,任何参数都在它之前声明

用法:

public void addInt(int …x){

}

可以理解为有一个数组X,用来存放所有传递进去的整数。


5内存分析

在这里插入图片描述

数组的三种初始化:

静态初始化:

​ int[] a = {1,2,3};//常见的整型数组

​ Man[] mans = {new Man(),new Man()};//引用型数组

动态初始化:

​ int[] a = new int[2];

​ a[0] = 1;

数组的默认初始化:

a = {1,2,3};//常见的整型数组

​ Man[] mans = {new Man(),new Man()};//引用型数组

动态初始化:

​ int[] a = new int[2];

​ a[0] = 1;

数组的默认初始化:

​ 数组也是一种引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中每个元素也呗按照实例变量同样的方式被隐式初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值