Java学习day03

选择结构

if

if(){
    
}else if(){
    
}else{
    
}
​
if(){
    if(){
        
    }
}

switch

switch(expression){
    case value:
        
        break;
    case value:
        
        break;
    default :
        
}

从JavaSE7开始表达式结果可以是字符串

循环结构

while

while(){
​
}

大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方法来结束循环

少部分情况需要循环一直执行,比如服务器的请求响应监听等

do-while

do{
    
}while();

do-while循环和while循环相似,不同的是,do-while循环至少执行一次

for

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构

for( ; ; ){
    
}

增强for循环

for(声明语句:表达式){ }

int[] numbers = {10,20,30,40,50};
for(int x:numbers){
    System.out.println(x);
}

break continue

break用于强行退出循环,不执行循环中剩余的语句(break也在switch语句中使用)

continue 用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定

Java方法

  • 方法是语句的集合,他们在一起执行一个功能

    • 方法是解决一类问题的步骤的有序组合

    • 方法包含于类或对象中

    • 方法在程序中被创建,在其他地方被引用

设计方法的原则:一个方法只完成1个功能,这样利于我们后期的扩展

方法的定义

  • 方法包含一个方法头和一个方法体

    • 修饰符:可选

    • 返回值类型:方法可能会返回值,没有返回值时returnValueType是关键字void

    • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名

    • 参数列表:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数

      • 形式参数:在方法被调用时用于接收外界输入的参数

      • 实参:调用方法时实际传给方法的数据

    • 方法体:方法体包含具体的语句,定义该方法的功能

方法的调用

调用方法:对象名.方法名(实参列表)

当方法返回一个值的时候,方法调用通常被当做一个值

当方法返回值时void,方法调用一定是一条语句

方法的重载

  • 方法名称必须相同

  • 参数列表必须不同

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

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

可变参数

在方法的声明中,在指定参数类型后加一个省略号

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明

递归

递归结构包括两个部分

  • 递归头:什么时候不调用自身方法,如果没有头,将陷入死循环

  • 递归体:什么时候需要调用自身方法

数组

  • 数组是相同类型数据的有序集合

  • 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成

  • 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们

声明数组

必须先声明数组变量

dataType[] arrayRefVar;//首选
dataType arrayRefVar[];
dataType[] arryaRefVar = new dataType[arraySize];

数组的元素是通过索引访问的,数组索引从0开始

获取数组长度:arrays.length

静态初始化

int[] a = {1,2,3};
Man[] mans = {new Man(1,1),new Man2(2,2)};

动态初始化

int[] a = new int[2];
a[0] = 1;
a[1] = 2;

数组的默认初始化

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

内存分析

堆:存放new的对象和数组;可以被所有的线程共享,不会存放别的对象引用

栈:存放基本变量类型(会包含这个基本类型的具体数值);引用对象的变量(会存放这个引用在堆里面的具体地址)

方法区:可以被所有的线程共享;包含了所有class和static变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值