Java基础语法学习 ———— Day2

一、方法

  1. 定义

    类似于其他语言的函数,是一段用来完成特定功能的代码片段。

    //定义方法
    修饰符 返回值类型 方法名(参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
    }
  2. 方法调用

    • 调用方法:对象名.方法名

    • 当方法返回一个值时:

      int large = max(30,40);
    • 当返回值时void时,方法调用一定是一条语句:

      System.out.println("");
  3. 方法重载

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

  4. 可变参数

    • 在方法声明中,在指定参数类型后加一个省略号(…)
    • 一个方法只能指定一个可变参数,它必须是方法的最后一个参数
    public class Demo05 {
    public static void main(String[] args) {
    Demo05 demo05 = new Demo05();
    //传递多个int类型参数
    demo05.max(1,4,65,75,34,24);
    }
    public void max(int...numbers){
    //numbers相当于数组
    if(numbers.length == 0){
    System.out.println("NO argument passed!");
    return;
    }
    double result = numbers[0];
    for (int i = 0; i < numbers.length; i++) {
    if(numbers[i] > result){
    result = numbers[i];
    }
    }
    System.out.println("The max value is "+ result);
    }
    }

二、数组

  1. 数组的声明与创建

    • 必须先声明数组变量才能在程序中使用数组:

      //声明数组
      dataType[] array; //常用方法
      dataType array[]; //效果相同
    • 使用new操作符来创建数组:

      //创建数组
      dataType[] array = new dataType[arraySize];
      //声明与创建数组
      dataType[] array = new dataType[arraySize];
  2. 三种初始化

    • 静态初始化

      int[] a = {1,2,3};
      Man[] mans = {new Man(1,1), new Man(2,2)};
    • 动态初始化

      int[] a = new int[2];
      a[0] = 1;
      a[1] = 2;
    • 默认初始化

  3. Arrays类

    • 数组的工具类java.util.Arrays
    • 具有以下常用功能:
      • 给数组赋值:通过fill方法
      • 对数组排序:通过sort方法
      • 比较数组:通过equals方法
      • 查找数组元素:通过binarySearch方法对已排序的数组进行二分查找
  4. 冒泡排序

    public static int[] sort(int[] arr){
    boolean flag = false;
    int temp = 0;
    //外部循环,表示循环次数
    for (int i = 0; i < arr.length - 1; i++) {
    //内部循环,比较大小转换排序
    for (int j = 0; j < arr.length - 1 - i; j++) {
    if(arr[j+1] < arr[j]){
    temp = arr[j+1];
    arr[j+1] = arr[j];
    arr[j] = temp;
    flag = true;
    }
    }
    if(!flag){
    break;
    }
    }
    return arr;
    }

三、Java内存分析

    • 存放new的对象和数组
    • 可以被所有的线程共享,不会存放别的对象引用
    • 存放基本变量类型
    • 引用对象的变量
  1. 方法区
    • 可以被所有的线程共享
    • 包含了所有的classstatic变量

Java基础语法学习 ———— Day2的更多相关文章

  1. Java基础语法学习

    Java基础语法学习 1. 注释 单行注释: //单行注释 多行注释: /*多行注释 多行注释 多行注释 多行注释 */ 2. 关键字与标识符 关键字: Java所有的组成部分都需要名字.类名.变量名 ...

  2. java 基础语法学习01

    Java基础语法 注释 初次使用idea时相关配置 new project ->Empty project->进入页面 再选择file->project structure-> ...

  3. java基础语法学习DayOne

    一.关键字 1.概述:被java语言赋予特定含义的单词 2.特点:组成关键字的字母全部为小写 二.标识符 1.概述:给类.接口.方法.变量起名字时使用的字符序列 2.规则:只能使用英文大小写字母.数字 ...

  4. Java基础语法学习知识

    基础概念 标识符1.由字母,数字,下划线,美元符组成2.首字母不能是数字3.不能是关键字和保留字4.能反映其作用 关键字1.有特定含义2.用于特定地方3.用来命名标识符 常量1.程序执行时值不变的量2 ...

  5. Java基础语法学习(1)switch...case

    switch...case的标准语法 switch(待选择的变量) { case 值1:语句1; break; case 值2:语句2: break; ....... case 值n:语句n; bre ...

  6. java 基础语法学习

    kuangstudy 注释 单行注释 多行注释 文档注释 public class HelloWorld { public static void main(String[] args) { //单行 ...

  7. JavaSE入门学习7:Java基础语法之语句(下)

    继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...

  8. JavaSE入门学习6:Java基础语法之运算符和语句(上)

    继续接着上篇:JavaSE入门学习5:Java基础语法(一)来看Java的基础语法. 五运算符 运算符是一种"功能"符号,用以通知Java进行相关的运算.比方.我们须要将变量age ...

  9. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  10. Java基础知识学习(一)

    部门接了新项目,后台使用Java框架play framework,前端是html,前后台通过rest交互,能够支持多端的互联网架构. 因为之前没有Java基础,前端使用的也很少,决定深入学习一下Jav ...

随机推荐

  1. React Native开发鸿蒙Next---RN键盘问题

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  2. 【公众号搬运】React-Native开发鸿蒙NEXT(7)-上线

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  3. 浅谈Java异常处理机制

    前言   在 Java 中,异常被当作对象来处理,所有的异常都有一个共同的祖先java.lang.Throwable类.Throwable有两个重要的子类Exception(异常) 和 Error(错 ...

  4. AI面试助手“面试精灵”发布新功能——AI笔试助手

    引言 在职场竞争日益激烈的今天,面试已成为决定职业发展的关键一步.许多专业人士虽然在专业领域拥有深厚的知识,却可能缺乏面试技巧.为了帮助这些专业人士更轻松地获得理想的工作,我们推出了革命性的AI面试助 ...

  5. QEMU安装巨大的坑

    网上教程大多数让你 sudo apt install qemu 实际上根本没用!!!! 查了一下debian官网 结果 QEMU is a fast processor emulator. Once ...

  6. 🚀 革命性AI提示词优化平台正式开源!

    革命性AI提示词优化平台正式开源! AI时代最强大的Prompt工程师已经到来! 你是否还在为写不出高质量提示词而头疼?是否羡慕那些能够驾驭AI.让ChatGPT.Claude乖乖听话的"提 ...

  7. Go mod/work/get ... Golang 提供的项目管理工具该怎么用?

    自 Go 1.11 版本引入 模块(modules) 的概念以来,Go 语言的项目管理和依赖管理方式发生了根本性的变革.这一变化旨在解决早期 GOPATH 模式带来的种种不便,让项目结构更加清晰,依赖 ...

  8. 网易游戏DB SaaS引入OceanBase:存储成本降60%,备份恢复提速3倍

    作者:田维繁,网易游戏 SaaS 服务关系型数据库运维小组负责人 首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 "老纪的技术唠嗑局",会持续更新和 #数据库.#A ...

  9. equals与==与hashCode的区别与联系

    equals与hashcode的区别与联系 1."=="与equals的区别与联系 (1)"=="对于基本数据类型,只要值相等,就返回true,否则返回fals ...

  10. js代码修改react框架的input的值-2025年6月

    需求,在1688商家工作台中的发布助手页面中,设置了模版依旧会有些输入框内容要自己填写,太麻烦了. 比如下面中的可售数量 想着自己写了个脚本方便自己填充数据. 试着尝试直接修改input标签的valu ...