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. RPC实战与核心原理之负载均衡

    负载均衡:节点负载差距这么大,为什么收到的流量还一样? 回顾 "多场景的路由选择",其核心就是"如何根据不同的场景控制选择合适的目标机器" 问题 RPC 框架有 ...

  2. C#/.NET/.NET Core技术前沿周刊 | 第 38 期(2025年5.12-5.18)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  3. 使用aqt安装Qt历史版本

    首先是安装aqt: Windows 端 pip install -U pip pip install aqtinstall Mac端(可以用pip,也可以用brew) brew install aqt ...

  4. Microsoft 赋能企业应用开发者:无缝集成AI,无需转变编程语言

    在当前的技术浪潮中,Microsoft 针对企业级应用开发领域提出了一项新的见解,打破了关于AI.机器学习(ML)与Java之间的固有神话.作为Java或.NET企业级应用的开发者,您无需转换阵地或深 ...

  5. Nginx采坑日记(后台响应ResponseEntity时,Nginx将部分数据过滤)

    执行流程: 问题描述: 后台响应ResponseEntity时,Nginx将部分数据过滤了,导致Vue提示如下图,但是实际上已经代理成功并返回数据了. 原因: 官网说明:http://nginx.or ...

  6. [书籍精读]《响应式Web设计 HTML5和CSS3实战(第二版)》精读笔记分享

    写在前面 书籍介绍:本书主要讲解了如何运用HTML5和CSS3来进行响应式Web设计,使页面的设计与开发根据用户行为以及设备环境(系统平台.屏幕尺寸.屏幕定向等)来进行相应的响应和调整. 我的简评:响 ...

  7. EasyMR6.2 全面解读:四大功能深度优化,解锁全新大数据处理和计算体验

    在刚刚过去的2024春季发布会上,袋鼠云带来了数栈产品V6.2版本的全新发布.其中,EasyMR 作为数栈V6.2中的一项关键能力,代表了袋鼠云对大数据生态的深入理解和持续创新. EasyMR(后文统 ...

  8. firefox修改headers 伪装为手机版

    世界在脚下vip 2017.12.23 16:22:32 字数 184 阅读 694 1.在浏览器地址栏输入"about:config" 2.新建字符串"general. ...

  9. 重置Visual Studio 的配置

    https://blog.csdn.net/weixin_30755709/article/details/98165428 ,从命令行进入VS 2017安装目录下面的Common7\IDE文件夹. ...

  10. linux 终端词典

    不知道为什么我的电脑是 Ubuntu 16.04 的安装有道词典就是安装不上,古董版本你的 终端词典的安装参考了其他地方的文章 owl 首先这里所说的字典是工具书类的字典,是翻译工具 其次这里的字典是 ...