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. C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)

    C++ 引入了四种功能不同的强制类型转换运算符以进行强制类型转换:static_cast.reinterpret_cast.const_cast和dynamic_cast,当然C++为保持与C的兼容, ...

  2. 【2020.11.30提高组模拟】柱形图(histogram) 题解翻译

    [2020.11.30提高组模拟]柱形图(histogram) 题解 题意简述 有\(n\)个长方体并排这样放着,每种颜色的长方体的宽度都为\(1\),高\(a_i\)长\(b_i\). 求在这些长方 ...

  3. Go中的数组和切片

    本文参考: https://www.liwenzhou.com/posts/Go/05_array/ https://www.liwenzhou.com/posts/Go/06_slice/ Arra ...

  4. 【译】Cloud Academy(云学院):解锁您的 Azure 技能,加速职业发展

    当我们在2025年3月为 Visual Studio 专业版和企业版用户推出云学院福利时,我们的目标很简单:为您提供所需的实践操作学习体验,让您能够自信地掌握 Azure 和云技术,且除了订阅费用外无 ...

  5. 菜鸟入门bootstrap

    1.入门 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&q ...

  6. 二、第一个微信小程序

    使用微信开发者工具创建一个新的空项目,即是一个显示自己账号的小程序. 也可以删除自动生成的冗余代码,手动写一个显示自己账号的简单小程序. 下面即是基于JavaScript模板的手工写的一个简单小程序. ...

  7. 刚刚 B站又血崩了?!我来告诉你真正原因

    B 站又双叒叕崩了,这次是真炸裂了!6 月 12 日晚 9 点左右,我还在直播呢,突然就看到弹幕都在说 B 站炸了,我立马坐不住了,光速下波,作为一名前大厂程序员,就爱吃大厂的瓜,就爱吃同行的瓜,吃瓜 ...

  8. 使用 ftrace 跟踪内核丢包问题定位的实践

    本文分享自天翼云开发者社区<使用 ftrace 跟踪内核丢包问题定位的实践>,作者:f****n 数据包的丢失可能会导致性能下降或服务中断.为了诊断内核中是否有丢包问题,我们可以使用 ft ...

  9. New ABAP Debugger Session does not close after Exit

    最近在PRD调试程序的时候,每次都是调试结束,但是调试的会话不会关闭,每次都要退出程序或者右键结束进程才行... 之前一直没想着找这个问题,今天单独看了一下...可能这就是公用账号的悲哀吧... 两个 ...

  10. AES256加密解密

    REPORT zged_aes. DATA lv_message_string TYPE string. DATA lv_message_decrypted TYPE XSTRING. " ...